-
Notifications
You must be signed in to change notification settings - Fork 249
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
put_snapshot_block
consistently fails with InvalidSignatureException
#930
Comments
Seems like a regression. We'll take a look ASAP |
Looks like this regressed between |
Thanks @rcoh for the very rapid turnaround! |
this missed the train for 0.57.1 but will go out in 0.57.2 |
Cool, thanks for the update. Any sense of when 0.57.2 would be going out? I'm not familiar w/ the typical SDK release cadence... |
should go out early next week |
|
Describe the bug
The
put_snapshot_block
function inaws-sdk-ebs
seems to be completely broken in version 0.34.0 (and possibly other version; only tried 0.34 and 0.33).The function call always fails with error
InvalidSignatureException
, although I'm sure it's not an issue w/ my AWS credential config or with the computation of the checksum for the block data.Expected Behavior
When calling
put_snapshot_block
with a valid 512KiB block and corresponding SHA256 checksum, I expect the call to succeed.Current Behavior
The function call always fails with an error:
Reproduction Steps
I discovered this when writing my own test project to explore EBS direct using the AWS SDK for Rust, but actually the SDK's own example code appears to fail the same way.
This code:
aws-sdk-rust/examples/examples/ebs/src/bin/create-snapshot.rs
Lines 57 to 66 in 464d782
always fails for me.
From the
examples/examples/ebs
directory in theaws-sdk-rust
repo I run this command:The resulting output is:
Note that I'm sure the error is on the
put_snapshot_block
call, not the earliercreate_snapshot
call. I know this because I modified the code toprintln
right before theput_snapshot_block
call, and also because I can see in the AWS console that a Pending snapshot has been created:So my credentials themselves are configured correctly. I've tried both my usual SSO-based authentication, as well as creating an IAM user with static credentials; both fail the same way.
Possible Solution
I assume that what makes
put_snapshot_block
unusual is that the block payload is not supposed to be signed with the rest of the request, because the caller must provide a checksum explicitly. Perhaps there's a bug in the generated client code that is including the block data in the signature? Otherwise I have no idea.Additional Information/Context
I modified my code to use the Rusoto Rust bindings instead, and it works correctly. So it's definitely not environmental, it's specific to the AWS SDK implementation somehow.
Version
Environment details (OS name and version, etc.)
Fedora Linux 37
Logs
The text was updated successfully, but these errors were encountered: