Skip to content

Add support for sha512, xxhash algorithms, and MD5 for httpchecksums#3637

Open
SamRemis wants to merge 5 commits intoboto:developfrom
SamRemis:more-checksums
Open

Add support for sha512, xxhash algorithms, and MD5 for httpchecksums#3637
SamRemis wants to merge 5 commits intoboto:developfrom
SamRemis:more-checksums

Conversation

@SamRemis
Copy link
Contributor

@SamRemis SamRemis commented Feb 19, 2026

Description of changes:
This PR updates the flexible checksums feature to add support for SHA512, XXHASH64, XXHASH3, XXHASH128 as well as add support for passing MD5 through as a checksum to services where it is supported when pre-calculated by the user.

Included are some small refactorings such as updating some unit tests to use pytest.mark.parametrize to reduce code duplication as well as updating the private has_checksum_header function to use a new get_checksum_header and which returns a list of algorithms found in the checksum header.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@codecov-commenter
Copy link

codecov-commenter commented Feb 19, 2026

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

❌ Patch coverage is 75.92593% with 13 lines in your changes missing coverage. Please review.
✅ Project coverage is 92.62%. Comparing base (b0a4fbe) to head (f0d3290).
⚠️ Report is 311 commits behind head on develop.

Files with missing lines Patch % Lines
botocore/httpchecksum.py 71.73% 13 Missing ⚠️
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #3637      +/-   ##
===========================================
- Coverage    92.71%   92.62%   -0.10%     
===========================================
  Files           68       68              
  Lines        15561    15629      +68     
===========================================
+ Hits         14428    14476      +48     
- Misses        1133     1153      +20     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Contributor

@jonathan343 jonathan343 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Sam!

I think these changes look pretty good! I don't have much feedback other than improving the changelog entry description. Happy to approve when that's updated.

One question I do have is: Can you can remind me why we're not switching to the CRT implementation of SHA512 when installed in the customers environment?

Co-authored-by: jonathan343 <43360731+jonathan343@users.noreply.github.com>
@SamRemis
Copy link
Contributor Author

Thanks Sam!

I think these changes look pretty good! I don't have much feedback other than improving the changelog entry description. Happy to approve when that's updated.

One question I do have is: Can you can remind me why we're not switching to the CRT implementation of SHA512 when installed in the customers environment?

https://github.com/awslabs/aws-crt-python/blob/d6ed76b4ed79ab694f852cdecec197690c861674/awscrt/checksums.py

As far as I know, it's not currently supported. I'll double check with the CRT team to make sure I'm not missing something prior to merging this PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Comments