You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Send the authorization parameters of s3_additional_kwargs with every filesystem request #1372
Part of #1342 (item 1, and the copy/mv input in this comment). Completes what remains of #1333.
Decision
Every request of the filesystem sends the authorization parameters of s3_additional_kwargs: RequestPayer, ExpectedBucketOwner, and SSECustomer*. Listings are included. Each operation receives only the parameters it accepts. The other parameters (SSE for writes, ContentType, ...) keep reaching only open, pipe_file, and put_file.
Filesystem-wide parameters:s3_additional_kwargs reaches open, pipe_file and put_file only. It does not reach touch (s3.py:1489), cat_file (s3.py:2030), cp_file/copy/mv, setxattr, rm_file/rm, info, or the listings, sync or aio. So cat(p) fails on a requester-pays or SSE-C object where open(p).read() works.
copy/mv expansion:copy("s3://b/a", "s3://b/c", RequestPayer="requester") sends HeadObject(a), HeadObject(c) and ListObjectsV2(c/) without RequestPayer, sync and aio. With the authorization names on the filesystem, the expansion and pairing requests carry them too. Per-call listing parameters stay out of scope; the reasons are in the linked comment.
rm_file: drops per-call RequestPayer/ExpectedBucketOwner (s3.py:1136), which rm forwards.
mkdir: reads only acl and region_name; ObjectLockEnabledForBucket and ExpectedBucketOwner are dropped (s3.py:1384).
touch(Body=b"x"): writes the data although touch creates an empty object.
Rejecting Body in touch is breaking (release note). Sending the authorization names to more requests changes requests, not results, except where they previously failed.
Activity
Let a call's ServerSideEncryption replace the filesystem's SSE-C key (G…
Revert "Let a call's ServerSideEncryption replace the filesystem's SS…
Address the independent review of the authorization parameters (GH-1372)