From e7ac17fdf51f0c91af7640f10fac80f203f4f259 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 31 Jan 2007 00:58:06 +0000 Subject: [PATCH] r11613@catbus: nickm | 2007-01-30 19:58:03 -0500 Re-enable server side PTR-record cacheing. svn:r9468 --- ChangeLog | 1 + doc/TODO | 2 +- src/or/dns.c | 6 +----- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 87741bb764..0abd417449 100644 --- a/ChangeLog +++ b/ChangeLog @@ -85,6 +85,7 @@ Changes in version 0.1.2.7-alpha - 2007-??-?? ready yet. As part of the change, now assume we can use a create_fast cell if we don't know anything about a router. - Allow exit nodes to use nameservers running on ports other than 53. + - Servers now cache reverse DNS replies. o Minor features (controller): - Track reasons for OR connection failure; make these reasons diff --git a/doc/TODO b/doc/TODO index 6115f2d383..1fe909014c 100644 --- a/doc/TODO +++ b/doc/TODO @@ -71,7 +71,7 @@ N - DNS improvements - Make evdns use windows strerror equivalents. . Make sure patches get into libevent. - Verify that it works well on windows - - Debug and re-enable server-side reverse DNS caching + o Debug and re-enable server-side reverse DNS caching - Critical but minor bugs, backport candidates. - support dir 503s better diff --git a/src/or/dns.c b/src/or/dns.c index 40897d3076..3137a67de8 100644 --- a/src/or/dns.c +++ b/src/or/dns.c @@ -499,6 +499,7 @@ send_resolved_hostname_cell(edge_connection_t *conn, or_circuit_t *circ, size_t buflen; uint32_t ttl; size_t namelen = strlen(hostname); + tor_assert(hostname); tor_assert(namelen < 256); ttl = dns_clip_ttl(conn->address_ttl); @@ -902,11 +903,6 @@ add_answer_to_cache(const char *address, int is_reverse, uint32_t addr, if (outcome == DNS_RESOLVE_FAILED_TRANSIENT) return; - /* XXXX012 This is dumb, but it seems to workaround a bug I can't find. We - * should nail this so we can cache reverse DNS answers. -NM */ - if (is_reverse) - return; - //log_notice(LD_EXIT, "Adding to cache: %s -> %s (%lx, %s), %d", // address, is_reverse?"(reverse)":"", (unsigned long)addr, // hostname?hostname:"NULL",(int)outcome);