summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYehuda Sadeh <yehuda@inktank.com>2013-08-21 14:43:28 -0700
committerYehuda Sadeh <yehuda@inktank.com>2013-09-04 16:11:20 -0700
commit77c2a331e0a66d241c098f2416e303224d82f777 (patch)
tree8863e1851f61a24a75283b99f42dc4d351168b3d
parentb4cf0f2574be701d9efeb88c45ffd3c2004dce2c (diff)
downloadceph-77c2a331e0a66d241c098f2416e303224d82f777.tar.gz
rgw: remove use of s->bucket_cors
Some old code still tried to use s->bucket_cors, which was abandoned in a cleanup work. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
-rw-r--r--src/rgw/rgw_common.cc5
-rw-r--r--src/rgw/rgw_common.h1
-rw-r--r--src/rgw/rgw_op.cc15
-rw-r--r--src/rgw/rgw_op.h2
4 files changed, 13 insertions, 10 deletions
diff --git a/src/rgw/rgw_common.cc b/src/rgw/rgw_common.cc
index ef0a2604d51..c872314fe4e 100644
--- a/src/rgw/rgw_common.cc
+++ b/src/rgw/rgw_common.cc
@@ -123,8 +123,8 @@ void req_info::rebuild_from(req_info& src)
req_state::req_state(CephContext *_cct, class RGWEnv *e) : cct(_cct), cio(NULL), op(OP_UNKNOWN),
- bucket_cors(NULL), has_acl_header(false),
- os_auth_token(NULL), info(_cct, e)
+ has_acl_header(false),
+ os_auth_token(NULL), info(_cct, e)
{
enable_ops_log = e->conf->enable_ops_log;
enable_usage_log = e->conf->enable_usage_log;
@@ -162,7 +162,6 @@ req_state::req_state(CephContext *_cct, class RGWEnv *e) : cct(_cct), cio(NULL),
req_state::~req_state() {
delete formatter;
delete bucket_acl;
- delete bucket_cors;
delete object_acl;
free((void *)object);
free((void *)bucket_name);
diff --git a/src/rgw/rgw_common.h b/src/rgw/rgw_common.h
index 405c3d9b3ba..2c7c0c716be 100644
--- a/src/rgw/rgw_common.h
+++ b/src/rgw/rgw_common.h
@@ -821,7 +821,6 @@ struct req_state {
RGWUserInfo user;
RGWAccessControlPolicy *bucket_acl;
RGWAccessControlPolicy *object_acl;
- RGWCORSConfiguration *bucket_cors;
bool system_request;
diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc
index d34e18bc4ba..d2cd07c75a3 100644
--- a/src/rgw/rgw_op.cc
+++ b/src/rgw/rgw_op.cc
@@ -1977,8 +1977,7 @@ void RGWOptionsCORS::get_response_params(string& hdrs, string& exp_hdrs, unsigne
*max_age = rule->get_max_age();
}
-int RGWOptionsCORS::validate_cors_request() {
- RGWCORSConfiguration *cc = s->bucket_cors;
+int RGWOptionsCORS::validate_cors_request(RGWCORSConfiguration *cc) {
rule = cc->host_name_rule(origin);
if (!rule) {
dout(10) << "There is no corsrule present for " << origin << dendl;
@@ -2004,9 +2003,15 @@ int RGWOptionsCORS::validate_cors_request() {
void RGWOptionsCORS::execute()
{
- if (!s->bucket_cors) {
+ RGWCORSConfiguration bucket_cors;
+ bool cors_exist;
+ ret = read_bucket_cors(store, s, &bucket_cors, &cors_exist);
+ if (ret < 0)
+ return;
+
+ if (!cors_exist) {
dout(2) << "No CORS configuration set yet for this bucket" << dendl;
- ret = -EACCES;
+ ret = -ENOENT;
return;
}
req_meth = s->info.env->get("HTTP_ACCESS_CONTROL_REQUEST_METHOD");
@@ -2026,7 +2031,7 @@ void RGWOptionsCORS::execute()
return;
}
req_hdrs = s->info.env->get("HTTP_ACCESS_CONTROL_ALLOW_HEADERS");
- ret = validate_cors_request();
+ ret = validate_cors_request(&bucket_cors);
if (!rule) {
origin = req_meth = NULL;
return;
diff --git a/src/rgw/rgw_op.h b/src/rgw/rgw_op.h
index d158f831cc7..4091ad42038 100644
--- a/src/rgw/rgw_op.h
+++ b/src/rgw/rgw_op.h
@@ -586,7 +586,7 @@ public:
}
int verify_permission() {return 0;}
- int validate_cors_request();
+ int validate_cors_request(RGWCORSConfiguration *cc);
void execute();
void get_response_params(string& allowed_hdrs, string& exp_hdrs, unsigned *max_age);
virtual void send_response() = 0;