]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw_lc: support for AWSv4 authentication 16734/head
authorAbhishek Lekshmanan <abhishek@suse.com>
Tue, 1 Aug 2017 15:42:31 +0000 (17:42 +0200)
committerAbhishek Lekshmanan <abhishek@suse.com>
Tue, 1 Aug 2017 15:42:31 +0000 (17:42 +0200)
adding support for AWSv4 authentication for Put Object LC, also adding
types to all of the LC ops in the process

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
src/rgw/rgw_common.h
src/rgw/rgw_op.h
src/rgw/rgw_rest_s3.cc

index 2ec385f1cb25404c7489c88897e235a4e72174f3..e502ed5f57b3ef3cd00fd96f423d2f125078d771 100644 (file)
@@ -484,6 +484,9 @@ enum RGWOpType {
   RGW_OP_PUT_OBJ_TAGGING,
   RGW_OP_GET_OBJ_TAGGING,
   RGW_OP_DELETE_OBJ_TAGGING,
+  RGW_OP_PUT_LC,
+  RGW_OP_GET_LC,
+  RGW_OP_DELETE_LC,
   /* rgw specific */
   RGW_OP_ADMIN_SET_METADATA,
   RGW_OP_GET_OBJ_LAYOUT,
index ed91951aba9dd33e6f61482c5264ad2d625012d0..d3a63aee73d17c0818d3e7ea1afec1ade642f944 100644 (file)
@@ -1390,6 +1390,7 @@ public:
 
   void send_response() override = 0;
   const string name() override { return "get_lifecycle"; }
+  RGWOpType get_type() override { return RGW_OP_GET_LC; }
   uint32_t op_mask() override { return RGW_OP_TYPE_READ; }
 };
 
@@ -1425,6 +1426,7 @@ public:
   virtual int get_params() = 0;
   void send_response() override = 0;
   const string name() override { return "put_lifecycle"; }
+  RGWOpType get_type() override { return RGW_OP_PUT_LC; }
   uint32_t op_mask() override { return RGW_OP_TYPE_WRITE; }
 };
 
@@ -1448,6 +1450,7 @@ public:
 
   void send_response() override = 0;
   const string name() override { return "delete_lifecycle"; }
+  RGWOpType get_type() override { return RGW_OP_DELETE_LC; }
   uint32_t op_mask() override { return RGW_OP_TYPE_WRITE; }
 };
 
index 2652792bb753f1bb96d704ae4978ae7a7c2b99d2..34c89ad1f98726047ff70c8c215ac98b627ab66f 100644 (file)
@@ -3847,6 +3847,7 @@ AWSGeneralAbstractor::get_auth_data_v4(const req_state* const s,
         case RGW_OP_SET_BUCKET_WEBSITE:
         case RGW_OP_PUT_BUCKET_POLICY:
         case RGW_OP_PUT_OBJ_TAGGING:
+        case RGW_OP_PUT_LC:
           break;
         default:
           dout(10) << "ERROR: AWS4 completion for this operation NOT IMPLEMENTED" << dendl;