commit 3fa9151f2610fdad23df02b2b914881286b22480 Merge: cd4f56a 4458fd0 Author: Nick Mathewson nickm@torproject.org Date: Fri Dec 7 14:12:17 2012 -0500
Merge branch 'win64-7260'
Conflicts: src/or/dns.c
changes/bug7260 | 3 +++ configure.ac | 2 ++ src/common/compat.c | 3 +-- src/common/compat.h | 15 +++++++++++++++ src/common/procmon.c | 37 ++++++++++++++++++++++++++----------- src/or/connection.c | 2 +- src/or/connection_edge.c | 14 +++++++++----- src/or/connection_or.c | 20 ++++++++++++-------- src/or/control.c | 3 ++- src/or/cpuworker.c | 2 +- src/or/dns.c | 15 ++++++++------- src/or/main.c | 2 +- src/or/relay.c | 6 ++++-- src/test/test_addr.c | 2 +- src/test/test_containers.c | 8 ++++---- src/test/test_crypto.c | 6 +++--- src/test/test_util.c | 10 +++++----- src/win32/orconfig.h | 6 ++++++ 18 files changed, 104 insertions(+), 52 deletions(-)
diff --cc src/or/dns.c index 870494a,aafe5be..e279fbc --- 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;