]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
LetsKillNoConnect removes support for .noconnect
authorJacob Appelbaum <jacob@appelbaum.net>
Sun, 9 Aug 2009 02:15:22 +0000 (19:15 -0700)
committerJacob Appelbaum <jacob@appelbaum.net>
Sun, 9 Aug 2009 02:15:22 +0000 (19:15 -0700)
This is a patch to remove support for .noconnect.
We are removing .noconnect because of a talk at Defcon 17 by Gregory Fleischer.

ChangeLog
doc/spec/address-spec.txt
src/or/connection_edge.c
src/or/dnsserv.c

index 1d9b71b7667fd91bc5dc773be87001769dfb4e42..b1f45f1ffde910666553f653b06c9454147d5677 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -49,6 +49,7 @@ Changes in version 0.2.2.1-alpha - 2009-0?-??
     - The EXTENDED_EVENTS and VERBOSE_NAMES controller features are now
       always on; using them is necessary for correct forward-compatible
       controllers.
+    - Removal of support for .noconnect style addresses.
 
 
 Changes in version 0.2.1.20 - 2009-??-??
index 95641b49b8ee51e297bb62a9bf6277855333fb60..fdae9b82a4f6e80067ffd21661d0a5ab450d60d3 100644 (file)
   When Tor sees an address in this format, it tries to look up and connect to
   the specified hidden service.  See rend-spec.txt for full details.
 
-4. .noconnect
-
-  SYNTAX:  [string].noconnect
-
-  When Tor sees an address in this format, it immediately closes the
-  connection without attaching it to any circuit.  This is useful for
-  controllers that want to test whether a given application is indeed using
-  the same instance of Tor that they're controlling.
-
-5. [XXX Is there a ".virtual" address that we expose too, or is that
-just intended to be internal? -RD]
-
index 79496f7a9b7ccbd2f3c0152bfc44f00c0f5a950a..04fffd9f578fbfcd929eb9e300ccbea870c1bfe6 100644 (file)
@@ -1875,14 +1875,6 @@ connection_ap_handshake_process_socks(edge_connection_t *conn)
     return -1;
   } /* else socks handshake is done, continue processing */
 
-  if (hostname_is_noconnect_address(socks->address))
-  {
-    control_event_stream_status(conn, STREAM_EVENT_NEW, 0);
-    control_event_stream_status(conn, STREAM_EVENT_CLOSED, 0);
-    connection_mark_unattached_ap(conn, END_STREAM_REASON_DONE);
-    return -1;
-  }
-
   if (SOCKS_COMMAND_IS_CONNECT(socks->command))
     control_event_stream_status(conn, STREAM_EVENT_NEW, 0);
   else
@@ -2944,11 +2936,3 @@ failed:
     return BAD_HOSTNAME;
 }
 
-/** Check if the address is of the form "y.noconnect"
- */
-int
-hostname_is_noconnect_address(const char *address)
-{
-  return ! strcasecmpend(address, ".noconnect");
-}
-
index 08cf6530936e14e1eff32bc8736a0879f2f62825..b1e0ff104f89feb1eac27b6e754b16bdcd22e50d 100644 (file)
@@ -92,12 +92,7 @@ evdns_server_callback(struct evdns_server_request *req, void *_data)
     evdns_server_request_respond(req, DNS_ERR_NONE);
     return;
   }
-  if (q->type == EVDNS_TYPE_A) {
-    /* Refuse any attempt to resolve a noconnect address, right now. */
-    if (hostname_is_noconnect_address(q->name)) {
-      err = DNS_ERR_REFUSED;
-    }
-  } else {
+  if (q->type != EVDNS_TYPE_A) {
     tor_assert(q->type == EVDNS_TYPE_PTR);
   }