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>
This commit is contained in:
		| @@ -72,12 +72,21 @@ var CmdMigrateStorage = cli.Command{ | ||||
| 		cli.StringFlag{ | ||||
| 			Name:  "minio-base-path", | ||||
| 			Value: "", | ||||
| 			Usage: "Minio storage basepath on the bucket", | ||||
| 			Usage: "Minio storage base path on the bucket", | ||||
| 		}, | ||||
| 		cli.BoolFlag{ | ||||
| 			Name:  "minio-use-ssl", | ||||
| 			Usage: "Enable SSL for minio", | ||||
| 		}, | ||||
| 		cli.BoolFlag{ | ||||
| 			Name:  "minio-insecure-skip-verify", | ||||
| 			Usage: "Skip SSL verification", | ||||
| 		}, | ||||
| 		cli.StringFlag{ | ||||
| 			Name:  "minio-checksum-algorithm", | ||||
| 			Value: "", | ||||
| 			Usage: "Minio checksum algorithm (default/md5)", | ||||
| 		}, | ||||
| 	}, | ||||
| } | ||||
|  | ||||
| @@ -168,13 +177,15 @@ func runMigrateStorage(ctx *cli.Context) error { | ||||
| 		dstStorage, err = storage.NewMinioStorage( | ||||
| 			stdCtx, | ||||
| 			storage.MinioStorageConfig{ | ||||
| 				Endpoint:        ctx.String("minio-endpoint"), | ||||
| 				AccessKeyID:     ctx.String("minio-access-key-id"), | ||||
| 				SecretAccessKey: ctx.String("minio-secret-access-key"), | ||||
| 				Bucket:          ctx.String("minio-bucket"), | ||||
| 				Location:        ctx.String("minio-location"), | ||||
| 				BasePath:        ctx.String("minio-base-path"), | ||||
| 				UseSSL:          ctx.Bool("minio-use-ssl"), | ||||
| 				Endpoint:           ctx.String("minio-endpoint"), | ||||
| 				AccessKeyID:        ctx.String("minio-access-key-id"), | ||||
| 				SecretAccessKey:    ctx.String("minio-secret-access-key"), | ||||
| 				Bucket:             ctx.String("minio-bucket"), | ||||
| 				Location:           ctx.String("minio-location"), | ||||
| 				BasePath:           ctx.String("minio-base-path"), | ||||
| 				UseSSL:             ctx.Bool("minio-use-ssl"), | ||||
| 				InsecureSkipVerify: ctx.Bool("minio-insecure-skip-verify"), | ||||
| 				ChecksumAlgorithm:  ctx.String("minio-checksum-algorithm"), | ||||
| 			}) | ||||
| 	default: | ||||
| 		return fmt.Errorf("unsupported storage type: %s", ctx.String("storage")) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 GitHub
						GitHub