diff --git a/src/or/dns.c b/src/or/dns.c index ebe52e2dbf..c07cba8e24 100644 --- a/src/or/dns.c +++ b/src/or/dns.c @@ -109,11 +109,21 @@ int dns_resolve(connection_t *exitconn) { struct cached_resolve *resolve; struct cached_resolve search; struct pending_connection_t *pending_connection; + struct in_addr in; uint32_t now = time(NULL); assert_connection_ok(exitconn, 0); - /* first take this opportunity to see if there are any expired - resolves in the tree.*/ +#if 0 /* only enable this once we've found the conn-munging bug */ + /* first check if exitconn->address is an IP. If so, we already + * know the answer. */ + if (tor_inet_aton(exitconn->address, &in) != 0) { + exitconn->addr = ntohl(in.s_addr); + return 1; + } +#endif + + /* then take this opportunity to see if there are any expired + * resolves in the tree. */ purge_expired_resolves(now); /* now check the tree to see if 'address' is already there. */