From: Nick Mathewson Date: Fri, 1 Oct 2004 04:45:14 +0000 (+0000) Subject: Decode Content-Encoding header correctly. X-Git-Tag: tor-0.0.9pre1~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=91044765f2e6e734569523c41d88ba782a2542bf;p=thirdparty%2Ftor.git Decode Content-Encoding header correctly. svn:r2403 --- diff --git a/src/or/directory.c b/src/or/directory.c index 62958d5790..f6995305fa 100644 --- a/src/or/directory.c +++ b/src/or/directory.c @@ -229,10 +229,13 @@ static void directory_send_command(connection_t *conn, int purpose, switch(purpose) { case DIR_PURPOSE_FETCH_DIR: tor_assert(payload == NULL); - if(use_newer) + if(use_newer) { + log_fn(LOG_DEBUG, "Asking for compressed directory from server running %s", router->platform); connection_write_to_buf(fetchwholedir_z, strlen(fetchwholedir_z), conn); - else + } else { + log_fn(LOG_DEBUG, "Asking for uncompressed directory from server running %s", router->platform); connection_write_to_buf(fetchwholedir, strlen(fetchwholedir), conn); + } break; case DIR_PURPOSE_FETCH_RUNNING_LIST: tor_assert(payload == NULL); @@ -349,9 +352,9 @@ parse_http_response(char *headers, int *code, char **message, time_t *date, const char *enc = NULL; SMARTLIST_FOREACH(parsed_headers, const char *, s, if (!strcmpstart(s, "Content-Encoding: ")) { - enc = s+16; break; + enc = s+18; break; }); - if (!enc || strcmp(enc, "identity")) { + if (!enc || !strcmp(enc, "identity")) { *compression = 0; } else if (!strcmp(enc, "deflate") || !strcmp(enc, "x-deflate")) { *compression = ZLIB_METHOD;