]> git.ipfire.org Git - thirdparty/bind9.git/commit
Add a limit to the number of RRs in RRSets
authorOndřej Surý <ondrej@isc.org>
Fri, 1 Mar 2024 07:26:07 +0000 (08:26 +0100)
committerNicki Křížek <nicki@isc.org>
Mon, 10 Jun 2024 16:50:03 +0000 (18:50 +0200)
commite699ef939e68c51eb3c50ecaaf0eb122216fc488
tree83a32b283855a519534fd38dee2c8fbb7c8d3f8c
parent3492c0deda5091a582ae46b60613ccfdb0e950b1
Add a limit to the number of RRs in RRSets

Previously, the number of RRs in the RRSets were internally unlimited.
As the data structure that holds the RRs is just a linked list, and
there are places where we just walk through all of the RRs, adding an
RRSet with huge number of RRs inside would slow down processing of said
RRSets.

Add a configurable limit to cap the number of the RRs in a single RRSet.
This is enforced at the database (rbtdb, qpzone, qpcache) level and
configured with new max-records-per-type configuration option that can
be configured globally, per-view and per-zone.

(cherry picked from commit 3fbd21f69a1bcbd26c4c00920e7b0a419e8762fc)
31 files changed:
bin/named/config.c
bin/named/server.c
bin/named/zoneconf.c
bin/tests/system/doth/ns2/named.conf.in
bin/tests/system/doth/ns3/named.conf.in
bin/tests/system/doth/ns4/named.conf.in
bin/tests/system/doth/ns5/named.conf.in
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/rdataslab.h
lib/dns/include/dns/view.h
lib/dns/include/dns/zone.h
lib/dns/rbtdb.c
lib/dns/rdataslab.c
lib/dns/sdb.c
lib/dns/sdlz.c
lib/dns/view.c
lib/dns/zone.c
lib/isccfg/namedconf.c