From: zhang Shaowen Date: Mon, 20 May 2019 03:22:48 +0000 (+0800) Subject: rgw: fix some errors in params X-Git-Tag: v14.2.5~119^2~10 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=21529fd3bf376529460aedd3abab86098d5b9b64;p=ceph.git rgw: fix some errors in params Signed-off-by: zhang Shaowen (cherry picked from commit 57891092902b0fc48abe7d3166b5e69a2a93d035) --- diff --git a/src/rgw/rgw_common.cc b/src/rgw/rgw_common.cc index 86a257ec51e..648c23141d8 100644 --- a/src/rgw/rgw_common.cc +++ b/src/rgw/rgw_common.cc @@ -96,7 +96,7 @@ rgw_http_errors rgw_http_s3_errors({ { ERR_NO_SUCH_SUBUSER, {404, "NoSuchSubUser"}}, { ERR_NO_SUCH_ENTITY, {404, "NoSuchEntity"}}, { ERR_NO_SUCH_CORS_CONFIGURATION, {404, "NoSuchCORSConfiguration"}}, - { ERR_NO_SUCH_OBJECT_LOCK_CONFIGURATION, {404, "NoSuchObjectLockConfiguration"}}, + { ERR_NO_SUCH_OBJECT_LOCK_CONFIGURATION, {404, "ObjectLockConfigurationNotFoundError"}}, { 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 af3071cf56c..e5bab016b72 100644 --- a/src/rgw/rgw_common.h +++ b/src/rgw/rgw_common.h @@ -85,8 +85,6 @@ using ceph::crypto::MD5; #define RGW_ATTR_OBJECT_LOCK RGW_ATTR_PREFIX "object-lock" #define RGW_ATTR_OBJECT_RETENTION RGW_ATTR_PREFIX "object-retention" #define RGW_ATTR_OBJECT_LEGAL_HOLD RGW_ATTR_PREFIX "object-legal-hold" -#define RGW_ATTR_OBJECT_LOCK_MODE RGW_ATTR_PREFIX "object-lock-mode" -#define RGW_ATTR_OBJECT_LOCK_UNTIL_DATE RGW_ATTR_PREFIX "object-lock-until-date" #define RGW_ATTR_PG_VER RGW_ATTR_PREFIX "pg_ver" @@ -218,7 +216,6 @@ using ceph::crypto::MD5; #define ERR_MFA_REQUIRED 2044 #define ERR_NO_SUCH_CORS_CONFIGURATION 2045 #define ERR_NO_SUCH_OBJECT_LOCK_CONFIGURATION 2046 -#define ERR_INVALID_BUCKET_STATE 2047 #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 0bd49e245f1..740b5a0ce89 100644 --- a/src/rgw/rgw_rest_s3.cc +++ b/src/rgw/rgw_rest_s3.cc @@ -329,12 +329,11 @@ int RGWGetObj_ObjStore_S3::send_response_data(bufferlist& bl, off_t bl_ofs, ldout(s->cct,0) << "Error caught buffer::error couldn't decode TagSet " << dendl; } dump_header(s, RGW_AMZ_TAG_COUNT, obj_tags.count()); - } else if (iter->first.compare(RGW_ATTR_OBJECT_LOCK_MODE) == 0 && get_retention) { - dump_header(s, "x-amz-object-lock-mode", iter->second.to_str()); - } else if (iter->first.compare(RGW_ATTR_OBJECT_LOCK_UNTIL_DATE) == 0 && get_retention) { - real_time lock_until_date; - decode(lock_until_date, iter->second); - dump_time_header(s, "x-amz-object-lock-retain-until-date", lock_until_date); + } else if (iter->first.compare(RGW_ATTR_OBJECT_RETENTION) == 0 && get_retention){ + RGWObjectRetention retention; + decode(retention, iter->second); + dump_header(s, "x-amz-object-lock-mode", retention.get_mode()); + dump_time_header(s, "x-amz-object-lock-retain-until-date", retention.get_retain_until_date()); } } } @@ -1278,10 +1277,10 @@ int RGWCreateBucket_ObjStore_S3::get_params() } auto iter = s->info.x_meta_map.find("x-amz-bucket-object-lock-enabled"); if (iter != s->info.x_meta_map.end()) { - if ((iter->second.compare("true") != 0 && (iter->second.compare("false") != 0))) { + if (!boost::algorithm::iequals(iter->second, "true") && !boost::algorithm::iequals(iter->second, "false")) { return -EINVAL; } - obj_lock_enabled = iter->second.compare("true") == 0; + obj_lock_enabled = boost::algorithm::iequals(iter->second, "true"); } return 0; }