[tor-commits] [tor/master] Don't overwrite the Content-Type when compressing

nickm at torproject.org nickm at torproject.org
Fri Nov 2 17:19:30 UTC 2018


commit 1b75de85b3cbc7706078a9899e483d18579a6fd1
Author: Alex Xu (Hello71) <alex_y_xu at yahoo.ca>
Date:   Fri Oct 19 09:53:23 2018 -0400

    Don't overwrite the Content-Type when compressing
---
 changes/ticket28100             |  3 +++
 src/feature/dircache/dircache.c | 14 ++++----------
 2 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/changes/ticket28100 b/changes/ticket28100
new file mode 100644
index 000000000..b8e327101
--- /dev/null
+++ b/changes/ticket28100
@@ -0,0 +1,3 @@
+  o Minor features (HTTP standards compliance):
+    - Don't send Content-Type: application/octet-stream for transparently
+      compressed documents, which confused browsers. Closes ticket 28100.
diff --git a/src/feature/dircache/dircache.c b/src/feature/dircache/dircache.c
index 872a88018..dff4b85ca 100644
--- a/src/feature/dircache/dircache.c
+++ b/src/feature/dircache/dircache.c
@@ -166,22 +166,16 @@ write_http_response_header_impl(dir_connection_t *conn, ssize_t length,
   buf_free(buf);
 }
 
-/** As write_http_response_header_impl, but sets encoding and content-typed
- * based on whether the response will be <b>compressed</b> or not. */
+/** As write_http_response_header_impl, but translates method into
+ * encoding */
 static void
 write_http_response_headers(dir_connection_t *conn, ssize_t length,
                             compress_method_t method,
                             const char *extra_headers, long cache_lifetime)
 {
-  const char *methodname = compression_method_get_name(method);
-  const char *doctype;
-  if (method == NO_METHOD)
-    doctype = "text/plain";
-  else
-    doctype = "application/octet-stream";
   write_http_response_header_impl(conn, length,
-                                  doctype,
-                                  methodname,
+                                  "text/plain",
+                                  compression_method_get_name(method),
                                   extra_headers,
                                   cache_lifetime);
 }





More information about the tor-commits mailing list