commit 630563719728e039364b1e4cc2ada9017405a383 Author: Alexander Færøy ahf@torproject.org Date: Mon May 8 16:25:20 2017 +0200
Use tor_compress_supports_method() instead of constants.
See: https://bugs.torproject.org/21667 --- src/or/directory.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/or/directory.c b/src/or/directory.c index 3df5be9..56d1cca 100644 --- a/src/or/directory.c +++ b/src/or/directory.c @@ -2336,14 +2336,14 @@ connection_dir_client_reached_eof(dir_connection_t *conn) description2, (compression>0 && guessed>0)?" Trying both.":""); } - /* Try declared compression first if we can. */ - if (compression == GZIP_METHOD || compression == ZLIB_METHOD) + /* Try declared compression first if we can. + * tor_compress_supports_method() also returns true for NO_METHOD. */ + if (tor_compress_supports_method(compression)) tor_uncompress(&new_body, &new_len, body, body_len, compression, !allow_partial, LOG_PROTOCOL_WARN); /* Okay, if that didn't work, and we think that it was compressed * differently, try that. */ - if (!new_body && - (guessed == GZIP_METHOD || guessed == ZLIB_METHOD) && + if (!new_body && tor_compress_supports_method(guessed) && compression != guessed) tor_uncompress(&new_body, &new_len, body, body_len, guessed, !allow_partial, LOG_PROTOCOL_WARN);