[tor-commits] [tor/master] be willing to use nodes in excludeexitnodes as directory mirrors

nickm at torproject.org nickm at torproject.org
Tue Apr 24 19:28:16 UTC 2012


commit 526beb7be64aaff9af6e26bde8092c8e54eb5d6d
Author: Roger Dingledine <arma at torproject.org>
Date:   Tue Apr 24 11:26:05 2012 -0400

    be willing to use nodes in excludeexitnodes as directory mirrors
    
    fixes bug 5623.
---
 changes/bug5623          |    6 ++++++
 src/or/connection_edge.c |    8 ++++++--
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/changes/bug5623 b/changes/bug5623
new file mode 100644
index 0000000..285a5b1
--- /dev/null
+++ b/changes/bug5623
@@ -0,0 +1,6 @@
+  o Minor bugfixes:
+    - After we pick a directory mirror, we would refuse to use it if
+      it's in our ExcludeExitNodes list, resulting in mysterious failures
+      to bootstrap for people who just wanted to avoid exiting from
+      certain locations. Fixes bug 5623; bugfix on 0.2.2.25-alpha.
+
diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c
index dd772b2..03558e5 100644
--- a/src/or/connection_edge.c
+++ b/src/or/connection_edge.c
@@ -3368,8 +3368,12 @@ connection_ap_can_use_exit(const entry_connection_t *conn, const node_t *exit)
     }
   }
 
-  if (conn->socks_request->command == SOCKS_COMMAND_CONNECT &&
-      !conn->use_begindir) {
+  if (conn->use_begindir) {
+    /* Internal directory fetches do not count as exiting. */
+    return 1;
+  }
+
+  if (conn->socks_request->command == SOCKS_COMMAND_CONNECT) {
     struct in_addr in;
     tor_addr_t addr, *addrp = NULL;
     addr_policy_result_t r;





More information about the tor-commits mailing list