bind9/lib/dns
Michał Kępień 8d996fd79c Fall back to normal recursion when mirror zone data is unavailable
If transferring or loading a mirror zone fails, resolution should still
succeed by means of falling back to regular recursive queries.
Currently, though, if a slave zone is present in the zone table and not
loaded, a SERVFAIL response is generated.  Thus, mirror zones need
special handling in this regard.

Add a new dns_zt_find() flag, DNS_ZTFIND_MIRROR, and set it every time a
domain name is looked up rather than a zone itself.  Handle that flag in
dns_zt_find() in such a way that a mirror zone which is expired or not
yet loaded is ignored when looking up domain names, but still possible
to find when the caller wants to know whether the zone is configured.
This causes a fallback to recursion when mirror zone data is unavailable
without making unloaded mirror zones invisible to code checking a zone's
existence.
2018-06-28 13:38:39 +02:00
..
include Fall back to normal recursion when mirror zone data is unavailable 2018-06-28 13:38:39 +02:00
rdata fix casecompare return type for ninfo, tkey, txt 2018-06-24 22:48:59 -04:00
tests Remove support for obsoleted ECC-GOST (GOST R 34.11-94) algorithm 2018-06-05 09:14:14 +02:00
win32 Add dns_zone_verifydb() 2018-06-28 13:38:39 +02:00
.gitignore 4394. [func] Add rndc command "dnstap-reopen" to close and 2016-06-24 09:37:04 +10:00
acl.c improve readability of radix code 2018-05-28 18:45:41 -04:00
adb.c style nits (mostly line length) 2018-06-12 09:18:47 +02:00
api prepare 9.13.1 release 2018-06-21 12:31:33 +02:00
Atffile 3043. [test] Merged in the NetBSD ATF test framework (currently 2011-02-26 02:26:33 +00:00
badcache.c Update license headers to not include years in copyright in all applicable files 2018-02-23 10:12:02 +01:00
byaddr.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
cache.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
callbacks.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
catz.c Use dns_fixedname_initname() where possible 2018-04-09 12:14:16 +02:00
client.c Replace all random functions with isc_random, isc_random_buf and isc_random_uniform API. 2018-05-16 09:54:35 +02:00
clientinfo.c Update license headers to not include years in copyright in all applicable files 2018-02-23 10:12:02 +01:00
compress.c address win32 build issues 2018-05-22 16:32:21 -07:00
db.c remove the rbtdb64 database implementation 2018-04-20 16:14:51 -07:00
dbiterator.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
dbtable.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
diff.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
dispatch.c Change isc_random() to be just PRNG, and add isc_nonce_buf() that uses CSPRNG 2018-05-29 22:58:21 +02:00
dlz.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
dns64.c remove the experimental authoritative ECS support from named 2018-05-25 08:21:25 -07:00
dnsrps.c Update license headers to not include years in copyright in all applicable files 2018-02-23 10:12:02 +01:00
dnssec.c Address GCC 8 -Wformat-truncation warnings 2018-05-10 10:35:01 +02:00
dnstap.c libdns refactoring: get rid of multiple versions of dns_dt_create, dns_view_setcache, dns_zt_apply, dns_message_logfmtpacket, dns_message_logpacket, dns_ssutable_checkrules and dns_ttl_totext 2018-04-06 08:04:41 +02:00
dnstap.proto [master] dnstap 2015-10-02 12:32:42 -07:00
ds.c Remove support for obsoleted ECC-GOST (GOST R 34.11-94) algorithm 2018-06-05 09:14:14 +02:00
dst_api.c Remove support for obsoleted ECC-GOST (GOST R 34.11-94) algorithm 2018-06-05 09:14:14 +02:00
dst_internal.h Remove support for obsoleted ECC-GOST (GOST R 34.11-94) algorithm 2018-06-05 09:14:14 +02:00
dst_lib.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
dst_openssl.h Use standard OPENSSL_NO_ENGINE instead of custom USE_ENGINE define 2018-05-03 15:32:43 +02:00
dst_parse.c Remove support for obsoleted ECC-GOST (GOST R 34.11-94) algorithm 2018-06-05 09:14:14 +02:00
dst_parse.h Remove support for obsoleted ECC-GOST (GOST R 34.11-94) algorithm 2018-06-05 09:14:14 +02:00
dst_pkcs11.h Update license headers to not include years in copyright in all applicable files 2018-02-23 10:12:02 +01:00
dst_result.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
dyndb.c Update license headers to not include years in copyright in all applicable files 2018-02-23 10:12:02 +01:00
ecdb.c Update license headers to not include years in copyright in all applicable files 2018-02-23 10:12:02 +01:00
ecs.c Update license headers to not include years in copyright in all applicable files 2018-02-23 10:12:02 +01:00
fixedname.c Add a dns_fixedname_initname() helper function 2018-04-09 12:14:16 +02:00
forward.c libdns refactoring: get rid of multiple versions of dns_keytable_add, dns_iptable_addprefix and dns_iptable_addprefix 2018-04-06 08:04:41 +02:00
gen-unix.h Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
gen-win32.h Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
gen.c Update license headers to not include years in copyright in all applicable files 2018-02-23 10:12:02 +01:00
geoip.c remove the experimental authoritative ECS support from named 2018-05-25 08:21:25 -07:00
gssapi_link.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
gssapictx.c Replace all random functions with isc_random, isc_random_buf and isc_random_uniform API. 2018-05-16 09:54:35 +02:00
hmac_link.c Change isc_random() to be just PRNG, and add isc_nonce_buf() that uses CSPRNG 2018-05-29 22:58:21 +02:00
ipkeylist.c Update license headers to not include years in copyright in all applicable files 2018-02-23 10:12:02 +01:00
iptable.c improve readability of radix code 2018-05-28 18:45:41 -04:00
journal.c Fallback to normal procedure if creating of ixfr-from-differences fails 2018-06-27 17:32:17 -07:00
key.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
keydata.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
keytable.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
Kyuafile regen master 2017-12-29 01:44:18 +00:00
lib.c Replace all random functions with isc_random, isc_random_buf and isc_random_uniform API. 2018-05-16 09:54:35 +02:00
log.c Move NSID logging to its own category 2018-06-05 12:10:37 +10:00
lookup.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
Makefile.in Move verifyzone() and its dependencies into lib/dns/zoneverify.c 2018-06-15 10:07:22 +02:00
mapapi begin preparation for 9.13.0 2018-05-21 11:50:38 -07:00
master.c work around cppcheck false positive 2018-05-29 09:28:30 +10:00
masterdump.c Use dns_fixedname_initname() where possible 2018-04-09 12:14:16 +02:00
message.c libdns refactoring: get rid of multiple versions of dns_dt_create, dns_view_setcache, dns_zt_apply, dns_message_logfmtpacket, dns_message_logpacket, dns_ssutable_checkrules and dns_ttl_totext 2018-04-06 08:04:41 +02:00
name.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
ncache.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
nsec.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
nsec3.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
nta.c Use dns_fixedname_initname() where possible 2018-04-09 12:14:16 +02:00
openssl_link.c address win32 build issues 2018-05-22 16:32:21 -07:00
openssldh_link.c address win32 build issues 2018-05-22 16:32:21 -07:00
openssldsa_link.c Change isc_random() to be just PRNG, and add isc_nonce_buf() that uses CSPRNG 2018-05-29 22:58:21 +02:00
opensslecdsa_link.c address win32 build issues 2018-05-22 16:32:21 -07:00
openssleddsa_link.c address win32 build issues 2018-05-22 16:32:21 -07:00
opensslrsa_link.c address win32 build issues 2018-05-22 16:32:21 -07:00
order.c Update license headers to not include years in copyright in all applicable files 2018-02-23 10:12:02 +01:00
peer.c Update license headers to not include years in copyright in all applicable files 2018-02-23 10:12:02 +01:00
pkcs11.c address win32 build issues 2018-05-22 16:32:21 -07:00
pkcs11dh_link.c address win32 build issues 2018-05-22 16:32:21 -07:00
pkcs11dsa_link.c address win32 build issues 2018-05-22 16:32:21 -07:00
pkcs11ecdsa_link.c address win32 build issues 2018-05-22 16:32:21 -07:00
pkcs11eddsa_link.c address win32 build issues 2018-05-22 16:32:21 -07:00
pkcs11rsa_link.c address win32 build issues 2018-05-22 16:32:21 -07:00
portlist.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
private.c Update license headers to not include years in copyright in all applicable files 2018-02-23 10:12:02 +01:00
rbt.c remove #ifndef DNS_RBT_USEHASH from rbtdb.c 2018-05-25 09:12:17 -07:00
rbtdb.c fix whitespaces 2018-06-06 14:37:22 +02:00
rbtdb.h Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
rcode.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
rdata.c Declare the 'rdata' argument for dns_rdata_tostruct() to be const 2018-06-15 08:48:49 +02:00
rdatalist.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
rdatalist_p.h Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
rdataset.c Change isc_random() to be just PRNG, and add isc_nonce_buf() that uses CSPRNG 2018-05-29 22:58:21 +02:00
rdatasetiter.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
rdataslab.c dns_rdataslab_merge(): use dns_rdata_compare() instead of compare_rdata() 2018-05-15 09:11:34 +02:00
request.c remove the experimental authoritative ECS support from named 2018-05-25 08:21:25 -07:00
resolver.c nits 2018-06-12 09:20:13 +02:00
result.c Add dns_zone_verifydb() 2018-06-28 13:38:39 +02:00
rootns.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
rpz.c Patch in trailing nul character to print just the length label (for various cases below) 2018-06-25 17:18:36 +10:00
rriterator.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
rrl.c remove the experimental authoritative ECS support from named 2018-05-25 08:21:25 -07:00
sdb.c fix shadowed global variables 2018-04-20 19:51:00 -04:00
sdlz.c Use dns_fixedname_initname() where possible 2018-04-09 12:14:16 +02:00
soa.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
spnego.asn1 Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
spnego.c address win32 build issues 2018-05-22 16:32:21 -07:00
spnego.h Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
spnego_asn1.c address win32 build issues 2018-05-22 16:32:21 -07:00
spnego_asn1.pl Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
ssu.c remove the experimental authoritative ECS support from named 2018-05-25 08:21:25 -07:00
ssu_external.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
stats.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
tcpmsg.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
time.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
timer.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
tkey.c Change isc_random() to be just PRNG, and add isc_nonce_buf() that uses CSPRNG 2018-05-29 22:58:21 +02:00
tsec.c Update license headers to not include years in copyright in all applicable files 2018-02-23 10:12:02 +01:00
tsig.c Use dns_fixedname_initname() where possible 2018-04-09 12:14:16 +02:00
tsig_p.h Update license headers to not include years in copyright in all applicable files 2018-02-23 10:12:02 +01:00
ttl.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
update.c new option "dnskey-sig-validity" 2018-04-20 12:12:08 -07:00
validator.c Use dns_fixedname_initname() where possible 2018-04-09 12:14:16 +02:00
version.c address win32 build issues 2018-05-22 16:32:21 -07:00
view.c Fall back to normal recursion when mirror zone data is unavailable 2018-06-28 13:38:39 +02:00
xfrin.c Verify mirror zone IXFRs 2018-06-28 13:38:39 +02:00
zone.c Fall back to normal recursion when mirror zone data is unavailable 2018-06-28 13:38:39 +02:00
zone_p.h Move find_zone_keys() to lib/dns/zone_p.h 2018-05-09 13:21:02 +02:00
zonekey.c Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
zoneverify.c Ensure responses sourced from mirror zones have the AD bit set 2018-06-28 13:38:39 +02:00
zt.c Fall back to normal recursion when mirror zone data is unavailable 2018-06-28 13:38:39 +02:00