]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
bugfix: now that we don't do the client dns thing, our checks
authorRoger Dingledine <arma@torproject.org>
Sun, 13 Mar 2005 05:53:17 +0000 (05:53 +0000)
committerRoger Dingledine <arma@torproject.org>
Sun, 13 Mar 2005 05:53:17 +0000 (05:53 +0000)
to see if somebody was contradicting his exit policy were wrong.

svn:r3755

src/or/relay.c

index 7195b998b1f4c8f3477afe5813d702def0f54d50..39246c75f286c8ec3a1be6bb90b6e226c96f28e7 100644 (file)
@@ -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 =