forgejo/modules/lfs
wxiaoguang 5727056ea1
Make minio package support legacy MD5 checksum (#23768)
A feedback from discord:
https://discord.com/channels/322538954119184384/561007778139734027/1090185427115319386

Some storages like:

 * https://developers.cloudflare.com/r2/api/s3/api/
 * https://www.backblaze.com/b2/docs/s3_compatible_api.html

They do not support "x-amz-checksum-algorithm" header

But minio recently uses that header with CRC32C by default. So we have
to tell minio to use legacy MD5 checksum.

I guess this needs to be backported because IIRC we 1.19 and 1.20 are
using similar minio package.


The minio package code for SendContentMD5 looks like this:

<details>

<img width="755" alt="image"
src="https://user-images.githubusercontent.com/2114189/228186768-4f2f6f67-62b9-4aee-9251-5af714ad9674.png">

</details>
2023-03-28 11:10:24 -04:00
..
client.go
client_test.go
content_store.go Make minio package support legacy MD5 checksum (#23768) 2023-03-28 11:10:24 -04:00
endpoint.go escape filename when assemble URL (#22850) 2023-02-12 09:31:14 +08:00
endpoint_test.go
filesystem_client.go
http_client.go
http_client_test.go
LICENSE
pointer.go Use minio/sha256-simd for accelerated SHA256 (#23052) 2023-02-22 14:21:46 -05:00
pointer_scanner_gogit.go
pointer_scanner_nogogit.go
pointer_test.go
shared.go
transferadapter.go
transferadapter_test.go