+3981. [bug] Cache DS/NXDOMAIN independently of other query types.
+ [RT #37467]
+
3980. [bug] Improve --with-tuning=large by self tuning of SO_RCVBUF
size. [RT #37187]
file "example.db";
};
+zone "grafted." {
+ type master;
+ file "example.db";
+};
+
zone "1.0.10.in-addr.arpa." {
type master;
file "example.db";
forward only;
forwarders { 10.53.0.2; };
};
+
+zone "grafted" {
+ type forward;
+ forward only;
+ forwarders { 10.53.0.2; };
+};
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
+echo "I:checking that DS lookups for grafting forward zones are isolated"
+ret=0
+$DIG grafted A @10.53.0.4 -p 5300 > dig.out.q1
+$DIG grafted DS @10.53.0.4 -p 5300 > dig.out.q2
+$DIG grafted A @10.53.0.4 -p 5300 > dig.out.q3
+$DIG grafted AAAA @10.53.0.4 -p 5300 > dig.out.q4
+grep "status: NOERROR" dig.out.q1 > /dev/null || ret=1
+grep "status: NXDOMAIN" dig.out.q2 > /dev/null || ret=1
+grep "status: NOERROR" dig.out.q3 > /dev/null || ret=1
+grep "status: NOERROR" dig.out.q4 > /dev/null || ret=1
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
echo "I:exit status: $status"
exit $status
inc_stats(res, dns_resstatscounter_valnegsuccess);
- if (fctx->rmessage->rcode == dns_rcode_nxdomain)
+ /*
+ * Cache DS NXDOMAIN seperately to other types.
+ */
+ if (fctx->rmessage->rcode == dns_rcode_nxdomain &&
+ fctx->type != dns_rdatatype_ds)
covers = dns_rdatatype_any;
else
covers = fctx->type;
*/
if (WANTNCACHE(fctx)) {
dns_rdatatype_t covers;
- if (message->rcode == dns_rcode_nxdomain)
+
+ /*
+ * Cache DS NXDOMAIN seperately to other types.
+ */
+ if (message->rcode == dns_rcode_nxdomain &&
+ fctx->type != dns_rdatatype_ds)
covers = dns_rdatatype_any;
else
covers = fctx->type;