From: Nick Mathewson Date: Fri, 1 Feb 2008 05:27:12 +0000 (+0000) Subject: r17863@catbus: nickm | 2008-02-01 00:27:07 -0500 X-Git-Tag: tor-0.2.0.19-alpha~70 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=91bac90310c41722d8a50ca9adf9006778f4d575;p=thirdparty%2Ftor.git r17863@catbus: nickm | 2008-02-01 00:27:07 -0500 Bugfix from weasel: possible fix for 593: make connection_write_to_buf("") work when using zlib compression. svn:r13347 --- diff --git a/ChangeLog b/ChangeLog index ca2c8554dc..fccc2e5be5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -14,6 +14,8 @@ Changes in version 0.2.0.19-alpha - 2008-0?-?? - When our consensus networkstatus has been expired for a while, stop being willing to build circuits using it. Fixes bug 401. Bugfix on 0.1.2.x. + - Stop incorrectly truncating zlib responses to directory authority + signature download requests. Fix for bug 593. Bugfix on 0.2.0.x. Changes in version 0.2.0.18-alpha - 2008-01-25 diff --git a/src/or/connection.c b/src/or/connection.c index e64a623ff1..6564b2d504 100644 --- a/src/or/connection.c +++ b/src/or/connection.c @@ -2250,7 +2250,7 @@ _connection_write_to_buf_impl(const char *string, size_t len, /* XXXX This function really needs to return -1 on failure. */ int r; size_t old_datalen; - if (!len) + if (!len && !(zlib<0)) return; /* if it's marked for close, only allow write if we mean to flush it */ if (conn->marked_for_close && !conn->hold_open_until_flushed) diff --git a/src/or/directory.c b/src/or/directory.c index c64f290c04..0a7c562fdd 100644 --- a/src/or/directory.c +++ b/src/or/directory.c @@ -2385,7 +2385,7 @@ directory_handle_command_get(dir_connection_t *conn, const char *headers, estimated_len += body_len; SMARTLIST_FOREACH(items, const char *, item, { size_t ln = strlen(item); - if (compressed ) { + if (compressed) { estimated_len += ln/2; } else { body_len += ln; estimated_len += ln;