From: Yehuda Sadeh Date: Mon, 30 Nov 2015 19:33:48 +0000 (-0800) Subject: rgw: inherit bucket tenant from user if not specified X-Git-Tag: v10.0.2~127^2~7 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e8de3493d6b8ac05efcd81d0f918491c9338143a;p=ceph.git rgw: inherit bucket tenant from user if not specified Signed-off-by: Yehuda Sadeh --- diff --git a/src/rgw/rgw_rest_s3.cc b/src/rgw/rgw_rest_s3.cc index a7268627f544..16d5dea41d91 100644 --- a/src/rgw/rgw_rest_s3.cc +++ b/src/rgw/rgw_rest_s3.cc @@ -2291,6 +2291,8 @@ int RGWHandler_ObjStore_S3::init_from_header(struct req_state *s, int default_fo if (s->bucket_tenant.empty()) s->bucket_tenant = s->user.user_id.tenant; + ldout(s->cct, 20) << "s->user.user_id=" << s->user.user_id << " s->bucket_tenant=" << s->bucket_tenant << " s->bucket_name=" << s->bucket_name << dendl; + if (pos >= 0) { string encoded_obj_str = req.substr(pos+1); s->object = rgw_obj_key(encoded_obj_str, s->info.args.get("versionId")); @@ -2564,6 +2566,10 @@ int RGW_Auth_S3::authorize(RGWRados *store, struct req_state *s) } s->perm_mask = RGW_PERM_FULL_CONTROL; + + if (s->bucket_tenant.empty()) { + s->bucket_tenant = s->user.user_id.tenant; + } } } } @@ -2581,6 +2587,10 @@ int RGW_Auth_S3::authorize(RGWRados *store, struct req_state *s) return -ERR_INVALID_ACCESS_KEY; } + if (s->bucket_tenant.empty()) { + s->bucket_tenant = s->user.user_id.tenant; + } + /* now verify signature */ string auth_hdr;