summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYehuda Sadeh <yehuda@inktank.com>2013-02-01 10:56:11 -0800
committerYehuda Sadeh <yehuda@inktank.com>2013-02-04 11:23:30 -0800
commit9019fbbe8f84f530b6a8700dfe99dfeb03e0ed3d (patch)
treedeb1506afdedbc03a785e9010f2437bfe83ed275
parente0acc330cb26e2cb47f21ce08b5bffc5c6c3c539 (diff)
downloadceph-9019fbbe8f84f530b6a8700dfe99dfeb03e0ed3d.tar.gz
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 <yehuda@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com>
-rw-r--r--src/rgw/rgw_rest.cc17
-rw-r--r--src/rgw/rgw_rest_s3.cc28
2 files changed, 8 insertions, 37 deletions
diff --git a/src/rgw/rgw_rest.cc b/src/rgw/rgw_rest.cc
index 3b553f3b0c9..72aab14c522 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", "<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 dfa6827c7ff..bdba0e9c8f4 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<string, string> 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",