bind9/lib/dns
Michał Kępień e2014ba9e3 Bound the amount of work performed for delegations
Limit the amount of database lookups that can be triggered in
fctx_getaddresses() (i.e. when determining the name server addresses to
query next) by setting a hard limit on the number of NS RRs processed
for any delegation encountered.  Without any limit in place, named can
be forced to perform large amounts of database lookups per each query
received, which severely impacts resolver performance.

The limit used (20) is an arbitrary value that is considered to be big
enough for any sane DNS delegation.

(cherry picked from commit 3a44097fd6)
2022-09-08 11:11:30 +02:00
..
include Fix RRL responses-per-second bypass using wildcard names 2022-09-08 09:36:50 +02:00
rdata Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
.gitignore 4394. [func] Add rndc command "dnstap-reopen" to close and 2016-06-24 09:37:04 +10:00
acl.c Add isc_rwlock around dns_aclenv .localhost and .localnets member 2022-04-26 14:21:57 +02:00
adb.c Lock the address entry bucket when dumping ADB namehook 2022-08-12 15:55:41 -07:00
badcache.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
byaddr.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
cache.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
callbacks.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
catz.c Don't process DNSSEC-related and ZONEMD records in catz 2022-06-02 10:20:11 +00:00
client.c Add synth-from-dnssec namespaces for keytable entries 2022-07-07 07:47:45 +10:00
clientinfo.c allow dns_clientinfo to store client ECS data 2022-01-27 14:51:11 -08:00
compress.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
db.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
dbiterator.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
diff.c Simplify way we tag unreachable code with only ISC_UNREACHABLE() 2022-03-25 08:42:16 +01:00
dispatch.c remove unnecessary assertion in dns_dispatch_connect() 2022-07-14 19:27:24 -07:00
dlz.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
dns64.c Add isc_rwlock around dns_aclenv .localhost and .localnets member 2022-04-26 14:21:57 +02:00
dnsrps.c Simplify way we tag unreachable code with only ISC_UNREACHABLE() 2022-03-25 08:42:16 +01:00
dnssec.c Update dns_dnssec_syncdelete() function 2022-04-13 14:43:40 +02:00
dnstap.c dnstap query_message field was erroneously set with responses 2022-08-31 15:24:00 -07:00
dnstap.proto Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
ds.c Simplify way we tag unreachable code with only ISC_UNREACHABLE() 2022-03-25 08:42:16 +01:00
dst_api.c Require valid key for dst_key functions 2022-05-23 12:00:53 +02:00
dst_internal.h Check if key metadata is modified before writing 2022-05-16 10:37:23 +02:00
dst_openssl.h Use autoconf check for BN_GENCB_new() 2022-03-02 10:49:47 +00:00
dst_parse.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
dst_parse.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
dyndb.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
ecs.c Simplify way we tag unreachable code with only ISC_UNREACHABLE() 2022-03-25 08:42:16 +01:00
fixedname.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
forward.c Cleanup dns_fwdtable_delete() 2022-06-09 10:52:04 +00:00
gen.c Merge lib/dns/gen.h contents to lib/dns/gen.c 2022-03-08 09:55:28 +01:00
geoip2.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
gssapi_link.c Remove a redundant variable-length array 2022-03-18 16:05:56 +00:00
gssapictx.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
hmac_link.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
ipkeylist.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
iptable.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
journal.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
kasp.c Store built-in dnssec-policies in defaultconf 2022-06-28 14:36:38 +02:00
key.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
keydata.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
keymgr.c Nit changes in keymgr and kasp 2022-06-28 14:36:53 +02:00
keytable.c Add synth-from-dnssec namespaces for keytable entries 2022-07-07 07:47:45 +10:00
log.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
lookup.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
Makefile.am Update libdns_la_LIBADD rather than libdns_la_LDFLAGS 2022-07-13 10:46:37 +10:00
master.c Tighten $GENERATE directive parsing 2022-07-06 11:25:20 +10:00
masterdump.c Simplify way we tag unreachable code with only ISC_UNREACHABLE() 2022-03-25 08:42:16 +01:00
message.c Add missing INDENT call for UPDATE messages 2022-06-02 08:28:15 +10:00
name.c Remove workaround for ancient clang versions (<< 3.2 and << 4.0.1) 2022-03-25 08:42:19 +01:00
ncache.c Update the rdataset->trust field in ncache.c:rdataset_settrust 2022-04-19 09:44:09 +10:00
nsec.c Wait with NSEC3 during a DNSSEC policy change 2022-08-22 19:21:39 +02:00
nsec3.c nsec3.c: Add a missing dns_db_detachnode() call 2022-08-23 12:04:08 +02:00
nta.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
openssl_link.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
openssl_shim.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
openssl_shim.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
openssldh_link.c Use autoconf check for BN_GENCB_new() 2022-03-02 10:49:47 +00:00
opensslecdsa_link.c Simplify way we tag unreachable code with only ISC_UNREACHABLE() 2022-03-25 08:42:16 +01:00
openssleddsa_link.c Add couple missing braces around single-line statements 2022-03-17 18:29:57 +01:00
opensslrsa_link.c Check that we can verify a signature at initialisation time 2022-07-25 10:59:38 -04:00
order.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
peer.c Simplify way we tag unreachable code with only ISC_UNREACHABLE() 2022-03-25 08:42:16 +01:00
private.c Increase the BUFSIZ-long buffers 2022-07-15 21:16:51 +02:00
rbt.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
rbtdb.c Fix rndc dumpdb -expired for stuck cache contents 2022-07-25 16:28:18 +02:00
rbtdb.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
rcode.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
rdata.c Additional safety check for negative array index 2022-04-29 11:46:22 +10:00
rdatalist.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
rdatalist_p.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
rdataset.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
rdatasetiter.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
rdataslab.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
request.c Ensure that dns_request_createvia() has a retry limit 2022-04-06 18:17:55 +01:00
resolver.c Bound the amount of work performed for delegations 2022-09-08 11:11:30 +02:00
result.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
rootns.c Add FALLTHROUGH macro for __attribute__((fallthrough)) 2022-03-25 08:41:09 +01:00
rpz.c Allow DNS_RPZ_POLICY_ERROR to be converted to a string 2022-05-04 23:52:29 +10:00
rriterator.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
rrl.c Fix RRL responses-per-second bypass using wildcard names 2022-09-08 09:36:50 +02:00
sdb.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
sdlz.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
soa.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
ssu.c Add isc_rwlock around dns_aclenv .localhost and .localnets member 2022-04-26 14:21:57 +02:00
ssu_external.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
stats.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
tests Move all the unit tests to /tests/<libname>/ 2022-05-31 12:06:00 +02:00
time.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
tkey.c Fix tkey.c:buildquery() function's error handling 2022-08-17 08:36:07 +00:00
transport.c Rename "hostname" to "remote-hostname" within "tls" 2022-05-03 17:42:43 +03:00
tsec.c Simplify way we tag unreachable code with only ISC_UNREACHABLE() 2022-03-25 08:42:16 +01:00
tsig.c Remove workaround for ancient clang versions (<< 3.2 and << 4.0.1) 2022-03-25 08:42:19 +01:00
tsig_p.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
ttl.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
update.c Simplify way we tag unreachable code with only ISC_UNREACHABLE() 2022-03-25 08:42:16 +01:00
validator.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
view.c Add a mechanism to record namespaces for synth-from-dnssec 2022-07-07 07:47:45 +10:00
xfrin.c CID 352848: split xfrin_start() and remove dead code 2022-06-15 17:02:45 +03:00
zone.c Wait with NSEC3 during a DNSSEC policy change 2022-08-22 19:21:39 +02:00
zone_p.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
zonekey.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
zoneverify.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
zt.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00