forgejo/modules/storage
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
..
helper.go add path prefix to ObjectStorage.Iterator (#23332) 2023-03-13 18:23:51 +08:00
helper_test.go add path prefix to ObjectStorage.Iterator (#23332) 2023-03-13 18:23:51 +08:00
local.go Introduce path Clean/Join helper functions (#23495) 2023-03-21 16:02:49 -04:00
local_test.go Introduce path Clean/Join helper functions (#23495) 2023-03-21 16:02:49 -04:00
minio.go Make minio package support legacy MD5 checksum (#23768) 2023-03-28 11:10:24 -04:00
storage.go add path prefix to ObjectStorage.Iterator (#23332) 2023-03-13 18:23:51 +08:00