From 1cf3e3b7b549f55f84437564d94821dc8338787a Mon Sep 17 00:00:00 2001 From: poornas Date: Fri, 13 Dec 2019 15:51:28 -0800 Subject: [PATCH] PutBucket: Case-insensitive validation of x-amz-bucket-object-lock-enabled (#8648) Fix: case insensitive validation of x-amz-bucket-object-lock-enabled header in PutBucket handler --- cmd/bucket-handlers.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cmd/bucket-handlers.go b/cmd/bucket-handlers.go index c2f9290f1..96e724f82 100644 --- a/cmd/bucket-handlers.go +++ b/cmd/bucket-handlers.go @@ -484,13 +484,13 @@ func (api objectAPIHandlers) PutBucketHandler(w http.ResponseWriter, r *http.Req bucket := vars["bucket"] objectLockEnabled := false - if _, found := r.Header[http.CanonicalHeaderKey("x-amz-bucket-object-lock-enabled")]; found { - if r.Header.Get("x-amz-bucket-object-lock-enabled") != "true" { + if vs, found := r.Header[http.CanonicalHeaderKey("x-amz-bucket-object-lock-enabled")]; found { + v := strings.ToLower(strings.Join(vs, "")) + if v != "true" && v != "false" { writeErrorResponse(ctx, w, errorCodes.ToAPIErr(ErrInvalidRequest), r.URL, guessIsBrowserReq(r)) return } - - objectLockEnabled = true + objectLockEnabled = v == "true" } if s3Error := checkRequestAuthType(ctx, r, policy.CreateBucketAction, bucket, ""); s3Error != ErrNone {