Fix NXDOMAIN RCODE in auth PTR replies.
diff --git a/CHANGELOG b/CHANGELOG
index e0c91d0..c6a6f20 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -80,6 +80,10 @@
encountered. Thanks to Andy and the rt-n56u project for
find this and helping to chase it down.
+ Fix wrong RCODE in authoritative DNS replies to PTR queries. The
+ correct answer was included, but the RCODE was set to NXDOMAIN.
+ Thanks to Craig McQueen for spotting this.
+
version 2.68
Use random addresses for DHCPv6 temporary address
diff --git a/src/auth.c b/src/auth.c
index d6fdef6..066a9e4 100644
--- a/src/auth.c
+++ b/src/auth.c
@@ -231,8 +231,10 @@
} while ((crecp = cache_find_by_addr(crecp, &addr, now, flag)));
- if (!found)
- log_query(flag | F_NEG | F_NXDOMAIN | F_REVERSE | F_AUTH, NULL, &addr, NULL);
+ if (found)
+ nxdomain = 0;
+ else
+ log_query(flag | F_NEG | F_NXDOMAIN | F_REVERSE | (auth ? F_AUTH : 0), NULL, &addr, NULL);
continue;
}