]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw:When KMS encryption is used and the key does not exist, we should not throw ERR_... 45461/head
authorwangyingbin <wangyingbin@inspur.com>
Wed, 16 Sep 2020 07:15:45 +0000 (15:15 +0800)
committerCory Snyder <csnyder@iland.com>
Wed, 16 Mar 2022 18:48:46 +0000 (14:48 -0400)
When kms encryption is used, the key_id is null or the actual_key size is wrong, we should not throw "ERR_INVALID_ACCESS_KEY " error code, instead of "EINVAL"error code, is used to indicate parameter error.

Signed-off-by: wangyingbin <wangyingbin@inspur.com>
(cherry picked from commit 40dbc29984d67a3f4946a0b30d53f3db19952bf0)

src/rgw/rgw_crypt.cc

index 2c4275a94801588cbee7a2345160427341568881..08837d39ef2aa7387b35d75f2cec7df1da3c2c15 100644 (file)
@@ -1035,7 +1035,7 @@ int rgw_s3_prepare_encrypt(struct req_state* s,
          ldpp_dout(s, 5) << "ERROR: not provide a valid key id" << dendl;
          s->err.message = "Server Side Encryption with KMS managed key requires "
            "HTTP header x-amz-server-side-encryption-aws-kms-key-id";
-         return -ERR_INVALID_ACCESS_KEY;
+         return -EINVAL;
        }
        /* try to retrieve actual key */
        std::string key_selector = create_random_key_selector(s->cct);
@@ -1054,7 +1054,7 @@ int rgw_s3_prepare_encrypt(struct req_state* s,
          ldpp_dout(s, 5) << "ERROR: key obtained from key_id:" <<
             key_id << " is not 256 bit size" << dendl;
          s->err.message = "KMS provided an invalid key for the given kms-keyid.";
-         return -ERR_INVALID_ACCESS_KEY;
+         return -EINVAL;
        }
 
        if (block_crypt) {