Skip to content

Fix/non presigned unsigned payload#19

Merged
dacut merged 6 commits intomainfrom
fix/non-presigned-unsigned-payload
Feb 21, 2026
Merged

Fix/non presigned unsigned payload#19
dacut merged 6 commits intomainfrom
fix/non-presigned-unsigned-payload

Conversation

@dacut
Copy link
Copy Markdown
Owner

@dacut dacut commented Feb 21, 2026

Supersedes #16

This adds a unit test to validate the changes here and fixes some Git weirdness with a rebase on main.

Thanks to @FrancisRussell for this contribution!

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR corrects SigV4 canonicalization for unsigned payload handling on non-presigned requests by checking the x-amz-content-sha256 header (rather than query parameters), and adds coverage around presigned URL behavior. It also removes an unused constant and ensures CI runs on pull requests.

Changes:

  • Fix unsigned-payload detection for non-presigned requests to read x-amz-content-sha256 from headers.
  • Add presigned URL validation tests.
  • Remove the unused X-Amz-Content-Sha256 query-parameter constant and run CI on pull_request events.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
src/canonical.rs Switches unsigned payload detection to header-based logic; adds a presigned URL canonicalization test.
src/signature.rs Adds an integration-style test validating a presigned URL request where the body is ignored.
src/constants.rs Removes the unused query-parameter constant for payload SHA.
.github/workflows/rust.yml Triggers Rust CI on pull requests in addition to pushes.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/canonical.rs
@dacut dacut merged commit 24c9ee1 into main Feb 21, 2026
6 checks passed
@dacut dacut deleted the fix/non-presigned-unsigned-payload branch February 21, 2026 22:24
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