]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
pullup:
authorAndreas Gustafsson <source@isc.org>
Fri, 28 Jul 2000 17:48:56 +0000 (17:48 +0000)
committerAndreas Gustafsson <source@isc.org>
Fri, 28 Jul 2000 17:48:56 +0000 (17:48 +0000)
dd a 'fetchoptions' field to the query structure, which is currently 0
unless the query has the cd bit set.

bin/named/query.c

index d798972cdac64b5862486b97f4e5d92666ce4fe6..cb3194699b29f20e7383608b856797809f2db35b 100644 (file)
@@ -15,7 +15,7 @@
  * SOFTWARE.
  */
 
-/* $Id: query.c,v 1.109.2.6 2000/07/26 23:15:03 gson Exp $ */
+/* $Id: query.c,v 1.109.2.7 2000/07/28 17:48:56 gson Exp $ */
 
 #include <config.h>
 
@@ -169,6 +169,7 @@ query_reset(ns_client_t *client, isc_boolean_t everything) {
        client->query.qname = NULL;
        client->query.qrdataset = NULL;
        client->query.dboptions = 0;
+       client->query.fetchoptions = 0;
        client->query.gluedb = NULL;
 }
 
@@ -1818,7 +1819,6 @@ query_recurse(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qdomain,
 {
        isc_result_t result;
        dns_rdataset_t *rdataset, *sigrdataset;
-       unsigned int options = 0;
 
        /*
         * We are about to recurse, which means that this client will
@@ -1860,7 +1860,8 @@ query_recurse(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qdomain,
        result = dns_resolver_createfetch(client->view->resolver,
                                          client->query.qname,
                                          qtype, qdomain, nameservers,
-                                         NULL, options, client->task,
+                                         NULL, client->query.fetchoptions,
+                                         client->task,
                                          query_resume, client,
                                          rdataset, sigrdataset,
                                          &client->query.fetch);
@@ -2957,10 +2958,13 @@ ns_query_start(ns_client_t *client) {
 
        /*
         * If the client has requested that DNSSEC checking be disabled,
-        * allow lookups to return pending data.
+        * allow lookups to return pending data and instruct the resolver
+        * to return data before validation has completed.
         */
-       if (message->flags & DNS_MESSAGEFLAG_CD)
+       if (message->flags & DNS_MESSAGEFLAG_CD) {
                client->query.dboptions |= DNS_DBFIND_PENDINGOK;
+               client->query.fetchoptions |= DNS_FETCHOPT_NOVALIDATE;
+       }
 
        /*
         * This is an ordinary query.