summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2012-04-24 11:26:05 -0400
committerRoger Dingledine <arma@torproject.org>2012-04-24 11:26:05 -0400
commit526beb7be64aaff9af6e26bde8092c8e54eb5d6d (patch)
tree036631259d4e4e38eef73ea8174db16a1ca76b35
parentbdd7e2878b642e3ab06a62d9097ae5e7484240e9 (diff)
downloadtor-526beb7be64aaff9af6e26bde8092c8e54eb5d6d.tar.gz
tor-526beb7be64aaff9af6e26bde8092c8e54eb5d6d.zip
be willing to use nodes in excludeexitnodes as directory mirrors
fixes bug 5623.
-rw-r--r--changes/bug56236
-rw-r--r--src/or/connection_edge.c8
2 files changed, 12 insertions, 2 deletions
diff --git a/changes/bug5623 b/changes/bug5623
new file mode 100644
index 0000000000..285a5b1d79
--- /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 dd772b22c6..03558e557c 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;