]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
rgw: fix some errors in params
authorzhang Shaowen <zhangshaowen@cmss.chinamobile.com>
Mon, 20 May 2019 03:22:48 +0000 (11:22 +0800)
committerzhang Shaowen <zhangshaowen@cmss.chinamobile.com>
Wed, 12 Jun 2019 03:19:04 +0000 (11:19 +0800)
Signed-off-by: zhang Shaowen <zhangshaowen@cmss.chinamobile.com>
src/rgw/rgw_common.cc
src/rgw/rgw_common.h
src/rgw/rgw_rest_s3.cc

index 6245aa9ec44deacb3141f9eed87bb93183c58797..1a34b9750be50cabba37866e0f8a9355c923a0e5 100644 (file)
@@ -97,7 +97,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" }},
index 9c07f5e9e4bb1a5585468ba636ea46ca38031023..be2e9ee91934aec5dd24cb46a2f65aae08c0ed7f 100644 (file)
@@ -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"
@@ -219,7 +217,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
index 39b380c16fdd08d173af18d3476ddc0ac1b31156..c08ef1158e664a67767e4eecccbdec071fc38342 100644 (file)
@@ -329,12 +329,11 @@ int RGWGetObj_ObjStore_S3::send_response_data(bufferlist& bl, off_t bl_ofs,
           ldpp_dout(this,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());
       }
     }
   }
@@ -1375,10 +1374,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;
 }