From: Nick Janus Date: Wed, 22 Nov 2017 18:29:00 +0000 (-0500) Subject: rgw: Fix S3 compatibility bug when CORS is not found X-Git-Tag: v14.2.1~45^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=49e975b9a96828df32ad88ee8ce68342884f7df5;p=ceph.git rgw: Fix S3 compatibility bug when CORS is not found Fixes: http://tracker.ceph.com/issues/37945 Signed-off-by: Nick Janus (cherry picked from commit baaf5d6a1d7232d904d9f8d39b52498fe8480453) --- diff --git a/src/rgw/rgw_common.cc b/src/rgw/rgw_common.cc index d35a97eaf79ef..dcade32363e0a 100644 --- a/src/rgw/rgw_common.cc +++ b/src/rgw/rgw_common.cc @@ -94,6 +94,7 @@ rgw_http_errors rgw_http_s3_errors({ { ERR_NO_CORS_FOUND, {404, "NoSuchCORSConfiguration"}}, { ERR_NO_SUCH_SUBUSER, {404, "NoSuchSubUser"}}, { ERR_NO_SUCH_ENTITY, {404, "NoSuchEntity"}}, + { ERR_NO_SUCH_CORS_CONFIGURATION, {404, "NoSuchCORSConfiguration"}}, { ERR_METHOD_NOT_ALLOWED, {405, "MethodNotAllowed" }}, { ETIMEDOUT, {408, "RequestTimeout" }}, { EEXIST, {409, "BucketAlreadyExists" }}, diff --git a/src/rgw/rgw_common.h b/src/rgw/rgw_common.h index 6dc8ef5f56516..d558b6bdc2e42 100644 --- a/src/rgw/rgw_common.h +++ b/src/rgw/rgw_common.h @@ -207,6 +207,7 @@ using ceph::crypto::MD5; #define ERR_NO_SUCH_USER 2042 #define ERR_NO_SUCH_SUBUSER 2043 #define ERR_MFA_REQUIRED 2044 +#define ERR_NO_SUCH_CORS_CONFIGURATION 2045 #define ERR_USER_SUSPENDED 2100 #define ERR_INTERNAL_ERROR 2200 #define ERR_NOT_IMPLEMENTED 2201 diff --git a/src/rgw/rgw_rest_s3.cc b/src/rgw/rgw_rest_s3.cc index be1c3fe6c430f..77fa96415b816 100644 --- a/src/rgw/rgw_rest_s3.cc +++ b/src/rgw/rgw_rest_s3.cc @@ -2413,7 +2413,7 @@ void RGWGetCORS_ObjStore_S3::send_response() { if (op_ret) { if (op_ret == -ENOENT) - set_req_state_err(s, ERR_NOT_FOUND); + set_req_state_err(s, ERR_NO_SUCH_CORS_CONFIGURATION); else set_req_state_err(s, op_ret); }