diff options
author | Yehuda Sadeh <yehuda@inktank.com> | 2013-08-21 14:43:28 -0700 |
---|---|---|
committer | Yehuda Sadeh <yehuda@inktank.com> | 2013-09-04 16:11:20 -0700 |
commit | 77c2a331e0a66d241c098f2416e303224d82f777 (patch) | |
tree | 8863e1851f61a24a75283b99f42dc4d351168b3d | |
parent | b4cf0f2574be701d9efeb88c45ffd3c2004dce2c (diff) | |
download | ceph-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.cc | 5 | ||||
-rw-r--r-- | src/rgw/rgw_common.h | 1 | ||||
-rw-r--r-- | src/rgw/rgw_op.cc | 15 | ||||
-rw-r--r-- | src/rgw/rgw_op.h | 2 |
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; |