ContainerRegistry: Remove Authorization header when redirecting on Linux#167
Merged
euanh merged 2 commits intoapple:mainfrom Nov 21, 2025
Merged
ContainerRegistry: Remove Authorization header when redirecting on Linux#167euanh merged 2 commits intoapple:mainfrom
euanh merged 2 commits intoapple:mainfrom
Conversation
bab6f37 to
8fb1232
Compare
Motivation ---------- It looks like building images with containertool on Linux fails downloading the base image `swift:slim` from dockerhub. Modifications ------------- Update end to end and integration workflows to test both `scratch` and `swift:slim` base images. Result ------ End-to-End Tests will now fail in release configuration. Test Plan --------- Other tests are not affected by this.
8e0633c to
dd93dd7
Compare
Docker Hub now redirects pulls for swift:slim to an S3 bucked behind CloudFlare. URLSession on macOS follows the redirect correctly, but URLSession on Linux incorrectly includes an Authorization header which S3 rejects. This commit adds a URLSession delegate which removes the Authorization header when following a redirect.
dd93dd7 to
c06f14b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
In #164, @herzi reported a problem building container images based on
swift:slimon Linux. The root cause of the problem is that Docker Hub now redirects pulls forswift:slimto an S3 bucked behind CloudFlare. URLSession on macOS follows the redirect correctly, but URLSession on Linux incorrectly includes anAuthorizationheader which S3 rejects.Modifications
Add a URLSession delegate which removes the
Authorizationheader when following a redirect.Result
Pulling
swift:slimfrom Docker Hub works again.Fixes: #166
Test Plan
scratchandswift:slimBase Images #164 extended the end-to-end tests to useswift:slimas well asscratch, demonstrating the problem. The extended tests now pass.