From c9b674d5110278f98c48f7e36653141bd39416dd Mon Sep 17 00:00:00 2001 From: teor Date: Wed, 18 Mar 2020 18:07:14 +1000 Subject: relay: Protocol warn when a client gets an extend circuit_extend() may be called when a client receives an extend cell, even if the relay module is disabled. Log a protocol warning when the relay module is disabled. Part of 33633. --- src/feature/relay/circuitbuild_relay.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/feature/relay/circuitbuild_relay.h') diff --git a/src/feature/relay/circuitbuild_relay.h b/src/feature/relay/circuitbuild_relay.h index decc28d3a8..890b40dc20 100644 --- a/src/feature/relay/circuitbuild_relay.h +++ b/src/feature/relay/circuitbuild_relay.h @@ -13,6 +13,9 @@ #define TOR_FEATURE_RELAY_CIRCUITBUILD_RELAY_H #include "lib/cc/torint.h" +#include "lib/log/log.h" + +#include "app/config/config.h" struct cell_t; struct created_cell_t; @@ -20,6 +23,14 @@ struct created_cell_t; struct circuit_t; struct or_circuit_t; +/* Log a protocol warning about getting an extend cell on a client. */ +static inline void +circuitbuild_warn_client_extend(void) +{ + log_fn(LOG_PROTOCOL_WARN, LD_PROTOCOL, + "Got an extend cell, but running as a client. Closing."); +} + #ifdef HAVE_MODULE_RELAY int circuit_extend(struct cell_t *cell, struct circuit_t *circ); @@ -36,7 +47,7 @@ circuit_extend(struct cell_t *cell, struct circuit_t *circ) { (void)cell; (void)circ; - tor_assert_nonfatal_unreached(); + circuitbuild_warn_client_extend(); return -1; } -- cgit v1.2.3-54-g00ecf