forgejo/cmd
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
..
admin.go
admin_auth_ldap.go
admin_auth_ldap_test.go
admin_user.go
admin_user_change_password.go
admin_user_create.go
admin_user_delete.go
admin_user_generate_access_token.go
admin_user_list.go
admin_user_must_change_password.go
cert.go
cmd.go
convert.go
docs.go
doctor.go
dump.go
dump_repo.go
embedded.go
embedded_stub.go
generate.go
hook.go
hook_test.go
keys.go
mailer.go
main_test.go
manager.go
manager_logging.go
migrate.go
migrate_storage.go
migrate_storage_test.go
restore_repo.go
serv.go
web.go
web_acme.go
web_graceful.go
web_https.go