[tor-commits] [tor/release-0.2.9] When extending a circuit's path length, clear onehop_tunnel.

teor at torproject.org teor at torproject.org
Fri Mar 1 04:38:24 UTC 2019


commit 33a80921a2e7bbf128c27a1a0c4903a9a322708a
Author: Nick Mathewson <nickm at torproject.org>
Date:   Mon Mar 26 09:17:50 2018 -0400

    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.
---
 changes/bug24903 | 5 +++++
 src/or/control.c | 3 +++
 2 files changed, 8 insertions(+)

diff --git a/changes/bug24903 b/changes/bug24903
new file mode 100644
index 000000000..01c9b53f2
--- /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 03d9fcee2..ff7f2e8b8 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;
   });





More information about the tor-commits mailing list