From: Alexander Færøy Date: Wed, 15 Jan 2020 17:18:30 +0000 (+0000) Subject: Always escape BridgeDistribution value from torrc in descriptors. X-Git-Tag: tor-0.4.3.1-alpha~10^2~4 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3f20a69afb666e4dcd43e2f9182692502300a58d;p=thirdparty%2Ftor.git Always escape BridgeDistribution value from torrc in descriptors. When the BridgeDistribution value was added in commit ebab5215252f9fa810ae091c335c5ae6e619faaf the check for whether the value contains '\n' or '\r' was added as a requirement for whether or not the value should be escaped. This patch removes this check and makes sure we call `escaped()` on the value every time before we add it to a descriptor. See: https://bugs.torproject.org/32753 --- diff --git a/src/feature/relay/router.c b/src/feature/relay/router.c index e547b5a553..7ad0d1bd05 100644 --- a/src/feature/relay/router.c +++ b/src/feature/relay/router.c @@ -2914,9 +2914,8 @@ router_dump_router_to_string(routerinfo_t *router, } else { bd = "any"; } - if (strchr(bd, '\n') || strchr(bd, '\r')) - bd = escaped(bd); - smartlist_add_asprintf(chunks, "bridge-distribution-request %s\n", bd); + smartlist_add_asprintf(chunks, "bridge-distribution-request %s\n", + escaped(bd)); } if (router->onion_curve25519_pkey) {