diff options
author | Yehuda Sadeh <yehuda@inktank.com> | 2013-08-21 14:43:28 -0700 |
---|---|---|
committer | Yehuda Sadeh <yehuda@inktank.com> | 2013-09-11 09:45:14 -0700 |
commit | a5fdd44e5d8ce4b8d82273d83e27aea19e63aa7c (patch) | |
tree | 9dde4c42a3a3ca84e76d83fca64fbb7ab6c94bbf | |
parent | 17a7342b3b935c06610c58ab92a9a1d086923d32 (diff) | |
download | ceph-a5fdd44e5d8ce4b8d82273d83e27aea19e63aa7c.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 | 3 | ||||
-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, 12 insertions, 9 deletions
diff --git a/src/rgw/rgw_common.cc b/src/rgw/rgw_common.cc index 8a281775d07..28a99b504d2 100644 --- a/src/rgw/rgw_common.cc +++ b/src/rgw/rgw_common.cc @@ -123,7 +123,7 @@ void req_info::rebuild_from(req_info& src) req_state::req_state(CephContext *_cct, struct RGWEnv *e) : cct(_cct), cio(NULL), op(OP_UNKNOWN), - bucket_cors(NULL), has_acl_header(false), + has_acl_header(false), os_auth_token(NULL), info(_cct, e) { enable_ops_log = e->conf->enable_ops_log; @@ -162,7 +162,6 @@ req_state::req_state(CephContext *_cct, struct 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 8baee258d90..eb5fe76e6cb 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 9c7826f6e7b..1dfdc9dc37e 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; |