From: Nick Mathewson Date: Mon, 26 Mar 2018 13:17:50 +0000 (-0400) Subject: When extending a circuit's path length, clear onehop_tunnel. X-Git-Tag: tor-0.3.3.4-alpha~9^2^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=33a80921a2e7bbf128c27a1a0c4903a9a322708a;p=thirdparty%2Ftor.git When extending a circuit's path length, clear onehop_tunnel. There was a nonfatal assertion in pathbias_should_count that would trigger if onehop_tunnel was set, but the desired_path_length was greater than 1. This patch fixes that. Fixes bug 24903; bugfix on 0.2.5.2-alpha. --- diff --git a/changes/bug24903 b/changes/bug24903 new file mode 100644 index 0000000000..01c9b53f23 --- /dev/null +++ b/changes/bug24903 @@ -0,0 +1,5 @@ + o Minor bugfixes (controller, reliability): + - Avoid a (nonfatal) assertion failure when extending a one-hop circuit + from the controller to become a multihop circuit. Fixes bug 24903; + bugfix on 0.2.5.2-alpha. + diff --git a/src/or/control.c b/src/or/control.c index 03d9fcee2a..ff7f2e8b85 100644 --- a/src/or/control.c +++ b/src/or/control.c @@ -3364,6 +3364,9 @@ handle_control_extendcircuit(control_connection_t *conn, uint32_t len, tor_assert(info); } circuit_append_new_exit(circ, info); + if (circ->build_state->desired_path_len > 1) { + circ->build_state->onehop_tunnel = 0; + } extend_info_free(info); first_node = 0; });