-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AWSAuthV4Signer::PayloadSigningPolicy::Never not work #3297
Comments
it is by design and it relates to the change for default integrity in S3 #3253 before this change "Payload Signing Policy" essentially meant
so so to summarize this sign body variable only had a effect if you used checksums which is currently only the s3 client. the updated logic will always chunk encode requests that support it unless a pre-calculated checksum is provided.
in essence So you are right in that that variable has no effect, we can update the doc on it so notify that it has no effect anymore, but how is it impacting you and how is the current behavior different from what you want? |
@sbiscigl thank you! |
yes you are right and that was a issue in the original implementation where it was made http clients responsibility to handle chunked. we should only be giving http request stream of bytes, and well thats it, just a stream of bytes. let me change this issue to a feature request and hopefully we can make that adjustment sooner than later
In the prior version your entire body was checksummed with MD5 in the header by default so this code path was never executed. This entire code path in the prior version was gated off by MD5 being turned on by default. If in the older version you were to set a CRC32 checksum algorithm on the request i.e. auto put_object_request = PutObjectRequest().WithBucket("bucket_name")
.WithKey("key")
.WithChecksumAlgorithm(ChecksumAlgorithm::CRC32); you would see the same issue i would think. so for now i would recommend either explicitly setting a checksum, thus settings the objects header, or using one of the ways we document on how to enable "prior" behavior. |
@sbiscigl thank you very much! |
Describe the bug
from the code
aws-sdk-cpp/src/aws-cpp-sdk-core/source/client/AWSClient.cpp
Line 561 in 8209a3e
I see the AWSAuthV4Signer::PayloadSigningPolicy::Never won't work any more, so is this a bug? or by designed?
And even in AWSAuthV4Signer
aws-sdk-cpp/src/aws-cpp-sdk-core/source/auth/signer/AWSAuthV4Signer.cpp
Line 219 in 8209a3e
i see singBody has no effect
so how does AWSAuthV4Signer::PayloadSigningPolicy::Never work?
Regression Issue
Expected Behavior
No signBody
Current Behavior
signBody
Reproduction Steps
Any PutObject
Possible Solution
No response
Additional Information/Context
No response
AWS CPP SDK version used
main
Compiler and Version used
gcc 11.4.0
Operating System and version
ubuntu
The text was updated successfully, but these errors were encountered: