From: Yehuda Sadeh Date: Tue, 16 Dec 2014 20:27:54 +0000 (-0800) Subject: rgw: return InvalidAccessKeyId instead of AccessDenied X-Git-Tag: v0.92~74^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=56af795b1046a4c1bfba59e1fefde272bb0e5c1e;p=ceph.git rgw: return InvalidAccessKeyId instead of AccessDenied Fixes: #10334 Signed-off-by: Yehuda Sadeh --- diff --git a/src/rgw/rgw_common.h b/src/rgw/rgw_common.h index 2020191e1669..589b7dd99532 100644 --- a/src/rgw/rgw_common.h +++ b/src/rgw/rgw_common.h @@ -136,6 +136,7 @@ using ceph::crypto::MD5; #define ERR_LOCKED 2025 #define ERR_QUOTA_EXCEEDED 2026 #define ERR_SIGNATURE_NO_MATCH 2027 +#define ERR_INVALID_ACCESS_KEY 2028 #define ERR_USER_SUSPENDED 2100 #define ERR_INTERNAL_ERROR 2200 diff --git a/src/rgw/rgw_http_errors.h b/src/rgw/rgw_http_errors.h index dc66956a51f5..7850807b6024 100644 --- a/src/rgw/rgw_http_errors.h +++ b/src/rgw/rgw_http_errors.h @@ -38,6 +38,7 @@ const static struct rgw_http_errors RGW_HTTP_ERRORS[] = { { EACCES, 403, "AccessDenied" }, { EPERM, 403, "AccessDenied" }, { ERR_SIGNATURE_NO_MATCH, 403, "SignatureDoesNotMatch" }, + { ERR_INVALID_ACCESS_KEY, 403, "InvalidAccessKeyId" }, { ERR_USER_SUSPENDED, 403, "UserSuspended" }, { ERR_REQUEST_TIME_SKEWED, 403, "RequestTimeTooSkewed" }, { ERR_QUOTA_EXCEEDED, 403, "QuotaExceeded" }, diff --git a/src/rgw/rgw_rest_s3.cc b/src/rgw/rgw_rest_s3.cc index 04c5722f1afe..9a4600424b30 100644 --- a/src/rgw/rgw_rest_s3.cc +++ b/src/rgw/rgw_rest_s3.cc @@ -2176,7 +2176,7 @@ int RGW_Auth_S3::authorize(RGWRados *store, struct req_state *s) /* get the user info */ if (rgw_get_user_info_by_access_key(store, auth_id, s->user) < 0) { dout(5) << "error reading user info, uid=" << auth_id << " can't authenticate" << dendl; - return -EPERM; + return -ERR_INVALID_ACCESS_KEY; } /* now verify signature */