]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: S3 get bucket versioning returns MFA status
authorYehuda Sadeh <yehuda@redhat.com>
Mon, 4 Dec 2017 08:18:31 +0000 (00:18 -0800)
committerYehuda Sadeh <yehuda@redhat.com>
Mon, 9 Apr 2018 14:01:02 +0000 (07:01 -0700)
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
src/rgw/rgw_op.cc
src/rgw/rgw_op.h
src/rgw/rgw_rest_s3.cc

index 425538732bf55d6907fb0636e470214fd929fdaa..89319c3f798cea65f06795b6f147ac2966ea9b80 100644 (file)
@@ -2152,6 +2152,7 @@ void RGWGetBucketVersioning::execute()
 {
   versioned = s->bucket_info.versioned();
   versioning_enabled = s->bucket_info.versioning_enabled();
+  mfa_enabled = s->bucket_info.mfa_enabled();
 }
 
 int RGWSetBucketVersioning::verify_permission()
index bbf03f058f53d85f8f957a7a423fd17725c504d6..4c85af9966c18c4edfae96abe5945b3e22a78d8d 100644 (file)
@@ -750,10 +750,11 @@ public:
 
 class RGWGetBucketVersioning : public RGWOp {
 protected:
-  bool versioned;
-  bool versioning_enabled;
+  bool versioned{false};
+  bool versioning_enabled{false};
+  bool mfa_enabled{false};
 public:
-  RGWGetBucketVersioning() : versioned(false), versioning_enabled(false) {}
+  RGWGetBucketVersioning() = default;
 
   int verify_permission() override;
   void pre_exec() override;
index 0c6f418832278732cb3273b35ba8605cf898601e..f7070939126c06ed27754007edb0ae298a0c9c6c 100644 (file)
@@ -876,6 +876,8 @@ void RGWGetBucketVersioning_ObjStore_S3::send_response()
   if (versioned) {
     const char *status = (versioning_enabled ? "Enabled" : "Suspended");
     s->formatter->dump_string("Status", status);
+    const char *mfa_status = (mfa_enabled ? "Enabled" : "Disabled");
+    s->formatter->dump_string("MfaDelete", mfa_status);
   }
   s->formatter->close_section();
   rgw_flush_formatter_and_reset(s, s->formatter);