]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
Fix casing of Content-Type header 5801/head
authorRobin H. Johnson <robin.johnson@dreamhost.com>
Fri, 4 Sep 2015 01:07:48 +0000 (01:07 +0000)
committerRobin H. Johnson <robin.johnson@dreamhost.com>
Fri, 4 Sep 2015 01:18:11 +0000 (01:18 +0000)
It turns out, despite the HTTP spec declaring that header field names
should be case-insensitive, some clients treat them wrongly, and
consider "Content-type" to not match "Content-Type".

CyberDuck was one of those clients, now fixed upstream in
https://trac.cyberduck.io/ticket/8999

To reduce future occurances of this bug, fix the casing of the
Content-Type header, to strictly comply with the HTTP specification (be
strict about what you send, and generous about what you receive).

Fixes: #12939
Backport: infernalis, hammer, firefly
Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
src/rgw/rgw_rest.cc

index c69d7ecefc20ee01a28b3383beea49db0bcb917a..1b96ad9cb3dfd4cb54e39554f1b75ff0d589b9ee 100644 (file)
@@ -557,7 +557,7 @@ void end_header(struct req_state *s, RGWOp *op, const char *content_type, const
 
   int r;
   if (content_type) {
-      r = s->cio->print("Content-type: %s\r\n", content_type);
+      r = s->cio->print("Content-Type: %s\r\n", content_type);
       if (r < 0) {
        ldout(s->cct, 0) << "ERROR: s->cio->print() returned err=" << r << dendl;
       }