From c3a5146422960f59ae326829cd0182f4d558721a Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Fri, 15 Jun 2018 14:21:17 -0700 Subject: [PATCH] Presign content-sha256 should look for query and header (#6046) --- cmd/signature-v4-utils.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cmd/signature-v4-utils.go b/cmd/signature-v4-utils.go index 136271313..47675c6d2 100644 --- a/cmd/signature-v4-utils.go +++ b/cmd/signature-v4-utils.go @@ -39,6 +39,9 @@ func skipContentSha256Cksum(r *http.Request) bool { if isRequestPresignedSignatureV4(r) { v, ok = r.URL.Query()["X-Amz-Content-Sha256"] + if !ok { + v, ok = r.Header["X-Amz-Content-Sha256"] + } } else { v, ok = r.Header["X-Amz-Content-Sha256"] } @@ -62,6 +65,9 @@ func getContentSha256Cksum(r *http.Request) string { // will default to 'UNSIGNED-PAYLOAD'. defaultSha256Cksum = unsignedPayload v, ok = r.URL.Query()["X-Amz-Content-Sha256"] + if !ok { + v, ok = r.Header["X-Amz-Content-Sha256"] + } } else { // X-Amz-Content-Sha256, if not set in signed requests, checksum // will default to sha256([]byte("")).