diff --git a/bin/named/config.c b/bin/named/config.c index 86bade216e..b2b802806b 100644 --- a/bin/named/config.c +++ b/bin/named/config.c @@ -137,6 +137,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 d7b5273d9c..3d63ee239b 100644 --- a/bin/named/server.c +++ b/bin/named/server.c @@ -8685,6 +8685,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 b/bin/tests/system/checkconf/good.conf index 93939ff3c8..f8d04089f0 100644 --- a/bin/tests/system/checkconf/good.conf +++ b/bin/tests/system/checkconf/good.conf @@ -72,6 +72,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 aec0fb6368..ad05f0cef2 100644 --- a/doc/arm/reference.rst +++ b/doc/arm/reference.rst @@ -3979,6 +3979,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 97f970acdf..e04143d8ba 100644 --- a/doc/man/named.conf.5in +++ b/doc/man/named.conf.5in @@ -367,6 +367,7 @@ options { udp\-receive\-buffer ; udp\-send\-buffer ; update\-check\-ksk ; + update\-quota ; use\-alt\-transfer\-source ; // deprecated use\-v4\-udp\-ports { ; ... }; use\-v6\-udp\-ports { ; ... }; diff --git a/doc/misc/options b/doc/misc/options index a15ba67a69..7ca815617f 100644 --- a/doc/misc/options +++ b/doc/misc/options @@ -310,6 +310,7 @@ options { udp-receive-buffer ; udp-send-buffer ; update-check-ksk ; + update-quota ; use-alt-transfer-source ; // deprecated use-v4-udp-ports { ; ... }; use-v6-udp-ports { ; ... }; diff --git a/lib/isccfg/namedconf.c b/lib/isccfg/namedconf.c index 5409a4ac49..9b37671230 100644 --- a/lib/isccfg/namedconf.c +++ b/lib/isccfg/namedconf.c @@ -1342,6 +1342,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 },