Skip to content

put_bucket_cors fails with boto3 >= 1.36 due to unsupported checksum algorithms (CRC32) #5784

Description

@claudiu-muresan-pfa

When using boto3 v1.36 or newer, the default checksum algorithm used for the put_bucket_cors request has changed. Boto3 no longer relies solely on the standard Content-MD5 header by default . Instead, it defaults to using alternative checksum algorithms like CRC32 (using headers such as x-amz-checksum-crc32 and x-amz-sdk-checksum-algorithm).

Currently, CloudServer strictly validates requests against the MD5 checksum provided via Content-MD5 header and rejects requests using these newer algorithms. As a result, any boto3 client using version >= 1.36 fails the PutBucketCors call against CloudServer with an error similar to:

<ClientError>
  <Code>BadDigest</Code>
  <Message>The Content-MD5 you specified did not match what we received.</Message>
</ClientError>

Is there a plan to support other checksum algorithms besides MD5 in CloudServer?
If not this will be painful as we can't upgrade anymore the boto client to latest versions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions