Re: bdbhpt and authoritative responses

Evan Hunt <[email protected]> Mon, 18 Apr 2011 18:28:50 +0000
Newsgroups gmane.network.dns.bind9.dlz
Message-ID <[email protected]>
> I have a similar setup with the bdbhpt driver, and I also noticed that
> the "authorative answer" bit on DNS replies is not set.  Bind 9.7.3
> and earlier works and 9.8.0 does not.

The attached patch hasn't been through our review process at ISC yet, but
appears to fix the problem.  Feel free to give it a try if you like, and
let me know if there are any remaining issues.  Thanks,

-- 
Evan Hunt -- [email protected]
Internet Systems Consortium, Inc.

------------------------------------------------------------------------------
Benefiting from Server Virtualization: Beyond Initial Workload 
Consolidation -- Increasing the use of server virtualization is a top
priority.Virtualization can reduce costs, simplify management, and improve 
application availability and disaster protection. Learn more about boosting 
the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev

_______________________________________________
Bind-dlz-testers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bind-dlz-testers
dlz.diff (text/x-diff, 1.3 KB)
Index: bin/named/query.c
===================================================================
RCS file: /proj/cvs/prod/bind9/bin/named/query.c,v
retrieving revision 1.353.8.5
diff -u -r1.353.8.5 query.c
--- bin/named/query.c	18 Mar 2011 21:25:18 -0000	1.353.8.5
+++ bin/named/query.c	18 Apr 2011 18:25:50 -0000
@@ -5181,9 +5181,10 @@
 	}
 
 	is_staticstub_zone = ISC_FALSE;
-	if (is_zone && zone != NULL) {
+	if (is_zone) {
 		authoritative = ISC_TRUE;
-		if (dns_zone_gettype(zone) == dns_zone_staticstub)
+		if (zone != NULL &&
+		    dns_zone_gettype(zone) == dns_zone_staticstub)
 			is_staticstub_zone = ISC_TRUE;
 	}
 
Index: bin/tests/system/dlz/tests.sh
===================================================================
RCS file: /proj/cvs/prod/bind9/bin/tests/system/dlz/tests.sh,v
retrieving revision 1.2
diff -u -r1.2 tests.sh
--- bin/tests/system/dlz/tests.sh	16 Aug 2010 04:46:15 -0000	1.2
+++ bin/tests/system/dlz/tests.sh	18 Apr 2011 18:25:51 -0000
@@ -35,6 +35,7 @@
 grep "status: NOERROR" dig.out.ns1.test$n > /dev/null || ret=1
 grep "example.com..*DNAME.*example.net." dig.out.ns1.test$n > /dev/null || ret=1
 grep "foo.example.com..*CNAME.*foo.example.net." dig.out.ns1.test$n > /dev/null || ret=1
+grep "flags:[^;]* aa[ ;]" dig.out.ns1.test$n > /dev/null || ret=1
 n=`expr $n + 1`
 if [ $ret != 0 ]; then echo "I:failed"; fi
 status=`expr $status + $ret`