Skip to content

fix(libstore/filetransfer): skip Accept-Encoding header for S3 SigV4 requests#15048

Merged
edolstra merged 1 commit into
NixOS:masterfrom
lovesegfault:fix-15019
Jan 22, 2026
Merged

fix(libstore/filetransfer): skip Accept-Encoding header for S3 SigV4 requests#15048
edolstra merged 1 commit into
NixOS:masterfrom
lovesegfault:fix-15019

Conversation

@lovesegfault
Copy link
Copy Markdown
Member

Motivation

Some S3-compatible services (like GCS) modify the Accept-Encoding header
in transit, which breaks AWS SigV4 signature verification since curl's
implementation signs all headers including Accept-Encoding.

Context

Fixes: #15019


Add 👍 to pull requests you find important.

The Nix maintainer team uses a GitHub project board to schedule and track reviews.

…requests

Some S3-compatible services (like GCS) modify the Accept-Encoding header
in transit, which breaks AWS SigV4 signature verification since curl's
implementation signs all headers including Accept-Encoding.

Fixes: NixOS#15019
@edolstra edolstra added the backport 2.33-maintenance Automatically creates a PR against the branch label Jan 22, 2026
@edolstra edolstra added this pull request to the merge queue Jan 22, 2026
Merged via the queue into NixOS:master with commit 857a205 Jan 22, 2026
15 checks passed
@internal-nix-ci
Copy link
Copy Markdown

Backport failed for 2.33-maintenance, because it was unable to cherry-pick the commit(s).

Please cherry-pick the changes locally and resolve any conflicts.

git fetch origin 2.33-maintenance
git worktree add -d .worktree/backport-15048-to-2.33-maintenance origin/2.33-maintenance
cd .worktree/backport-15048-to-2.33-maintenance
git switch --create backport-15048-to-2.33-maintenance
git cherry-pick -x fcfa1dc8ab37a5a5ca987a52f964c2e6cb565028

@lovesegfault lovesegfault deleted the fix-15019 branch January 26, 2026 17:13
philiptaron added a commit to philiptaron/nixpkgs that referenced this pull request Feb 7, 2026
## Bug fixes

- Fix destruction of DerivationBuilder implementations (NixOS/nix#15072)
- Don't report cancelled goals as failures (NixOS/nix#14972)
- Fix `linux` build on fresh `glibc` and `gcc` (NixOS/nix#15011)

## S3 binary cache improvements

- Add AWS SSO support for S3 authentication (NixOS/nix#14645)
- Respect `AWS_PROFILE` environment variable (NixOS/nix#14645)
- Add STS support for default profile (NixOS/nix#14645)
- Skip `Accept-Encoding` header for S3 SigV4 requests (NixOS/nix#15048)
- Restart source before upload retries (NixOS/nix#15047)
- Route AWS CRT logs through Nix logger (NixOS/nix#15059)

The glibc 2.42 build fix patch is dropped as it is now included upstream.

https://github.com/NixOS/nix/releases/tag/2.33.2
brittonr pushed a commit to brittonr/nix that referenced this pull request Apr 1, 2026
fix(libstore/filetransfer): skip Accept-Encoding header for S3 SigV4 requests
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport 2.33-maintenance Automatically creates a PR against the branch documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

nix 2.33.x regression: 403 when connecting to private binary cache (GCS via s3 compatibility)

2 participants