diff options
author | Nick Mathewson <nickm@torproject.org> | 2004-10-01 04:45:14 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2004-10-01 04:45:14 +0000 |
commit | 91044765f2e6e734569523c41d88ba782a2542bf (patch) | |
tree | 0dc70b23db2908faa7e684d1d3c79514be2b620a | |
parent | eff780c815d1f5ffdc25cf15db7282e6e7f61e8c (diff) | |
download | tor-91044765f2e6e734569523c41d88ba782a2542bf.tar.gz tor-91044765f2e6e734569523c41d88ba782a2542bf.zip |
Decode Content-Encoding header correctly.
svn:r2403
-rw-r--r-- | src/or/directory.c | 11 |
1 files changed, 7 insertions, 4 deletions
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; |