From: Nick Mathewson Date: Fri, 7 Dec 2012 19:12:17 +0000 (-0500) Subject: Merge branch 'win64-7260' X-Git-Tag: tor-0.2.4.7-alpha~15 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3fa9151f2610fdad23df02b2b914881286b22480;p=thirdparty%2Ftor.git Merge branch 'win64-7260' Conflicts: src/or/dns.c --- 3fa9151f2610fdad23df02b2b914881286b22480 diff --cc src/or/dns.c index 870494a937,aafe5bea5a..e279fbc3ba --- a/src/or/dns.c +++ b/src/or/dns.c @@@ -890,19 -763,29 +890,19 @@@ dns_resolve_impl(edge_connection_t *exi pending_connection->next = resolve->pending_connections; resolve->pending_connections = pending_connection; *made_connection_pending_out = 1; - log_debug(LD_EXIT,"Connection (fd %d) waiting for pending DNS " - "resolve of %s", exitconn->base_.s, + log_debug(LD_EXIT,"Connection (fd "TOR_SOCKET_T_FORMAT") waiting " + "for pending DNS resolve of %s", exitconn->base_.s, escaped_safe_str(exitconn->base_.address)); return 0; - case CACHE_STATE_CACHED_VALID: + case CACHE_STATE_CACHED: - log_debug(LD_EXIT,"Connection (fd %d) found cachedresult for %s", + log_debug(LD_EXIT,"Connection (fd "TOR_SOCKET_T_FORMAT") found " + "cached answer for %s", exitconn->base_.s, escaped_safe_str(resolve->address)); - exitconn->address_ttl = resolve->ttl; - if (resolve->is_reverse) { - tor_assert(is_resolve); - *hostname_out = tor_strdup(resolve->result.hostname); - } else { - tor_addr_from_ipv4h(&exitconn->base_.addr, resolve->result.a.addr); - } - return 1; - case CACHE_STATE_CACHED_FAILED: - log_debug(LD_EXIT,"Connection (fd "TOR_SOCKET_T_FORMAT") found cached " - "error for %s", - exitconn->base_.s, - escaped_safe_str(exitconn->base_.address)); - return -1; + + *resolve_out = resolve; + + return set_exitconn_info_from_resolve(exitconn, resolve, hostname_out); - case CACHE_STATE_DONE: log_err(LD_BUG, "Found a 'DONE' dns resolve still in the cache."); tor_fragile_assert(); @@@ -1968,9 -1610,10 +1969,9 @@@ launch_wildcard_check(int min_len, int /** Launch attempts to resolve a bunch of known-good addresses (configured in * ServerDNSTestAddresses). [Callback for a libevent timer] */ static void - launch_test_addresses(int fd, short event, void *args) + launch_test_addresses(evutil_socket_t fd, short event, void *args) { const or_options_t *options = get_options(); - struct evdns_request *req; (void)fd; (void)event; (void)args;