HDDS-15590. Fix MINT presigned PUT failure when request includes unsigned x-amz-acl header#10539
HDDS-15590. Fix MINT presigned PUT failure when request includes unsigned x-amz-acl header#10539Gargi-jais11 wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Thanks @Gargi-jais11 for this fix. Could you help to check the rule for excluding the signed headers from AWS S3 docs? I researched a bit, but could not find it. The AWS documentation link in the code seems obsolete. Seems x-amz-content-sha256 is special, but I can't find any docs for x-amz-acl. See https://docs.aws.amazon.com/AmazonS3/latest/developerguide/sigv4-auth-using-authorization-header.html
@hevinhsu Could you help take a look as well?
|
Thanks @Gargi-jais11 for the fix. I'll review the code as soon as possible. Based on my earlier investigation MinIO appears to only validate |
What changes were proposed in this pull request?
MINT
aws-sdk-ruby presignedPutfails because the test sends an unsignedx-amz-aclheader on a presigned PUT URL. Ozone currently rejects this inStringToSignProducer#validateCanonicalHeaders(). Presigned PUT is implemented.Fix: by allowing unsigned x-amz-acl.
Test failure link : https://ozone.s3.peterxcli.dev/?run=2026-06-16T07-50-35Z&caseSuite=mint&test=presignedPut%28bucket_name%2Cfile_name%29#latest-run-section
mint actual test case
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-15590
How was this patch tested?
Added unit test.