tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit 87fb8b641769688c88a6a23ed286ca44bfd989c1
parent d6c89b1ae1b18cc3cae42638d7bbe1edd7e35715
Author: Alexander Færøy <ahf@torproject.org>
Date:   Wed, 30 Aug 2023 14:43:21 +0200

Remove defensive assertion in `relay_key_is_unavailable_()`.

This patch removes a call to `tor_assert_nonfatal_unreached()` in
`relay_key_is_unavailable_()` that is only called when Tor is compiled
without relay support.

Unfortunately, the non-fatal assertion causes a BUG log
message to appear for clients when they start up without relay support
for each CPU worker we spawn. This makes it spotting issues during
bootstrap harder particularly for our iOS developers.

Since the call sites to `get_master_identity_key()` handles `NULL`
values already, we do not think this will be an issue later on.

Reported by Benjamin Erhart (@tla) from Guardian Project.

Fixes tpo/core/tor#40848.

Diffstat:
Achanges/ticket40848 | 4++++
Msrc/feature/relay/routerkeys.h | 1-
2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/changes/ticket40848 b/changes/ticket40848 @@ -0,0 +1,4 @@ + o Minor bugfix (defensive programming): + - Disable multiple BUG warnings of a missing relay identity key when + starting an instance of Tor compiled without relay support. + Fixes bug 40848; bugfix on 0.4.3.1-alpha. diff --git a/src/feature/relay/routerkeys.h b/src/feature/relay/routerkeys.h @@ -53,7 +53,6 @@ void routerkeys_free_all(void); static inline void * relay_key_is_unavailable_(void) { - tor_assert_nonfatal_unreached(); return NULL; } #define relay_key_is_unavailable(type) \