Use tor_compress_supports_method() instead of constants.

See: https://bugs.torproject.org/21667
This commit is contained in:
Alexander Færøy 2017-05-08 16:25:20 +02:00
parent 61b6de5906
commit 6305637197
No known key found for this signature in database
GPG Key ID: E15081D5D3C3DB53

View File

@ -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);