From f57d1b4c8cc4d08c6147423d7881be55ed2e88d9 Mon Sep 17 00:00:00 2001 From: Yehuda Sadeh Date: Fri, 1 Feb 2013 10:56:11 -0800 Subject: [PATCH] rgw: fix setting of NULL to string Fixes: #3777 s->env->get() returns char * and not string and can return NULL. Also, remove some old unused code. Signed-off-by: Yehuda Sadeh Reviewed-by: Greg Farnum (cherry picked from commit 9019fbbe8f84f530b6a8700dfe99dfeb03e0ed3d) --- src/rgw/rgw_rest.cc | 17 ++++++++--------- src/rgw/rgw_rest_s3.cc | 28 ---------------------------- 2 files changed, 8 insertions(+), 37 deletions(-) diff --git a/src/rgw/rgw_rest.cc b/src/rgw/rgw_rest.cc index c8c0bacf0a0cc..f46891744aa31 100644 --- a/src/rgw/rgw_rest.cc +++ b/src/rgw/rgw_rest.cc @@ -276,16 +276,15 @@ void dump_uri_from_state(struct req_state *s) if (strcmp(s->request_uri.c_str(), "/") == 0) { string location = "http://"; - location += s->env->get("SERVER_NAME"); - if (!location.empty()) { + string server = s->env->get("SERVER_NAME", ""); + location.append(server); + location += "/"; + if (!s->bucket_name_str.empty()) { + location += s->bucket_name_str; location += "/"; - if (!s->bucket_name_str.empty()) { - location += s->bucket_name_str; - location += "/"; - if (!s->object_str.empty()) { - location += s->object_str; - s->cio->print("Location: %s\n", location.c_str()); - } + if (!s->object_str.empty()) { + location += s->object_str; + s->cio->print("Location: %s\n", location.c_str()); } } } diff --git a/src/rgw/rgw_rest_s3.cc b/src/rgw/rgw_rest_s3.cc index dfa6827c7fff7..bdba0e9c8f425 100644 --- a/src/rgw/rgw_rest_s3.cc +++ b/src/rgw/rgw_rest_s3.cc @@ -18,34 +18,6 @@ using namespace ceph::crypto; -void dump_common_s3_headers(struct req_state *s, const char *etag, - size_t content_len, const char *conn_status) -{ - // how many elements do we expect to include in the response - unsigned int expected_var_len = 4; - map head_var; - - utime_t date = ceph_clock_now(s->cct); - if (!date.is_zero()) { - char buf[TIME_BUF_SIZE]; - date.sprintf(buf, TIME_BUF_SIZE); - head_var["date"] = buf; - } - - head_var["etag"] = etag; - head_var["conn_stat"] = conn_status; - head_var["server"] = s->env->get("HTTP_HOST"); - - // if we have all the variables we want go ahead and dump - if (head_var.size() == expected_var_len) { - dump_pair(s, "Date", head_var["date"].c_str()); - dump_etag(s, head_var["etag"].c_str()); - dump_content_length(s, content_len); - dump_pair(s, "Connection", head_var["conn_stat"].c_str()); - dump_pair(s, "Server", head_var["server"].c_str()); - } -} - void list_all_buckets_start(struct req_state *s) { s->formatter->open_array_section_in_ns("ListAllMyBucketsResult", -- 2.39.5