]> git.ipfire.org Git - thirdparty/bind9.git/commit
Add a limit to the number of RR types for single name
authorOndřej Surý <ondrej@isc.org>
Sat, 25 May 2024 09:46:56 +0000 (11:46 +0200)
committerNicki Křížek <nicki@isc.org>
Mon, 10 Jun 2024 16:50:06 +0000 (18:50 +0200)
commit39d3e2a8ecc1cb4dccefa3ddea477a2887989485
treed07fbace5cc1ce286bdfcb073d4e42957024f952
parent197b08009dee36d3a065afbe933d5dc4f727c33f
Add a limit to the number of RR types for single name

Previously, the number of RR types for a single owner name was limited
only by the maximum number of the types (64k).  As the data structure
that holds the RR types for the database node is just a linked list, and
there are places where we just walk through the whole list (again and
again), adding a large number of RR types for a single owner named with
would slow down processing of such name (database node).

Add a configurable limit to cap the number of the RR types for a single
owner.  This is enforced at the database (rbtdb, qpzone, qpcache) level
and configured with new max-types-per-name configuration option that
can be configured globally, per-view and per-zone.

(cherry picked from commit 00d16211d6368b99f070c1182d8c76b3798ca1db)
25 files changed:
bin/named/config.c
bin/named/server.c
bin/named/zoneconf.c
bin/tests/system/dyndb/driver/db.c
doc/arm/reference.rst
doc/misc/mirror.zoneopt
doc/misc/options
doc/misc/primary.zoneopt
doc/misc/redirect.zoneopt
doc/misc/secondary.zoneopt
doc/misc/static-stub.zoneopt
doc/misc/stub.zoneopt
lib/dns/cache.c
lib/dns/db.c
lib/dns/dnsrps.c
lib/dns/include/dns/cache.h
lib/dns/include/dns/db.h
lib/dns/include/dns/view.h
lib/dns/include/dns/zone.h
lib/dns/rbtdb.c
lib/dns/sdb.c
lib/dns/sdlz.c
lib/dns/view.c
lib/dns/zone.c
lib/isccfg/namedconf.c