[tor-commits] [tor/master] Clean up choose_good_entry_server() doc; add assertion

nickm at torproject.org nickm at torproject.org
Thu Aug 24 13:18:46 UTC 2017


commit df3bdc6bdeb7e8eef13248ba245a70fd8cbf1f86
Author: Nick Mathewson <nickm at 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,





More information about the tor-commits mailing list