Skip to content

fix: preserve raw URI path for SigV4#11

Closed
overtrue wants to merge 1 commit intomainfrom
codex/fix-raw-uri-signature
Closed

fix: preserve raw URI path for SigV4#11
overtrue wants to merge 1 commit intomainfrom
codex/fix-raw-uri-signature

Conversation

@overtrue
Copy link
Copy Markdown

Summary

  • Use the raw request URI path when building SigV4 canonical requests for header and presigned authentication.
  • Keep decoded URI handling for S3 path parsing so bucket and object extraction behavior stays unchanged.
  • Add regression coverage for signed requests whose raw URI path contains a trailing equals sign.

Related Issue

Verification

  • cargo test -p s3s v4_header_auth_uses_raw_uri_path_for_canonical_request -- --nocapture
  • cargo test -p s3s sig_v4::methods --lib
  • cargo test -p s3s ops::signature --lib
  • cargo fmt --all --check

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f4430b6cad

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +256 to +258
#[cfg(test)]
#[must_use]
pub fn create_canonical_request(
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Keep public canonical-request helpers in non-test builds

Adding #[cfg(test)] to this pub helper removes it from normal library builds, which is a breaking API change for any downstream code importing s3s::sig_v4::create_canonical_request (and similarly create_presigned_canonical_request). Because sig_v4 re-exports methods::*, callers that compiled before this commit will now fail with unresolved symbols outside tests.

Useful? React with 👍 / 👎.

@overtrue
Copy link
Copy Markdown
Author

Superseded by upstream PR s3s-project#570.

@overtrue overtrue closed this Apr 18, 2026
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.

1 participant