diff options
author | Roger Dingledine <arma@torproject.org> | 2005-03-13 05:53:17 +0000 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2005-03-13 05:53:17 +0000 |
commit | cabb8624e2aa2e5ae616a58e1b3a2373628e825c (patch) | |
tree | 3de95886f5b5594523e0fc6b16ee5dbcd1614f47 /src | |
parent | a6b742dfb2ac763cba0252eaf226226cf262b7ab (diff) | |
download | tor-cabb8624e2aa2e5ae616a58e1b3a2373628e825c.tar.gz tor-cabb8624e2aa2e5ae616a58e1b3a2373628e825c.zip |
bugfix: now that we don't do the client dns thing, our checks
to see if somebody was contradicting his exit policy were wrong.
svn:r3755
Diffstat (limited to 'src')
-rw-r--r-- | src/or/relay.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/or/relay.c b/src/or/relay.c index 7195b998b1..39246c75f2 100644 --- a/src/or/relay.c +++ b/src/or/relay.c @@ -582,6 +582,7 @@ static int connection_edge_process_relay_cell_not_open( relay_header_t *rh, cell_t *cell, circuit_t *circ, connection_t *conn, crypt_path_t *layer_hint) { + struct in_addr in; uint32_t addr; int reason; routerinfo_t *exitrouter; @@ -614,7 +615,8 @@ connection_edge_process_relay_cell_not_open( log_fn(LOG_INFO,"Skipping broken circ (exit router vanished)"); return 0; /* this circuit is screwed and doesn't know it yet */ } - if (connection_ap_can_use_exit(conn, exitrouter)) { + if (!tor_inet_aton(conn->socks_request->address, &in) && + !conn->chosen_exit_name) { log_fn(LOG_NOTICE,"Exitrouter '%s' seems to be more restrictive than its exit policy. Not using this router as exit for now.", exitrouter->nickname); addr_policy_free(exitrouter->exit_policy); exitrouter->exit_policy = |