From 95d97c2d6d3be40c0ec7d4b41c8300579bffc038 Mon Sep 17 00:00:00 2001 From: kannappanr <30541348+kannappanr@users.noreply.github.com> Date: Thu, 26 Oct 2017 18:01:00 -0700 Subject: [PATCH] GCS gateway to return error in getBucketPolicy, when no policy is set (#5117) Return NoSuchBucketPolicy error when there is no policy set. Fixes minio/mint#199 --- cmd/gateway-gcs.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cmd/gateway-gcs.go b/cmd/gateway-gcs.go index a19a5b33c..1430ad0e3 100644 --- a/cmd/gateway-gcs.go +++ b/cmd/gateway-gcs.go @@ -1060,7 +1060,6 @@ func (l *gcsGateway) GetBucketPolicies(bucket string) (policy.BucketAccessPolicy if err != nil { return policy.BucketAccessPolicy{}, gcsToObjectError(traceError(err), bucket) } - policyInfo := policy.BucketAccessPolicy{Version: "2012-10-17"} for _, r := range rules { if r.Entity != storage.AllUsers || r.Role == storage.RoleOwner { @@ -1073,7 +1072,10 @@ func (l *gcsGateway) GetBucketPolicies(bucket string) (policy.BucketAccessPolicy policyInfo.Statements = policy.SetPolicy(policyInfo.Statements, policy.BucketPolicyWriteOnly, bucket, "") } } - + // Return NoSuchBucketPolicy error, when policy is not set + if len(policyInfo.Statements) == 0 { + return policy.BucketAccessPolicy{}, gcsToObjectError(traceError(PolicyNotFound{}), bucket) + } return policyInfo, nil }