diff options
Diffstat (limited to 'src/feature/control/control_cmd.c')
-rw-r--r-- | src/feature/control/control_cmd.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/feature/control/control_cmd.c b/src/feature/control/control_cmd.c index 2950a1c0cc..dd0cde4f7d 100644 --- a/src/feature/control/control_cmd.c +++ b/src/feature/control/control_cmd.c @@ -817,11 +817,16 @@ handle_control_extendcircuit(control_connection_t *conn, circ->first_hop_from_controller = 1; } + circ->any_hop_from_controller = 1; + /* now circ refers to something that is ready to be extended */ first_node = zero_circ; SMARTLIST_FOREACH(nodes, const node_t *, node, { - extend_info_t *info = extend_info_from_node(node, first_node); + /* We treat every hop as an exit to try to negotiate congestion + * control, because we have no idea which hop the controller wil + * try to use for streams and when */ + extend_info_t *info = extend_info_from_node(node, first_node, true); if (!info) { tor_assert_nonfatal(first_node); log_warn(LD_CONTROL, |