bind9/lib/dns
Mark Andrews 3a5652ccb1
Rework rbtdb.c:find_coveringnsec() to use the auxilary nsec rbt
this improves the performance of looking for NSEC and RRSIG(NSEC)
records in the cache by skipping lots of nodes in the main trees
in the cache without these records present.  This is a simplified
version of previous_closest_nsec() which uses the same underlying
mechanism to look for NSEC and RRSIG(NSEC) records in authorative
zones.

The auxilary NSEC tree was already being maintained as a side effect
of looking for the covering NSEC in large zones where there can be
lots of glue records that needed to be skipped.  Nodes are added
to the tree whenever a NSEC record is added to the primary tree.
They are removed when the corresponding node is removed from the
primary tree.

Having nodes in the NSEC tree w/o NSEC records in the primary tree
should not impact on synth-from-dnssec efficiency as that node would
have held the NSEC we would have been needed to synthesise the
response.  Removing the node when the NSEC RRset expires would only
cause rbtdb to return a NSEC which would be rejected at a higher
level.
2021-12-02 14:18:40 +01:00
..
include XoT: add support for client-side TLS parameters 2021-12-01 12:00:28 +02:00
rdata Fix "array subscript is of type 'char'" on NetBSD 9 2021-11-25 18:15:18 +01:00
tests Add comparekeys to release tarball 2021-11-01 15:17:31 +01:00
.gitignore 4394. [func] Add rndc command "dnstap-reopen" to close and 2016-06-24 09:37:04 +10:00
acl.c Integrate extended ACLs syntax featuring 'port' and 'transport' opts 2021-11-30 12:20:22 +02:00
adb.c Fix the data race when shutting down dns_adb 2021-11-22 11:09:21 +01:00
badcache.c The isc/platform.h header has been completely removed 2021-07-06 05:33:48 +00:00
byaddr.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
cache.c dns/rbt.c: Implement incremental hash table resizing 2021-10-12 15:01:53 +02:00
callbacks.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
catz.c Prevent existing catalog zone entries being incorrectly deleted 2021-10-15 04:31:37 +00:00
client.c remove all references to isc_socket and related types 2021-10-15 01:01:25 -07:00
clientinfo.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
compress.c Stop providing branch prediction information 2021-10-14 10:33:24 +02:00
db.c dns/rbt.c: Implement incremental hash table resizing 2021-10-12 15:01:53 +02:00
dbiterator.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
diff.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
dispatch.c On non-matching answer, check for missed timeout 2021-12-01 11:45:55 -08:00
dlz.c dns/ssu.c: Return void when ISC_R_SUCCESS is only returned value 2021-10-13 05:47:48 +02:00
dns64.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
dnsrps.c dns/rbt.c: Implement incremental hash table resizing 2021-10-12 15:01:53 +02:00
dnssec.c Fix cleanup of signature buffer in dns_dnssec_signmessage 2021-10-12 09:56:44 +11:00
dnstap.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
dnstap.proto fix spelling errors reported by Fossies. 2020-02-21 15:05:08 +11:00
ds.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
dst_api.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
dst_internal.h Remove native PKCS#11 support 2021-09-09 15:35:39 +02:00
dst_openssl.h The OpenSSL engine API is deprecated in OpenSSL 3.0.0 2021-10-28 07:39:37 +00:00
dst_parse.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
dst_parse.h Use #pragma once as header guards 2021-10-13 00:49:15 -07:00
dyndb.c Use libuv's shared library handling capabilities 2020-10-28 15:48:58 +01:00
ecs.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
fixedname.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
forward.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
gen.c Error out if gen finds a type or class that is greater than 65535 2021-10-25 21:33:35 +00:00
gen.h Use #pragma once as header guards 2021-10-13 00:49:15 -07:00
geoip2.c Completely remove BIND 9 Windows support 2021-06-09 14:35:14 +02:00
gssapi_link.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
gssapictx.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
hmac_link.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
ipkeylist.c implement xfrin via XoT 2021-01-29 12:07:38 +01:00
iptable.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
journal.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
kasp.c Add purge-keys config option 2021-02-23 09:16:48 +01:00
key.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
keydata.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
keymgr.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
keytable.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
log.c Remove LIB<*>_EXTERNAL_DATA defines 2021-07-06 05:33:48 +00:00
lookup.c dns/lookup.c: Return void when ISC_R_SUCCESS is only returned value 2021-10-13 05:47:48 +02:00
Makefile.am Use ERR_get_error_all() instead of deprecated ERR_get_error_line_data() 2021-10-28 07:38:56 +00:00
master.c Replace "master/slave" terms in code 2021-10-12 13:11:13 -07:00
masterdump.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
message.c DoH: Set the "max-age" "Cache-Control" HTTP header value 2021-11-05 14:14:59 +02:00
name.c Stop providing branch prediction information 2021-10-14 10:33:24 +02:00
ncache.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
nsec.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
nsec3.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
nta.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
openssl_link.c The OpenSSL engine API is deprecated in OpenSSL 3.0.0 2021-10-28 07:39:37 +00:00
openssl_shim.c Use the special shims file for DH shims 2021-10-28 07:39:37 +00:00
openssl_shim.h Use the special shims file for DH shims 2021-10-28 07:39:37 +00:00
openssldh_link.c Address potential memory leak in openssldh_parse() 2021-11-01 21:50:47 +00:00
opensslecdsa_link.c Reject too long ECDSA public keys 2021-11-23 08:44:47 +11:00
openssleddsa_link.c The OpenSSL engine API is deprecated in OpenSSL 3.0.0 2021-10-28 07:39:37 +00:00
opensslrsa_link.c Silence Coverity false positive 2021-11-03 20:10:34 +11:00
order.c rename dns_name_copynf() to dns_name_copy() 2021-05-22 00:37:27 -07:00
peer.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
private.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
rbt.c Incidental cleanup 2021-10-18 14:35:50 -07:00
rbtdb.c Rework rbtdb.c:find_coveringnsec() to use the auxilary nsec rbt 2021-12-02 14:18:40 +01:00
rbtdb.h Use #pragma once as header guards 2021-10-13 00:49:15 -07:00
rcode.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
rdata.c dns/rdata.c: Return void when ISC_R_SUCCESS is only returned value 2021-10-13 05:47:48 +02:00
rdatalist.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
rdatalist_p.h Use #pragma once as header guards 2021-10-13 00:49:15 -07:00
rdataset.c Stop providing branch prediction information 2021-10-14 10:33:24 +02:00
rdatasetiter.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
rdataslab.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
request.c remove all references to isc_socket and related types 2021-10-15 01:01:25 -07:00
resolver.c fix a use-after-free in resolver 2021-11-22 11:35:34 +01:00
result.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
rootns.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
rpz.c Stop providing branch prediction information 2021-10-14 10:33:24 +02:00
rriterator.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
rrl.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
sdb.c dns/rbt.c: Implement incremental hash table resizing 2021-10-12 15:01:53 +02:00
sdlz.c Do not convert ISC_R_NOSPACE to DNS_R_SERVFAIL too early 2021-11-25 19:48:20 +00:00
soa.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
ssu.c Add {krb5,ms}-subdomain-self-rhs update policy rules 2021-10-15 11:18:41 +11:00
ssu_external.c Completely remove BIND 9 Windows support 2021-06-09 14:35:14 +02:00
stats.c Clear dnssec-sign stats for removed keys 2021-08-24 09:07:15 +02:00
time.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
timer.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
tkey.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
transport.c XoT: add support for client-side TLS parameters 2021-12-01 12:00:28 +02:00
tsec.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
tsig.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
tsig_p.h Use #pragma once as header guards 2021-10-13 00:49:15 -07:00
ttl.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
update.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
validator.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
view.c dns/view.c: Return void when ISC_R_SUCCESS is only returned value 2021-10-13 05:47:48 +02:00
xfrin.c XoT: add support for client-side TLS parameters 2021-12-01 12:00:28 +02:00
zone.c Fix catalog zone reconfiguration crash 2021-11-23 11:39:37 +00:00
zone_p.h Use #pragma once as header guards 2021-10-13 00:49:15 -07:00
zonekey.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
zoneverify.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00
zt.c Make isc_result a static enum 2021-10-06 11:22:20 +02:00