From: Sage Weil Date: Wed, 5 Oct 2011 22:18:35 +0000 (-0700) Subject: rgw: use conf for rgw_dns_name instead of fcgi environment X-Git-Tag: v0.37~67 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=24e05e32bfdd4e57b769e6c1a034247357186e2a;p=ceph.git rgw: use conf for rgw_dns_name instead of fcgi environment Signed-off-by: Sage Weil --- diff --git a/src/common/config_opts.h b/src/common/config_opts.h index a95b1ee831ff..eb0886a7e48e 100644 --- a/src/common/config_opts.h +++ b/src/common/config_opts.h @@ -325,6 +325,7 @@ OPTION(debug_rgw, OPT_INT, 20) // log level for the Rados gatewa OPTION(rgw_cache_enabled, OPT_BOOL, false) // rgw cache enabled OPTION(rgw_cache_lru_size, OPT_INT, 10000) // num of entries in rgw cache OPTION(rgw_socket_path, OPT_STR, "") // path to unix domain socket, if not specified, rgw will not run as external fcgi +OPTION(rgw_dns_name, OPT_STR, "") OPTION(rgw_remote_addr_param, OPT_STR, "REMOTE_ADDR") // e.g. X-Forwarded-For, if you have a reverse proxy OPTION(rgw_op_thread_timeout, OPT_INT, 10*60) OPTION(rgw_op_thread_suicide_timeout, OPT_INT, 60*60) diff --git a/src/rgw/rgw_rest.cc b/src/rgw/rgw_rest.cc index 6bca0ab7f811..42b8b52c3bf0 100644 --- a/src/rgw/rgw_rest.cc +++ b/src/rgw/rgw_rest.cc @@ -367,14 +367,9 @@ static void next_tok(string& str, string& tok, char delim) void init_entities_from_header(struct req_state *s) { - const char *gateway_dns_name; string req; string first; - gateway_dns_name = s->env->get("RGW_DNS_NAME", "s3."); - - dout(20) << "gateway_dns_name = " << gateway_dns_name << dendl; - s->bucket_name = NULL; s->bucket.clear(); s->object = NULL; @@ -390,11 +385,11 @@ void init_entities_from_header(struct req_state *s) s->formatter = new XMLFormatter(false); int pos; - if (s->host) { + if (g_conf->rgw_dns_name.length() && s->host) { string h(s->host); - dout(10) << "host=" << s->host << dendl; - pos = h.find(gateway_dns_name); + dout(10) << "host=" << s->host << " rgw_dns_name=" << g_conf->rgw_dns_name << dendl; + pos = h.find(g_conf->rgw_dns_name); if (pos > 0 && h[pos - 1] == '.') { string encoded_bucket = h.substr(0, pos-1); diff --git a/src/rgw/rgw_rest_s3.cc b/src/rgw/rgw_rest_s3.cc index 69b932223cef..fbd129b10c83 100644 --- a/src/rgw/rgw_rest_s3.cc +++ b/src/rgw/rgw_rest_s3.cc @@ -275,9 +275,8 @@ void RGWCompleteMultipart_REST_S3::send_response() dump_start(s); s->formatter->open_object_section_in_ns("CompleteMultipartUploadResult", "http://s3.amazonaws.com/doc/2006-03-01/"); - const char *gateway_dns_name = s->env->get("RGW_DNS_NAME"); - if (gateway_dns_name) - s->formatter->dump_format("Location", "%s.%s", s->bucket_name, gateway_dns_name); + if (g_conf->rgw_dns_name.length()) + s->formatter->dump_format("Location", "%s.%s", s->bucket_name, g_conf->rgw_dns_name.c_str()); s->formatter->dump_format("Bucket", s->bucket_name); s->formatter->dump_format("Key", s->object); s->formatter->dump_format("ETag", etag.c_str());