[#598] Fix response code for invalid Content-Md5 header
All checks were successful
/ DCO (pull_request) Successful in 4m3s
/ Vulncheck (pull_request) Successful in 4m14s
/ Builds (pull_request) Successful in 4m48s
/ OCI image (pull_request) Successful in 5m6s
/ Lint (pull_request) Successful in 5m17s
/ Tests (pull_request) Successful in 5m7s
All checks were successful
/ DCO (pull_request) Successful in 4m3s
/ Vulncheck (pull_request) Successful in 4m14s
/ Builds (pull_request) Successful in 4m48s
/ OCI image (pull_request) Successful in 5m6s
/ Lint (pull_request) Successful in 5m17s
/ Tests (pull_request) Successful in 5m7s
Signed-off-by: Aleksey Kravchenko <al.kravchenko@yadro.com>
This commit is contained in:
parent
a725c68d06
commit
8633b754e6
3 changed files with 9 additions and 3 deletions
|
@ -65,10 +65,16 @@ func TestMD5HeaderBadOrEmpty(t *testing.T) {
|
|||
putEncryptedObjectWithHeadersErr(t, tc, bktName, objName, content, headers, errors.ErrInvalidDigest)
|
||||
|
||||
headers = map[string]string{
|
||||
api.ContentMD5: "YWJjMTIzIT8kKiYoKSctPUB+",
|
||||
api.ContentMD5: "yZRvHQZYwL5V7+k2pcwHLg==",
|
||||
}
|
||||
|
||||
putEncryptedObjectWithHeadersErr(t, tc, bktName, objName, content, headers, errors.ErrBadDigest)
|
||||
|
||||
headers = map[string]string{
|
||||
api.ContentMD5: "dGhlIHF1aWNrIGJyb3dF",
|
||||
}
|
||||
|
||||
putEncryptedObjectWithHeadersErr(t, tc, bktName, objName, content, headers, errors.ErrInvalidDigest)
|
||||
}
|
||||
|
||||
func TestGetEncryptedRange(t *testing.T) {
|
||||
|
|
|
@ -285,7 +285,7 @@ func TestPutObjectWithInvalidContentMD5(t *testing.T) {
|
|||
w, r := prepareTestPayloadRequest(tc, bktName, objName, bytes.NewReader(content))
|
||||
r.Header.Set(api.ContentMD5, base64.StdEncoding.EncodeToString([]byte("invalid")))
|
||||
tc.Handler().PutObjectHandler(w, r)
|
||||
assertS3Error(t, w, apierr.GetAPIError(apierr.ErrBadDigest))
|
||||
assertS3Error(t, w, apierr.GetAPIError(apierr.ErrInvalidDigest))
|
||||
|
||||
content = []byte("content")
|
||||
w, r = prepareTestPayloadRequest(tc, bktName, objName, bytes.NewReader(content))
|
||||
|
|
|
@ -289,7 +289,7 @@ func (n *Layer) PutObject(ctx context.Context, p *PutObjectParams) (*data.Extend
|
|||
return nil, apierr.GetAPIError(apierr.ErrInvalidDigest)
|
||||
}
|
||||
headerMd5Hash, err := base64.StdEncoding.DecodeString(*p.ContentMD5)
|
||||
if err != nil {
|
||||
if err != nil || len(headerMd5Hash) != md5.Size {
|
||||
return nil, apierr.GetAPIError(apierr.ErrInvalidDigest)
|
||||
}
|
||||
if !bytes.Equal(headerMd5Hash, createdObj.MD5Sum) {
|
||||
|
|
Loading…
Reference in a new issue