]> 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 14:55:07 +0000 (16:55 +0200)
commit32af7299ebc116146b87e9c2316de6b62d24cec2
treea0be652679e7b0744b3fefc7c81ad72f38f86650
parent0b44383c5b8694e5e415df1752f785f6a2e65bfc
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.
32 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
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/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/qpcache.c
lib/dns/qpzone.c
lib/dns/rbt-cachedb.c
lib/dns/rbt-zonedb.c
lib/dns/rbtdb.c
lib/dns/rbtdb_p.h
lib/dns/rdataslab.c
lib/dns/view.c
lib/dns/zone.c
lib/isccfg/namedconf.c