From 0c0046e259570f47ecef9234cfb7ee03efce5289 Mon Sep 17 00:00:00 2001 From: Yehuda Sadeh Date: Mon, 4 Dec 2017 00:18:31 -0800 Subject: [PATCH] rgw: S3 get bucket versioning returns MFA status Signed-off-by: Yehuda Sadeh --- src/rgw/rgw_op.cc | 1 + src/rgw/rgw_op.h | 7 ++++--- src/rgw/rgw_rest_s3.cc | 2 ++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc index 425538732bf55..89319c3f798ce 100644 --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@ -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() diff --git a/src/rgw/rgw_op.h b/src/rgw/rgw_op.h index bbf03f058f53d..4c85af9966c18 100644 --- a/src/rgw/rgw_op.h +++ b/src/rgw/rgw_op.h @@ -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; diff --git a/src/rgw/rgw_rest_s3.cc b/src/rgw/rgw_rest_s3.cc index 0c6f418832278..f7070939126c0 100644 --- a/src/rgw/rgw_rest_s3.cc +++ b/src/rgw/rgw_rest_s3.cc @@ -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); -- 2.39.5