aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2021-05-27 10:49:37 -0400
committerNick Mathewson <nickm@torproject.org>2021-05-27 10:49:37 -0400
commitfc3d4e4c2fb527954780ba958659e70f35fffe6c (patch)
tree4ae2acc75831a45abac47e765202b81871bc8a51
parent4a7379b80a3d0f61d258b26f82d894da9b8cd0f5 (diff)
downloadtor-fc3d4e4c2fb527954780ba958659e70f35fffe6c.tar.gz
tor-fc3d4e4c2fb527954780ba958659e70f35fffe6c.zip
Upgrade and rate-limit compression failure message.
Without this message getting logged at 'WARN', it's hard to contextualize the messages we get about compression bombs, so this message should fix #40175. I'm rate-limiting this, however, since it _could_ get spammy if somebody on the network starts acting up. (Right now it should be very quiet; I've asked Sebastian to check it, and he says that he doesn't hit this message in practice.) Closes #40175.
-rw-r--r--src/feature/dirclient/dirclient.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/feature/dirclient/dirclient.c b/src/feature/dirclient/dirclient.c
index a5dd856729..b589e829f9 100644
--- a/src/feature/dirclient/dirclient.c
+++ b/src/feature/dirclient/dirclient.c
@@ -1944,7 +1944,9 @@ dir_client_decompress_response_body(char **bodyp, size_t *bodylenp,
/* If we're pretty sure that we have a compressed directory, and
* we didn't manage to uncompress it, then warn and bail. */
if (!plausible && !new_body) {
- log_fn(LOG_PROTOCOL_WARN, LD_HTTP,
+ const int LOG_INTERVAL = 3600;
+ static ratelim_t warning_limit = RATELIM_INIT(LOG_INTERVAL);
+ log_fn_ratelim(&warning_limit, LOG_WARN, LD_HTTP,
"Unable to decompress HTTP body (tried %s%s%s, on %s).",
description1,
tried_both?" and ":"",