From: Radoslaw Zarzynski Date: Thu, 18 Feb 2016 15:13:09 +0000 (+0100) Subject: rgw: don't use req_state::bucket_name in TempURL of Swift API. X-Git-Tag: v10.1.0~163^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=154d8654abecb504b7c25e6dfdbf99061a885755;p=ceph.git rgw: don't use req_state::bucket_name in TempURL of Swift API. Fixes: #14806 Signed-off-by: Radoslaw Zarzynski --- diff --git a/src/rgw/rgw_swift.cc b/src/rgw/rgw_swift.cc index 54e598c7e3f3..7c0146122981 100644 --- a/src/rgw/rgw_swift.cc +++ b/src/rgw/rgw_swift.cc @@ -536,8 +536,11 @@ static void temp_url_make_content_disp(req_state * const s) int authenticate_temp_url(RGWRados *store, req_state *s) { + /* We cannot use req_state::bucket_name because it isn't available + * now. It will be initialized in RGWHandler_REST_SWIFT::postauth_init(). */ + const string& bucket_name = s->init_state.url_bucket; /* temp url requires bucket and object specified in the requets */ - if (s->bucket_name.empty()) + if (bucket_name.empty()) return -EPERM; if (s->object.empty()) @@ -569,7 +572,7 @@ int authenticate_temp_url(RGWRados *store, req_state *s) /* Need to get user info of bucket owner. */ RGWBucketInfo bucket_info; int ret = store->get_bucket_info(*static_cast(s->obj_ctx), - bucket_tenant, s->bucket_name, + bucket_tenant, bucket_name, bucket_info, NULL); if (ret < 0) { return -EPERM;