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())
/* Need to get user info of bucket owner. */
RGWBucketInfo bucket_info;
int ret = store->get_bucket_info(*static_cast<RGWObjectCtx *>(s->obj_ctx),
- bucket_tenant, s->bucket_name,
+ bucket_tenant, bucket_name,
bucket_info, NULL);
if (ret < 0) {
return -EPERM;