fix: fixes checksum header and algorithm mismatch error

Fixes #1598

`PutObject` and `UploadPart` accept x-amz-checksum-* calculated checksum headers and `x-amz-sdk-checksum-algorithm`. If the checksum algorithm specified in sdk algorithm doesn't match the one in x-amz-checksum-*, it now returns the correct error message: `Value for x-amz-sdk-checksum-algorithm header is invalid.`.
This commit is contained in:
niksis02
2025-10-27 20:58:37 +04:00
committed by Ben McClelland
parent 559d636846
commit 8c3e49d0bb
3 changed files with 32 additions and 6 deletions

View File

@@ -386,6 +386,7 @@ func TestUploadPart(ts *TestState) {
if !ts.conf.azureTests {
ts.Run(UploadPart_multiple_checksum_headers)
ts.Run(UploadPart_invalid_checksum_header)
ts.Run(UploadPart_checksum_header_and_algo_mismatch)
ts.Run(UploadPart_checksum_algorithm_mistmatch_on_initialization)
ts.Run(UploadPart_checksum_algorithm_mistmatch_on_initialization_with_value)
ts.Run(UploadPart_incorrect_checksums)
@@ -1313,6 +1314,7 @@ func GetIntTests() IntTests {
"UploadPart_non_existing_mp_upload": UploadPart_non_existing_mp_upload,
"UploadPart_multiple_checksum_headers": UploadPart_multiple_checksum_headers,
"UploadPart_invalid_checksum_header": UploadPart_invalid_checksum_header,
"UploadPart_checksum_header_and_algo_mismatch": UploadPart_checksum_header_and_algo_mismatch,
"UploadPart_checksum_algorithm_mistmatch_on_initialization": UploadPart_checksum_algorithm_mistmatch_on_initialization,
"UploadPart_checksum_algorithm_mistmatch_on_initialization_with_value": UploadPart_checksum_algorithm_mistmatch_on_initialization_with_value,
"UploadPart_incorrect_checksums": UploadPart_incorrect_checksums,