mirror of
https://github.com/rustfs/rustfs.git
synced 2026-03-17 14:24:08 +00:00
fix
This commit is contained in:
@@ -168,14 +168,11 @@ async fn prepare_sse_configuration(
|
||||
}
|
||||
|
||||
// Get bucket default encryption configuration.
|
||||
// Only buckets with explicit SSE config return Ok; unconfigured buckets return ConfigNotFound.
|
||||
let bucket_sse_config_result = metadata_sys::get_sse_config(bucket).await;
|
||||
debug!("bucket_sse_config_result={:?}", bucket_sse_config_result);
|
||||
|
||||
if let Ok((bucket_sse_config, _timestamp)) = bucket_sse_config_result {
|
||||
// Use request SSE, or bucket's apply_server_side_encryption_by_default. Do NOT default to
|
||||
// AES256 when neither is set (avoids forcing encryption for buckets without default SSE).
|
||||
let effective_sse_opt = server_side_encryption.clone().or_else(|| {
|
||||
let effective_sse = server_side_encryption.clone().or_else(|| {
|
||||
bucket_sse_config.rules.first().and_then(|rule| {
|
||||
debug!("Processing SSE rule: {:?}", rule);
|
||||
rule.apply_server_side_encryption_by_default.as_ref().map(|sse| {
|
||||
@@ -188,11 +185,10 @@ async fn prepare_sse_configuration(
|
||||
})
|
||||
})
|
||||
});
|
||||
|
||||
let Some(effective_sse) = effective_sse_opt else {
|
||||
debug!("no request SSE and no bucket default SSE; skip encryption");
|
||||
if effective_sse.is_none() {
|
||||
return Ok(None);
|
||||
};
|
||||
}
|
||||
|
||||
debug!("effective_sse={:?} (original={:?})", effective_sse, server_side_encryption);
|
||||
|
||||
let effective_kms_key_id = ssekms_key_id.or_else(|| {
|
||||
@@ -204,7 +200,7 @@ async fn prepare_sse_configuration(
|
||||
});
|
||||
|
||||
Ok(Some(SseConfiguration {
|
||||
effective_sse,
|
||||
effective_sse: effective_sse.unwrap(),
|
||||
effective_kms_key_id,
|
||||
}))
|
||||
} else if let Err(e) = bucket_sse_config_result {
|
||||
|
||||
Reference in New Issue
Block a user