Commit 33762b52 authored by Jacob Appelbaum's avatar Jacob Appelbaum
Browse files

LetsKillNoConnect removes support for .noconnect

This is a patch to remove support for .noconnect.
We are removing .noconnect because of a talk at Defcon 17 by Gregory Fleischer.
parent 07d95440
......@@ -49,6 +49,7 @@ Changes in version - 2009-0?-??
- The EXTENDED_EVENTS and VERBOSE_NAMES controller features are now
always on; using them is necessary for correct forward-compatible
- Removal of support for .noconnect style addresses.
Changes in version - 2009-??-??
......@@ -53,15 +53,3 @@
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]
......@@ -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);
......@@ -2944,11 +2936,3 @@ failed:
/** Check if the address is of the form "y.noconnect"
hostname_is_noconnect_address(const char *address)
return ! strcasecmpend(address, ".noconnect");
......@@ -92,12 +92,7 @@ evdns_server_callback(struct evdns_server_request *req, void *_data)
evdns_server_request_respond(req, DNS_ERR_NONE);
if (q->type == EVDNS_TYPE_A) {
/* Refuse any attempt to resolve a noconnect address, right now. */
if (hostname_is_noconnect_address(q->name)) {
} else {
if (q->type != EVDNS_TYPE_A) {
tor_assert(q->type == EVDNS_TYPE_PTR);
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment