tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit f4f828640f25d73e9a29c3d901af4ab594de0d56
parent 53c82c0821737ce76bb99a75b5f309d0b2d715ba
Author: Nick Mathewson <nickm@torproject.org>
Date:   Thu, 24 Aug 2017 09:18:39 -0400

Merge branch 'bug22779_031'

Diffstat:
Achanges/bug22779 | 4++++
Msrc/or/circuitbuild.c | 8+++++---
2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/changes/bug22779 b/changes/bug22779 @@ -0,0 +1,4 @@ + o Minor features (client, entry guards): + - Add an extra check to make sure that we always use the + new guard selection code for picking our guards. Closes + ticket 22779. diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c @@ -2468,9 +2468,6 @@ choose_good_middle_server(uint8_t purpose, * router (if we're an OR), and respect firewall settings; if we're * configured to use entry guards, return one. * - * If <b>state</b> is NULL, we're choosing a router to serve as an entry - * guard, not for any particular circuit. - * * Set *<b>guard_state_out</b> to information about the guard that * we're selecting, which we'll use later to remember whether the * guard worked or not. @@ -2488,6 +2485,11 @@ choose_good_entry_server(uint8_t purpose, cpath_build_state_t *state, CRN_DIRECT_CONN); const node_t *node; + /* Once we used this function to select a node to be a guard. We had + * 'state == NULL' be the signal for that. But we don't do that any more. + */ + tor_assert_nonfatal(state); + if (state && options->UseEntryGuards && (purpose != CIRCUIT_PURPOSE_TESTING || options->BridgeRelay)) { /* This request is for an entry server to use for a regular circuit,