From 840530e42a7adeb8045777d6cc4dbfb29344815e Mon Sep 17 00:00:00 2001 From: Yehuda Sadeh Date: Fri, 6 Aug 2010 14:13:21 -0700 Subject: [PATCH] rgw: make gateway dns name configurable --- src/rgw/rgw_rest.cc | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/rgw/rgw_rest.cc b/src/rgw/rgw_rest.cc index dc5c9083be830..a3440a53182d4 100644 --- a/src/rgw/rgw_rest.cc +++ b/src/rgw/rgw_rest.cc @@ -446,6 +446,14 @@ void RGWPutACLs_REST::send_response() void init_entities_from_header(struct req_state *s) { + const char *gateway_dns_name; + + gateway_dns_name = FCGX_GetParam("RGW_DNS_NAME", s->fcgx->envp); + if (!gateway_dns_name) + gateway_dns_name = "s3."; + + RGW_LOG(20) << "gateway_dns_name = " << gateway_dns_name << endl; + s->bucket = NULL; s->bucket_str = ""; s->object = NULL; @@ -456,9 +464,9 @@ void init_entities_from_header(struct req_state *s) string h(s->host); RGW_LOG(10) << "host=" << s->host << endl; - pos = h.find("s3."); - - if (pos > 0) { + pos = h.find(gateway_dns_name); + + if (pos > 0 && h[pos - 1] == '.') { string encoded_bucket = h.substr(0, pos-1); url_decode(encoded_bucket, s->bucket_str); s->bucket = s->bucket_str.c_str(); -- 2.47.3