From: Evan Hunt Date: Thu, 1 Sep 2022 23:22:46 +0000 (-0700) Subject: add a configuration option for the update quota X-Git-Tag: v9.19.9~5^2~3 X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=f57758a7303ad0034ff2ff08eaaf2ef899630f19;p=thirdparty%2Fbind9.git add a configuration option for the update quota add an "update-quota" option to configure the update quota. --- diff --git a/bin/named/config.c b/bin/named/config.c index bd45384a249..5051f3c1ac9 100644 --- a/bin/named/config.c +++ b/bin/named/config.c @@ -131,6 +131,7 @@ options {\n\ trust-anchor-telemetry yes;\n\ udp-receive-buffer 0;\n\ udp-send-buffer 0;\n\ + update-quota 100;\n\ \n\ /* view */\n\ allow-new-zones no;\n\ diff --git a/bin/named/server.c b/bin/named/server.c index 3be36685ae5..f6b95ccdf0b 100644 --- a/bin/named/server.c +++ b/bin/named/server.c @@ -8518,6 +8518,7 @@ load_configuration(const char *filename, named_server_t *server, configure_server_quota(maps, "tcp-clients", &server->sctx->tcpquota); configure_server_quota(maps, "recursive-clients", &server->sctx->recursionquota); + configure_server_quota(maps, "update-quota", &server->sctx->updquota); max = isc_quota_getmax(&server->sctx->recursionquota); if (max > 1000) { diff --git a/bin/tests/system/checkconf/good.conf.in b/bin/tests/system/checkconf/good.conf.in index 8ecf392063b..080914a98e1 100644 --- a/bin/tests/system/checkconf/good.conf.in +++ b/bin/tests/system/checkconf/good.conf.in @@ -69,6 +69,7 @@ options { recursive-clients 3000; serial-query-rate 100; server-id none; + update-quota 200; check-names primary warn; check-names secondary ignore; max-cache-size 20000000000000; diff --git a/doc/arm/reference.rst b/doc/arm/reference.rst index a106b5e10df..cea98357b06 100644 --- a/doc/arm/reference.rst +++ b/doc/arm/reference.rst @@ -3896,6 +3896,14 @@ system. value as :any:`tcp-keepalive-timeout`. This value can be updated at runtime by using :option:`rndc tcp-timeouts`. +.. namedconf:statement:: update-quota + :tags: server + :short: Specifies the maximum number of concurrent DNS UPDATE messages that can be processed by the server. + + This is the maximum number of simultaneous DNS UPDATE messages that + the server will accept for updating local authoritiative zones or + forwarding to a primary server. The default is ``100``. + .. _intervals: Periodic Task Intervals diff --git a/doc/man/named.conf.5in b/doc/man/named.conf.5in index 16ea9e48e75..6c3f026a132 100644 --- a/doc/man/named.conf.5in +++ b/doc/man/named.conf.5in @@ -360,6 +360,7 @@ options { udp\-receive\-buffer ; udp\-send\-buffer ; update\-check\-ksk ; + update\-quota ; use\-v4\-udp\-ports { ; ... }; use\-v6\-udp\-ports { ; ... }; v6\-bias ; diff --git a/doc/misc/options b/doc/misc/options index ed8cdace589..f6a8c3cc730 100644 --- a/doc/misc/options +++ b/doc/misc/options @@ -303,6 +303,7 @@ options { udp-receive-buffer ; udp-send-buffer ; update-check-ksk ; + update-quota ; use-v4-udp-ports { ; ... }; use-v6-udp-ports { ; ... }; v6-bias ; diff --git a/lib/isccfg/namedconf.c b/lib/isccfg/namedconf.c index 6178b81f4e7..0ceead9e19c 100644 --- a/lib/isccfg/namedconf.c +++ b/lib/isccfg/namedconf.c @@ -1349,6 +1349,7 @@ static cfg_clausedef_t options_clauses[] = { { "treat-cr-as-space", NULL, CFG_CLAUSEFLAG_ANCIENT }, { "udp-receive-buffer", &cfg_type_uint32, 0 }, { "udp-send-buffer", &cfg_type_uint32, 0 }, + { "update-quota", &cfg_type_uint32, 0 }, { "use-id-pool", NULL, CFG_CLAUSEFLAG_ANCIENT }, { "use-ixfr", NULL, CFG_CLAUSEFLAG_ANCIENT }, { "use-v4-udp-ports", &cfg_type_bracketed_portlist, 0 },