* 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>
client->query.qname = NULL;
client->query.qrdataset = NULL;
client->query.dboptions = 0;
+ client->query.fetchoptions = 0;
client->query.gluedb = NULL;
}
{
isc_result_t result;
dns_rdataset_t *rdataset, *sigrdataset;
- unsigned int options = 0;
/*
* We are about to recurse, which means that this client will
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);
/*
* 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.