RGWOp_ZoneGroupMap_Get(bool _old_format):old_format(_old_format) {}
~RGWOp_ZoneGroupMap_Get() override {}
+ int check_caps(RGWUserCaps& caps) override {
+ return caps.check_cap("zone", RGW_CAP_READ);
+ }
int verify_permission() override {
- return 0;
+ return check_caps(s->user->caps);
}
void execute() override;
void send_response() override;
RGWOp_ZoneConfig_Get() {}
int check_caps(RGWUserCaps& caps) {
- return caps.check_cap("admin", RGW_CAP_READ);
+ return caps.check_cap("zone", RGW_CAP_READ);
}
int verify_permission() {
return check_caps(s->user->caps);
class RGWOp_Period_Get : public RGWOp_Period_Base {
public:
void execute() override;
+ int check_caps(RGWUserCaps& caps) override {
+ return caps.check_cap("zone", RGW_CAP_READ);
+ }
+ int verify_permission() override {
+ return check_caps(s->user->caps);
+ }
const string name() override { return "get_period"; }
};
class RGWOp_Period_Post : public RGWOp_Period_Base {
public:
void execute() override;
+ int check_caps(RGWUserCaps& caps) override {
+ return caps.check_cap("zone", RGW_CAP_WRITE);
+ }
+ int verify_permission() override {
+ return check_caps(s->user->caps);
+ }
const string name() override { return "post_period"; }
};
class RGWOp_Realm_Get : public RGWRESTOp {
std::unique_ptr<RGWRealm> realm;
public:
- int verify_permission() override { return 0; }
+ int check_caps(RGWUserCaps& caps) override {
+ return caps.check_cap("zone", RGW_CAP_READ);
+ }
+ int verify_permission() override {
+ return check_caps(s->user->caps);
+ }
void execute() override;
void send_response() override;
const string name() override { return "get_realm"; }