From 6c35ad08cf36d36a5e2ff888cb7dc8c8df5efe10 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Tue, 22 May 2018 08:54:17 -0400 Subject: [PATCH] Add a missing "return -1" when checking for Ed25519 ID loops Fixes bug 26158; bugfix on 0.3.0.1-alpha. --- changes/bug26158 | 5 +++++ src/or/circuitbuild.c | 1 + 2 files changed, 6 insertions(+) create mode 100644 changes/bug26158 diff --git a/changes/bug26158 b/changes/bug26158 new file mode 100644 index 0000000000..5ae1c30600 --- /dev/null +++ b/changes/bug26158 @@ -0,0 +1,5 @@ + o Minor bugfixes (relay): + - Relays now correctly block attempts to re-extend to the previous + relay by Ed25519 identity. Previously they would warn in this case, + but not actually reject the attempt. Fixes bug 26158; bugfix on + 0.3.0.1-alpha. diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c index 16cef0e56b..41ae51a3f2 100644 --- a/src/or/circuitbuild.c +++ b/src/or/circuitbuild.c @@ -1267,6 +1267,7 @@ circuit_extend(cell_t *cell, circuit_t *circ) log_fn(LOG_PROTOCOL_WARN, LD_PROTOCOL, "Client asked me to extend back to the previous hop " "(by Ed25519 ID)."); + return -1; } n_chan = channel_get_for_extend((const char*)ec.node_id,