commit df3bdc6bdeb7e8eef13248ba245a70fd8cbf1f86 Author: Nick Mathewson nickm@torproject.org Date: Mon Jul 31 20:35:58 2017 -0400
Clean up choose_good_entry_server() doc; add assertion
We used to allow state==NULL here, but we no longer do.
Fixes bug 22779. --- changes/bug22779 | 4 ++++ src/or/circuitbuild.c | 8 +++++--- 2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/changes/bug22779 b/changes/bug22779 new file mode 100644 index 000000000..dc5bc3859 --- /dev/null +++ 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 index 16cef0e56..f7dc7cbc6 100644 --- a/src/or/circuitbuild.c +++ b/src/or/circuitbuild.c @@ -2358,9 +2358,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. @@ -2378,6 +2375,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,
tor-commits@lists.torproject.org