Skip to content

HDDS-15590. Fix MINT presigned PUT failure when request includes unsigned x-amz-acl header#10539

Open
Gargi-jais11 wants to merge 1 commit into
apache:masterfrom
Gargi-jais11:HDDS-15590
Open

HDDS-15590. Fix MINT presigned PUT failure when request includes unsigned x-amz-acl header#10539
Gargi-jais11 wants to merge 1 commit into
apache:masterfrom
Gargi-jais11:HDDS-15590

Conversation

@Gargi-jais11

Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

MINT aws-sdk-ruby presignedPut fails because the test sends an unsigned x-amz-acl header on a presigned PUT URL. Ozone currently rejects this in StringToSignProducer#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.

@Gargi-jais11 Gargi-jais11 marked this pull request as ready for review June 18, 2026 08:58

@ivandika3 ivandika3 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

image

@hevinhsu Could you help take a look as well?

@hevinhsu

hevinhsu commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

Thanks @Gargi-jais11 for the fix.

I'll review the code as soon as possible.

Based on my earlier investigation
(#9294 (comment)), I couldn't find any AWS documentation suggesting that x-amz-acl should be treated as an exception during presigned URL validation.

MinIO appears to only validate x-amz-meta-* headers, which may explain why the request passes validation there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants