From 698a4dcc8ae5c2a62a254ab2aff7b16d52598cc0 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Fri, 17 Oct 2008 03:23:13 +0000 Subject: [PATCH] 2465. [bug] Adb's handling of lame addresses was different for IPv4 and IPv6. [RT #18738] --- CHANGES | 3 +++ lib/dns/adb.c | 7 +++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 313ae5c9e9..700ccb80e0 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +2465. [bug] Adb's handling of lame addresses was different + for IPv4 and IPv6. [RT #18738] + 2464. [port] linux: check that a capability is present before trying to set it. [RT #18135] diff --git a/lib/dns/adb.c b/lib/dns/adb.c index f06b4a8b8a..a41515cdfd 100644 --- a/lib/dns/adb.c +++ b/lib/dns/adb.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: adb.c,v 1.242 2008/10/15 04:22:30 marka Exp $ */ +/* $Id: adb.c,v 1.243 2008/10/17 03:23:13 marka Exp $ */ /*! \file * @@ -1737,8 +1737,11 @@ copy_namehook_lists(dns_adb_t *adb, dns_adbfind_t *find, dns_name_t *qname, bucket = entry->lock_bucket; LOCK(&adb->entrylocks[bucket]); - if (entry_is_lame(adb, entry, qname, qtype, now)) + if (!FIND_RETURNLAME(find) + && entry_is_lame(adb, entry, qname, qtype, now)) { + find->options |= DNS_ADBFIND_LAMEPRUNED; goto nextv6; + } addrinfo = new_adbaddrinfo(adb, entry, find->port); if (addrinfo == NULL) { find->partial_result |= DNS_ADBFIND_INET6;