diff --git a/cmd/object-handlers.go b/cmd/object-handlers.go index f49f4e7a0..461108425 100644 --- a/cmd/object-handlers.go +++ b/cmd/object-handlers.go @@ -84,7 +84,10 @@ func (api objectAPIHandlers) SelectObjectContentHandler(w http.ResponseWriter, r writeErrorResponse(w, ErrServerNotInitialized, r.URL) return } - + if crypto.S3KMS.IsRequested(r.Header) { // SSE-KMS is not supported + writeErrorResponse(w, ErrNotImplemented, r.URL) + return + } vars := mux.Vars(r) bucket := vars["bucket"] object := vars["object"] @@ -620,7 +623,7 @@ func (api objectAPIHandlers) CopyObjectHandler(w http.ResponseWriter, r *http.Re writeErrorResponse(w, ErrServerNotInitialized, r.URL) return } - if !objectAPI.IsEncryptionSupported() && crypto.S3KMS.IsRequested(r.Header) { + if crypto.S3KMS.IsRequested(r.Header) { writeErrorResponse(w, ErrNotImplemented, r.URL) // SSE-KMS is not supported return } @@ -966,7 +969,7 @@ func (api objectAPIHandlers) PutObjectHandler(w http.ResponseWriter, r *http.Req writeErrorResponse(w, ErrServerNotInitialized, r.URL) return } - if !objectAPI.IsEncryptionSupported() && crypto.S3KMS.IsRequested(r.Header) { + if crypto.S3KMS.IsRequested(r.Header) { writeErrorResponse(w, ErrNotImplemented, r.URL) // SSE-KMS is not supported return } @@ -1218,7 +1221,7 @@ func (api objectAPIHandlers) NewMultipartUploadHandler(w http.ResponseWriter, r writeErrorResponse(w, ErrServerNotInitialized, r.URL) return } - if !objectAPI.IsEncryptionSupported() && crypto.S3KMS.IsRequested(r.Header) { + if crypto.S3KMS.IsRequested(r.Header) { writeErrorResponse(w, ErrNotImplemented, r.URL) // SSE-KMS is not supported return } @@ -1310,7 +1313,7 @@ func (api objectAPIHandlers) CopyObjectPartHandler(w http.ResponseWriter, r *htt writeErrorResponse(w, ErrServerNotInitialized, r.URL) return } - if !objectAPI.IsEncryptionSupported() && crypto.S3KMS.IsRequested(r.Header) { + if crypto.S3KMS.IsRequested(r.Header) { writeErrorResponse(w, ErrNotImplemented, r.URL) // SSE-KMS is not supported return } @@ -1532,7 +1535,7 @@ func (api objectAPIHandlers) PutObjectPartHandler(w http.ResponseWriter, r *http writeErrorResponse(w, ErrServerNotInitialized, r.URL) return } - if !objectAPI.IsEncryptionSupported() && crypto.S3KMS.IsRequested(r.Header) { + if crypto.S3KMS.IsRequested(r.Header) { writeErrorResponse(w, ErrNotImplemented, r.URL) // SSE-KMS is not supported return }