]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Clean up choose_good_entry_server() doc; add assertion
authorNick Mathewson <nickm@torproject.org>
Tue, 1 Aug 2017 00:35:58 +0000 (20:35 -0400)
committerNick Mathewson <nickm@torproject.org>
Tue, 1 Aug 2017 00:35:58 +0000 (20:35 -0400)
We used to allow state==NULL here, but we no longer do.

Fixes bug 22779.

changes/bug22779 [new file with mode: 0644]
src/or/circuitbuild.c

diff --git a/changes/bug22779 b/changes/bug22779
new file mode 100644 (file)
index 0000000..dc5bc38
--- /dev/null
@@ -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.
index 16cef0e56bf90d09b4ceb59ab7a112a068b0f47c..f7dc7cbc6aea9fe27ad5799233cdffbed6deccfd 100644 (file)
@@ -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,