houseme
f3a7a4b0da
chore(deps): localize workspace dependency features ( #4888 )
...
Move workspace-level dependency feature lists into the member crates that consume each dependency while keeping required default-features flags at the workspace root.
Also refresh starshard to 2.2.2 via cargo update and cargo upgrade --exclude ratelimit.
Co-authored-by: heihutu <heihutu@gmail.com >
2026-07-16 03:55:27 +00:00
Zhengchao An
7b20554056
fix(credentials): fail closed when deriving RPC secret from default credentials ( #4402 )
...
The internode RPC HMAC secret is derived from the S3 credential pair via
`derive_rpc_secret` when `RUSTFS_RPC_SECRET` is unset. The derivation uses the
secret key as the HMAC key, so when the default secret key (`rustfsadmin`) is in
effect the derived RPC secret is a fixed, publicly computable value. Any network
peer can then forge valid `x-rustfs-signature` headers and invoke internode RPC
routes (e.g. `read_file_stream`), bypassing S3 IAM entirely.
`normalize_rpc_secret` already rejected the literal default when it was supplied
directly, but `resolve_rpc_secret` still derived a secret from the default
credential pair. Make the derivation path fail closed: refuse to derive while
the default secret key is in effect, forcing operators to set `RUSTFS_RPC_SECRET`
(or a non-default `RUSTFS_SECRET_KEY`). A default access key paired with a
non-default secret key remains safe and is still allowed.
Addresses GHSA-68cw-96m3-h2cf (incomplete-fix follow-up to CVE-2026-45039).
2026-07-08 09:31:25 +08:00
houseme
76124423a4
fix: stabilize s3-tests delete key-limit coverage ( #4283 )
...
* fix: tighten list handling and s3 test support
* chore: tidy imports and metric updates
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
Signed-off-by: Zhengchao An <anzhengchao@gmail.com >
* fix: address s3tests review follow-ups
---------
Signed-off-by: Zhengchao An <anzhengchao@gmail.com >
Co-authored-by: Zhengchao An <anzhengchao@gmail.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-07-05 20:35:32 +08:00
Zhengchao An
4567f6f521
refactor(runtime): guard rpc secret global ( #4043 )
2026-06-29 14:02:03 +08:00
houseme
e42c6df0e8
fix(runtime): remove high-impact unwrap paths ( #3755 )
...
* fix(runtime): remove high-impact unwrap paths
* fix(runtime): propagate managed SSE metadata errors
* fix(runtime): add typed OPA config errors
* fix(runtime): harden config and credential helpers
* fix(runtime): remove SSE hmac unwraps
* fix(runtime): complete SSE helper error propagation
* fix(trusted-proxies): avoid legacy global init panics
* test(credentials): allow deprecated rpc token check
* fix(storage): harden object lock retention parsing
* chore(checks): refresh layer dependency baseline
* chore(checks): refresh layer dependency baseline
* Update layer-dependency-baseline.txt
Signed-off-by: houseme <housemecn@gmail.com >
* test(context): avoid clone on copy boot time
---------
Signed-off-by: houseme <housemecn@gmail.com >
Co-authored-by: Zhengchao An <anzhengchao@gmail.com >
Co-authored-by: heihutu <heihutu@gmail.com >
2026-06-23 15:12:47 +08:00
houseme
3d2449872a
refactor(credentials): derive RPC secret fallback and remove IAM keygen duplication ( #3079 )
...
* refactor(credentials): derive rpc secret and remove iam keygen
* fix(credentials): reject default access key RPC secret
* test(credentials): align RPC fallback and add keygen coverage
2026-05-25 11:05:58 +00:00
Henry Guo
7692c0c3bd
test(credentials): avoid printing default secret ( #2820 )
...
Signed-off-by: houseme <housemecn@gmail.com >
Co-authored-by: houseme <housemecn@gmail.com >
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: loverustfs <hello@rustfs.com >
Co-authored-by: 安正超 <anzhengchao@gmail.com >
2026-05-06 05:19:42 +00:00
安正超
36b3d21c44
test: cover RPC secret trimming fallback ( #2796 )
...
Signed-off-by: 安正超 <anzhengchao@gmail.com >
Co-authored-by: houseme <housemecn@gmail.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-05-05 04:26:36 +00:00
安正超
66c38b629d
Harden admin and RPC security checks ( #2773 )
...
Signed-off-by: 安正超 <anzhengchao@gmail.com >
Co-authored-by: loverustfs <hello@rustfs.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-05-03 11:55:09 +00:00
Tunglies
579b124726
lint: clippy rules or_fun_call ( #2561 )
...
Co-authored-by: houseme <housemecn@gmail.com >
2026-04-16 02:48:39 +00:00
Tunglies
49366ee200
chore(lint): clippy rules redundant_clone ( #2554 )
2026-04-15 13:54:07 +00:00
安正超
5048ff8c69
test(credentials): cover URL-safe secret keys ( #2524 )
2026-04-14 13:57:23 +08:00
Cocoon-Break
505a566c7c
fix: remove dead replace() call in gen_secret_key (credentials.rs) ( #2515 )
...
Signed-off-by: cocoon <54054995+kuishou68@users.noreply.github.com >
Signed-off-by: Cocoon-Break <54054995+kuishou68@users.noreply.github.com >
Co-authored-by: loverustfs <hello@rustfs.com >
Co-authored-by: houseme <housemecn@gmail.com >
2026-04-13 18:42:50 +08:00
weisd
b9b7d86ae4
feat: improve legacy metadata and admin compatibility ( #2202 )
2026-03-18 21:05:09 +08:00
安正超
e1f24f764d
fix(credentials): harden masked debug output ( #2114 )
...
Signed-off-by: heihutu <30542132+heihutu@users.noreply.github.com >
Co-authored-by: houseme <housemecn@gmail.com >
Co-authored-by: heihutu <30542132+heihutu@users.noreply.github.com >
2026-03-11 15:40:37 +08:00
houseme
0b870d6301
build(deps): bump the dependencies group with 19 updates ( #1745 )
2026-02-07 12:22:14 +08:00
houseme
2108c4ad28
fix: remove plaintext credential logging ( #1619 )
2026-01-27 01:47:39 +08:00
houseme
40ad2a6ea9
Remove unused crates ( #1394 )
2026-01-05 23:18:08 +08:00
houseme
eb33e82b56
fix: Prevent panic in GetMetrics gRPC handler on invalid input ( #1291 )
...
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
2025-12-29 03:10:23 +08:00