Skip to content
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

Implements object integrity checksums #1016

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

niksis02
Copy link
Contributor

@niksis02 niksis02 commented Jan 7, 2025

Fixes #928

Implements object integrity checksums in POSIX.

The following checksum algorithms are supported (similar to AWS):

  1. CRC32
  2. CRC32C
  3. SHA1
  4. SHA256

The checksums are Base64-encoded.

  • Checksums are calculated during object uploads (PutObject, UploadPart).
  • A checksum reader is layered on top of the existing readers.
  • When an object is copied (CopyObject), the checksum is recalculated if a different checksum type is specified.

Constraints:

  • Multiple checksum types are not allowed for a single object.
  • It is not permitted to upload an object (PutObject) or its parts with differing checksum types.

Checksum data is stored as extended attributes (xattr) in JSON format, including the checksum algorithm and its corresponding values.

…checkSdkApiErr' for 3 integration tests due to the aws sdk issue. Merged the main branch and resolved the merge conflicts
@versity-github
Copy link
Collaborator

This won't automatically run in continuous integration without approval. A member of the Versity organization must allow it.

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.

[Bug] - GetObjectAttributes doesn't return checksum when Checksum is requested
2 participants