diff --git a/api-compose-object.go b/api-compose-object.go index df730d7af..59abc02f8 100644 --- a/api-compose-object.go +++ b/api-compose-object.go @@ -119,7 +119,7 @@ func (opts CopyDestOptions) Marshal(header http.Header) { if opts.ReplaceMetadata { header.Set("x-amz-metadata-directive", replaceDirective) for k, v := range filterCustomMeta(opts.UserMetadata) { - if isAmzHeader(k) || isStandardHeader(k) || isStorageClassHeader(k) || isValidInternalHeader(k) { + if isAmzHeader(k) || isStandardHeader(k) || isStorageClassHeader(k) || isValidReplicationHeader(k) { header.Set(k, v) } else { header.Set("x-amz-meta-"+k, v) diff --git a/api-put-object.go b/api-put-object.go index efb050758..2c9e430b4 100644 --- a/api-put-object.go +++ b/api-put-object.go @@ -212,7 +212,7 @@ func (opts PutObjectOptions) Header() (header http.Header) { } for k, v := range opts.UserMetadata { - if isAmzHeader(k) || isStandardHeader(k) || isStorageClassHeader(k) || isValidInternalHeader(k) { + if isAmzHeader(k) || isStandardHeader(k) || isStorageClassHeader(k) || isValidReplicationHeader(k) { header.Set(k, v) } else { header.Set("x-amz-meta-"+k, v) @@ -230,7 +230,7 @@ func (opts PutObjectOptions) Header() (header http.Header) { // validate() checks if the UserMetadata map has standard headers or and raises an error if so. func (opts PutObjectOptions) validate() (err error) { for k, v := range opts.UserMetadata { - if !httpguts.ValidHeaderFieldName(k) || isStandardHeader(k) || isSSEHeader(k) || isStorageClassHeader(k) || isValidInternalHeader(k) { + if !httpguts.ValidHeaderFieldName(k) || isStandardHeader(k) || isSSEHeader(k) || isStorageClassHeader(k) || isValidReplicationHeader(k) { return errInvalidArgument(k + " unsupported user defined metadata name") } if !httpguts.ValidHeaderFieldValue(v) { diff --git a/utils.go b/utils.go index 0f3f91fc3..66ac12173 100644 --- a/utils.go +++ b/utils.go @@ -512,18 +512,18 @@ func isAmzHeader(headerKey string) bool { return strings.HasPrefix(key, "x-amz-meta-") || strings.HasPrefix(key, "x-amz-grant-") || key == "x-amz-acl" || isSSEHeader(headerKey) || strings.HasPrefix(key, "x-amz-checksum-") } -var supportedInternalHeaders = map[string]bool{ - "x-minio-internal-server-side-encryption-sealed-key": true, - "x-minio-internal-inline-data": true, - "x-minio-internal-server-side-encryption-seal-algorithm": true, - "x-minio-internal-server-side-encryption-iv": true, +var supportedReplicationHeaders = map[string]bool{ + "x-minio-replication-server-side-encryption-sealed-key": true, + "x-minio-replication-inline-data": true, + "x-minio-replication-server-side-encryption-seal-algorithm": true, + "x-minio-replication-server-side-encryption-iv": true, // Add more supported headers here. // Must be lower case. } -// isValidInternalHeader returns true if header is one of valid internal headers -func isValidInternalHeader(headerKey string) bool { - return supportedInternalHeaders[strings.ToLower(headerKey)] +// isValidReplicationHeader returns true if header is one of valid internal headers +func isValidReplicationHeader(headerKey string) bool { + return supportedReplicationHeaders[strings.ToLower(headerKey)] } // supportedQueryValues is a list of query strings that can be passed in when using GetObject.