query.h File Reference

#include <isc/types.h>
#include <isc/buffer.h>
#include <isc/netaddr.h>
#include <dns/rdataset.h>
#include <dns/rpz.h>
#include <dns/types.h>
#include <named/types.h>

Go to the source code of this file.

Data Structures

struct  ns_dbversion
 nameserver database version structure More...
struct  ns_query
 nameserver query structure More...

Defines

#define NAMED_QUERY_H   1
#define NS_QUERYATTR_RECURSIONOK   0x0001
#define NS_QUERYATTR_CACHEOK   0x0002
#define NS_QUERYATTR_PARTIALANSWER   0x0004
#define NS_QUERYATTR_NAMEBUFUSED   0x0008
#define NS_QUERYATTR_RECURSING   0x0010
#define NS_QUERYATTR_CACHEGLUEOK   0x0020
#define NS_QUERYATTR_QUERYOKVALID   0x0040
#define NS_QUERYATTR_QUERYOK   0x0080
#define NS_QUERYATTR_WANTRECURSION   0x0100
#define NS_QUERYATTR_SECURE   0x0200
#define NS_QUERYATTR_NOAUTHORITY   0x0400
#define NS_QUERYATTR_NOADDITIONAL   0x0800
#define NS_QUERYATTR_CACHEACLOKVALID   0x1000
#define NS_QUERYATTR_CACHEACLOK   0x2000
#define NS_QUERYATTR_DNS64   0x4000
#define NS_QUERYATTR_DNS64EXCLUDE   0x8000
#define NS_QUERYATTR_RRL_CHECKED   0x10000
#define NS_QUERYATTR_REDIRECT   0x20000

Typedefs

typedef struct ns_dbversion ns_dbversion_t

Functions

isc_result_t ns_query_init (ns_client_t *client)
void ns_query_free (ns_client_t *client)
void ns_query_start (ns_client_t *client)
void ns_query_cancel (ns_client_t *client)


Detailed Description

Definition in file query.h.


Define Documentation

#define NAMED_QUERY_H   1

Definition at line 19 of file query.h.

#define NS_QUERYATTR_RECURSIONOK   0x0001

Definition at line 85 of file query.h.

Referenced by ns_query_start(), and query_reset().

#define NS_QUERYATTR_CACHEOK   0x0002

Definition at line 86 of file query.h.

Referenced by ns_query_start(), and query_reset().

#define NS_QUERYATTR_PARTIALANSWER   0x0004

Definition at line 87 of file query.h.

Referenced by query_find().

#define NS_QUERYATTR_NAMEBUFUSED   0x0008

Definition at line 88 of file query.h.

Referenced by query_keepname(), query_newname(), and query_releasename().

#define NS_QUERYATTR_RECURSING   0x0010

Definition at line 89 of file query.h.

Referenced by query_find(), query_resume(), and redirect2().

#define NS_QUERYATTR_CACHEGLUEOK   0x0020

Definition at line 90 of file query.h.

Referenced by query_find().

#define NS_QUERYATTR_QUERYOKVALID   0x0040

Definition at line 91 of file query.h.

Referenced by query_validatezonedb().

#define NS_QUERYATTR_QUERYOK   0x0080

Definition at line 92 of file query.h.

Referenced by query_validatezonedb().

#define NS_QUERYATTR_WANTRECURSION   0x0100

Definition at line 93 of file query.h.

Referenced by ns_query_start().

#define NS_QUERYATTR_SECURE   0x0200

Definition at line 94 of file query.h.

Referenced by ns_query_start(), query_addrrset(), query_dns64(), query_filter64(), and query_reset().

#define NS_QUERYATTR_NOAUTHORITY   0x0400

Definition at line 95 of file query.h.

Referenced by ns_query_start(), redirect(), and redirect2().

#define NS_QUERYATTR_NOADDITIONAL   0x0800

Definition at line 96 of file query.h.

Referenced by ns_query_start(), query_dns64(), query_filter64(), query_find(), redirect(), and redirect2().

#define NS_QUERYATTR_CACHEACLOKVALID   0x1000

Definition at line 97 of file query.h.

Referenced by query_getcachedb().

#define NS_QUERYATTR_CACHEACLOK   0x2000

Definition at line 98 of file query.h.

Referenced by query_getcachedb().

#define NS_QUERYATTR_DNS64   0x4000

Definition at line 99 of file query.h.

Referenced by query_find().

#define NS_QUERYATTR_DNS64EXCLUDE   0x8000

Definition at line 100 of file query.h.

Referenced by query_find().

#define NS_QUERYATTR_RRL_CHECKED   0x10000

Definition at line 101 of file query.h.

Referenced by query_find().

#define NS_QUERYATTR_REDIRECT   0x20000

Definition at line 102 of file query.h.

Referenced by ns_client_qnamereplace(), and redirect2().


Typedef Documentation

typedef struct ns_dbversion ns_dbversion_t


Function Documentation

isc_result_t ns_query_init ( ns_client_t client  ) 

Definition at line 643 of file query.c.

References ns_query::authdb, ns_query::authdbset, ns_query::authzone, ns_query::db, DESTROYLOCK, ns_query::dns64_aaaa, ns_query::dns64_aaaaok, ns_query::dns64_aaaaoklen, ns_query::dns64_sigaaaa, dns_fixedname_init, dns_fixedname_name, ns_query::fetch, ns_query::fetchlock, ns_query::fixed, ns_query::fname, ISC_FALSE, ISC_LIST_INIT, isc_mutex_init, ISC_R_SUCCESS, ISC_TRUE, ns_query::isreferral, ns_query::namebufs, ns_query::node, ns_query::prefetch, ns_query::qname, ns_query::qtype, ns_client::query, query_freefreeversions(), query_newdbversion(), query_newnamebuf(), query_reset(), ns_query::rdataset, ns_query::redirect, ns_query::restarts, ns_query::result, ns_query::rpz_st, ns_query::sigrdataset, ns_query::timerset, and ns_query::zone.

Referenced by client_create().

void ns_query_free ( ns_client_t client  ) 

Definition at line 445 of file query.c.

References ISC_TRUE, and query_reset().

Referenced by client_create(), and exit_check().

void ns_query_start ( ns_client_t client  ) 

Definition at line 8671 of file query.c.

References dns_view::additionalfromcache, ns_query::attributes, ns_client::attributes, dns_view::cachedb, dns_message::counts, CTRACE, ns_query::dboptions, DNS_DBFIND_PENDINGOK, DNS_FETCHOPT_NOVALIDATE, dns_message_currentname(), dns_message_firstname(), dns_message_nextname(), dns_message_reply(), DNS_MESSAGEEXTFLAG_DO, DNS_MESSAGEFLAG_AA, DNS_MESSAGEFLAG_AD, DNS_MESSAGEFLAG_CD, DNS_MESSAGEFLAG_RD, DNS_R_FORMERR, DNS_R_NOTIMP, dns_rdatatype_ismeta(), dns_rdatatypestats_increment(), DNS_SECTION_QUESTION, dns_tkey_processquery(), dns_view::dynamickeys, ns_client::ednsversion, dns_view::enablednssec, dns_view::enablevalidation, ns_client::extflags, ns_query::fetchoptions, dns_message::flags, INSIST, ISC_LIST_HEAD, ISC_LOG_DEBUG, ISC_R_NOMORE, ISC_R_SUCCESS, ISC_TRUE, log_query(), ns_client::message, dns_view::minimalresponses, ns_client::next, ns_client_attach(), ns_client_replace(), NS_CLIENTATTR_NOSETFC, NS_CLIENTATTR_RA, NS_CLIENTATTR_TCP, NS_CLIENTATTR_WANTAD, NS_CLIENTATTR_WANTDNSSEC, NS_QUERYATTR_CACHEOK, NS_QUERYATTR_NOADDITIONAL, NS_QUERYATTR_NOAUTHORITY, NS_QUERYATTR_RECURSIONOK, NS_QUERYATTR_SECURE, NS_QUERYATTR_WANTRECURSION, ns_xfr_start(), ns_query::origqname, ns_query::qname, ns_query::qtype, ns_client::query, query_error, query_find(), query_next(), query_next_callback(), query_send(), RUNTIME_CHECK, dns_rdataset::type, ns_client::udpsize, ns_client::view, WANTAD, and WANTDNSSEC.

Referenced by client_request().

void ns_query_cancel ( ns_client_t client  ) 

Definition at line 316 of file query.c.

References dns_resolver_cancelfetch(), ns_query::fetch, ns_query::fetchlock, LOCK, ns_client::query, and UNLOCK.

Referenced by ns_client_killoldestquery(), and query_reset().


Generated on Tue Apr 28 17:41:07 2015 by Doxygen 1.5.4 for BIND9 Internals 9.11.0pre-alpha