Browse Source

r8881@Kushana: nickm | 2006-09-21 17:27:59 -0400
Allow resolve requests to non-exits when they are specifically requested (via resolve foo.bar.exit).


svn:r8446

Nick Mathewson 17 years ago
parent
commit
4f13cb82fd
2 changed files with 5 additions and 3 deletions
  1. 3 2
      ChangeLog
  2. 2 1
      src/or/circuituse.c

+ 3 - 2
ChangeLog

@@ -11,8 +11,9 @@ Changes in version 0.1.2.2-alpha - 2006-??-??
     - Check for name servers (like Earthlink's) that hijack failing DNS
       requests and replace the 'no such server' answer with a "helpful"
       redirect to an advertising-driven search portal.  [Resolves bug 330.]
-    - When asked to resolve a hostname, don't use non-exit servers.  This
-      allows servers with broken DNS be useful to the network.
+    - When asked to resolve a hostname, don't use non-exit servers unless
+      requested to do so.  This allows servers with broken DNS be useful to
+      the network.
 
   o Security Fixes, minor
     - If a client asked for a server by name, and we didn't have a

+ 2 - 1
src/or/circuituse.c

@@ -1225,7 +1225,8 @@ connection_ap_handshake_attach_circuit(edge_connection_t *conn)
         }
         return -1;
       }
-      if (!connection_ap_can_use_exit(conn, router)) {
+      if (conn->_base.purpose != EXIT_PURPOSE_RESOLVE &&
+          !connection_ap_can_use_exit(conn, router)) {
         log_fn(opt ? LOG_INFO : LOG_WARN, LD_APP,
                "Requested exit point '%s' would refuse request. %s.",
                conn->chosen_exit_name, opt ? "Trying others" : "Closing");