aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2012-04-24 15:25:21 -0400
committerNick Mathewson <nickm@torproject.org>2012-04-24 15:25:21 -0400
commitf86bd1d5a4a5d71f7a529966341a37dbadd7a79f (patch)
treef2ff93a1cef73ac677ad28b313323c1c4a60ced6
parent1cbde0bd504c49043fd6b4a9f09752b02cbbd908 (diff)
parent526beb7be64aaff9af6e26bde8092c8e54eb5d6d (diff)
downloadtor-f86bd1d5a4a5d71f7a529966341a37dbadd7a79f.tar
tor-f86bd1d5a4a5d71f7a529966341a37dbadd7a79f.tar.gz
Merge remote-tracking branch 'arma/bug5623'
-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 000000000..285a5b1d7
--- /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 dd772b22c..03558e557 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;