summaryrefslogtreecommitdiff
path: root/bind-9.16-CVE-2022-3094-2.patch
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2024-08-05 01:38:29 +0000
committerCoprDistGit <infra@openeuler.org>2024-08-05 01:38:29 +0000
commit60e6ebff61b1c2f87ec78831b610b17fbd130ae3 (patch)
treed14033338828a8a03b3562472148a3387b50215b /bind-9.16-CVE-2022-3094-2.patch
parentad69e2cec05ad6d646c8b6e1355f0e18af3b7692 (diff)
automatic import of bindopeneuler24.03_LTS
Diffstat (limited to 'bind-9.16-CVE-2022-3094-2.patch')
-rw-r--r--bind-9.16-CVE-2022-3094-2.patch266
1 files changed, 266 insertions, 0 deletions
diff --git a/bind-9.16-CVE-2022-3094-2.patch b/bind-9.16-CVE-2022-3094-2.patch
new file mode 100644
index 0000000..fe6fb92
--- /dev/null
+++ b/bind-9.16-CVE-2022-3094-2.patch
@@ -0,0 +1,266 @@
+From 7fe2204a2e8952bf892e4a70fea2ef5167e1f509 Mon Sep 17 00:00:00 2001
+From: Evan Hunt <each@isc.org>
+Date: Thu, 1 Sep 2022 16:22:46 -0700
+Subject: [PATCH] add a configuration option for the update quota
+
+add an "update-quota" option to configure the update quota.
+
+(cherry picked from commit f57758a7303ad0034ff2ff08eaaf2ef899630f19)
+---
+ bin/named/config.c | 1 +
+ bin/named/named.conf.rst | 9 +++++----
+ bin/named/server.c | 1 +
+ bin/tests/system/checkconf/good.conf | 1 +
+ doc/arm/reference.rst | 7 ++++++-
+ doc/man/named.conf.5in | 9 +++++----
+ doc/misc/master.zoneopt.rst | 2 +-
+ doc/misc/options | 1 +
+ doc/misc/options.active | 1 +
+ doc/misc/options.grammar.rst | 3 ++-
+ doc/misc/slave.zoneopt.rst | 2 +-
+ lib/isccfg/namedconf.c | 1 +
+ 12 files changed, 26 insertions(+), 12 deletions(-)
+
+diff --git a/bin/named/config.c b/bin/named/config.c
+index 5fedee84d9..494147015f 100644
+--- a/bin/named/config.c
++++ b/bin/named/config.c
+@@ -130,6 +130,7 @@ options {\n\
+ transfers-out 10;\n\
+ transfers-per-ns 2;\n\
+ trust-anchor-telemetry yes;\n\
++ update-quota 100;\n\
+ \n\
+ /* view */\n\
+ allow-new-zones no;\n\
+diff --git a/bin/named/named.conf.rst b/bin/named/named.conf.rst
+index 27eed5ca3e..4c9f9a7370 100644
+--- a/bin/named/named.conf.rst
++++ b/bin/named/named.conf.rst
+@@ -179,7 +179,7 @@ OPTIONS
+ answer-cookie boolean;
+ attach-cache string;
+ auth-nxdomain boolean; // default changed
+- auto-dnssec ( allow | maintain | off );
++ auto-dnssec ( allow | maintain | off );// deprecated
+ automatic-interface-scan boolean;
+ avoid-v4-udp-ports { portrange; ... };
+ avoid-v6-udp-ports { portrange; ... };
+@@ -446,6 +446,7 @@ OPTIONS
+ trust-anchor-telemetry boolean; // experimental
+ try-tcp-refresh boolean;
+ update-check-ksk boolean;
++ update-quota integer;
+ use-alt-transfer-source boolean;
+ use-v4-udp-ports { portrange; ... };
+ use-v6-udp-ports { portrange; ... };
+@@ -584,7 +585,7 @@ VIEW
+ * ) ] [ dscp integer ];
+ attach-cache string;
+ auth-nxdomain boolean; // default changed
+- auto-dnssec ( allow | maintain | off );
++ auto-dnssec ( allow | maintain | off );// deprecated
+ cache-file quoted_string;// deprecated
+ catalog-zones { zone string [ default-masters [ port integer ]
+ [ dscp integer ] { ( remote-servers | ipv4_address [ port
+@@ -859,7 +860,7 @@ VIEW
+ integer | * ) ] [ dscp integer ];
+ alt-transfer-source-v6 ( ipv6_address | * ) [ port (
+ integer | * ) ] [ dscp integer ];
+- auto-dnssec ( allow | maintain | off );
++ auto-dnssec ( allow | maintain | off );// deprecated
+ check-dup-records ( fail | warn | ignore );
+ check-integrity boolean;
+ check-mx ( fail | warn | ignore );
+@@ -977,7 +978,7 @@ ZONE
+ ] [ dscp integer ];
+ alt-transfer-source-v6 ( ipv6_address | * ) [ port ( integer |
+ * ) ] [ dscp integer ];
+- auto-dnssec ( allow | maintain | off );
++ auto-dnssec ( allow | maintain | off );// deprecated
+ check-dup-records ( fail | warn | ignore );
+ check-integrity boolean;
+ check-mx ( fail | warn | ignore );
+diff --git a/bin/named/server.c b/bin/named/server.c
+index 20443ff8a9..78a21d62a2 100644
+--- a/bin/named/server.c
++++ b/bin/named/server.c
+@@ -8542,6 +8542,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 b1f7059acf..0ecdb68e95 100644
+--- a/bin/tests/system/checkconf/good.conf
++++ b/bin/tests/system/checkconf/good.conf
+@@ -75,6 +75,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 2603d60251..703663d0ba 100644
+--- a/doc/arm/reference.rst
++++ b/doc/arm/reference.rst
+@@ -3151,6 +3151,11 @@ system.
+ value as ``tcp-keepalive-timeout``. This value can be updated at
+ runtime by using ``rndc tcp-timeouts``.
+
++``update-quota``
++ 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
+@@ -6840,7 +6845,7 @@ Name Server Statistics Counters
+ ``UpdateQuota``
+ This indicates the number of times a dynamic update or update
+ forwarding request was rejected because the number of pending
+- requests exceeded the update quota.
++ requests exceeded ``update-quota``.
+
+ ``RateDropped``
+ This indicates the number of responses dropped due to rate limits.
+diff --git a/doc/man/named.conf.5in b/doc/man/named.conf.5in
+index 4c46f47592..c87afa2881 100644
+--- a/doc/man/named.conf.5in
++++ b/doc/man/named.conf.5in
+@@ -231,7 +231,7 @@ options {
+ answer\-cookie boolean;
+ attach\-cache string;
+ auth\-nxdomain boolean; // default changed
+- auto\-dnssec ( allow | maintain | off );
++ auto\-dnssec ( allow | maintain | off );// deprecated
+ automatic\-interface\-scan boolean;
+ avoid\-v4\-udp\-ports { portrange; ... };
+ avoid\-v6\-udp\-ports { portrange; ... };
+@@ -498,6 +498,7 @@ options {
+ trust\-anchor\-telemetry boolean; // experimental
+ try\-tcp\-refresh boolean;
+ update\-check\-ksk boolean;
++ update\-quota integer;
+ use\-alt\-transfer\-source boolean;
+ use\-v4\-udp\-ports { portrange; ... };
+ use\-v6\-udp\-ports { portrange; ... };
+@@ -668,7 +669,7 @@ view string [ class ] {
+ * ) ] [ dscp integer ];
+ attach\-cache string;
+ auth\-nxdomain boolean; // default changed
+- auto\-dnssec ( allow | maintain | off );
++ auto\-dnssec ( allow | maintain | off );// deprecated
+ cache\-file quoted_string;// deprecated
+ catalog\-zones { zone string [ default\-masters [ port integer ]
+ [ dscp integer ] { ( remote\-servers | ipv4_address [ port
+@@ -943,7 +944,7 @@ view string [ class ] {
+ integer | * ) ] [ dscp integer ];
+ alt\-transfer\-source\-v6 ( ipv6_address | * ) [ port (
+ integer | * ) ] [ dscp integer ];
+- auto\-dnssec ( allow | maintain | off );
++ auto\-dnssec ( allow | maintain | off );// deprecated
+ check\-dup\-records ( fail | warn | ignore );
+ check\-integrity boolean;
+ check\-mx ( fail | warn | ignore );
+@@ -1065,7 +1066,7 @@ zone string [ class ] {
+ ] [ dscp integer ];
+ alt\-transfer\-source\-v6 ( ipv6_address | * ) [ port ( integer |
+ * ) ] [ dscp integer ];
+- auto\-dnssec ( allow | maintain | off );
++ auto\-dnssec ( allow | maintain | off );// deprecated
+ check\-dup\-records ( fail | warn | ignore );
+ check\-integrity boolean;
+ check\-mx ( fail | warn | ignore );
+diff --git a/doc/misc/master.zoneopt.rst b/doc/misc/master.zoneopt.rst
+index 8fc7e1b4f0..346d59813e 100644
+--- a/doc/misc/master.zoneopt.rst
++++ b/doc/misc/master.zoneopt.rst
+@@ -20,7 +20,7 @@
+ also-notify [ port <integer> ] [ dscp <integer> ] { ( <remote-servers> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
+ alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
+ alt-transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
+- auto-dnssec ( allow | maintain | off );
++ auto-dnssec ( allow | maintain | off ); // deprecated
+ check-dup-records ( fail | warn | ignore );
+ check-integrity <boolean>;
+ check-mx ( fail | warn | ignore );
+diff --git a/doc/misc/options b/doc/misc/options
+index f57399499a..0dbcf101e1 100644
+--- a/doc/misc/options
++++ b/doc/misc/options
+@@ -404,6 +404,7 @@ options {
+ trust-anchor-telemetry <boolean>; // experimental
+ try-tcp-refresh <boolean>;
+ update-check-ksk <boolean>;
++ update-quota <integer>;
+ use-alt-transfer-source <boolean>;
+ use-id-pool <boolean>; // ancient
+ use-ixfr <boolean>; // obsolete
+diff --git a/doc/misc/options.active b/doc/misc/options.active
+index 5fc1ab29f4..eb75a86eae 100644
+--- a/doc/misc/options.active
++++ b/doc/misc/options.active
+@@ -363,6 +363,7 @@ options {
+ trust-anchor-telemetry <boolean>; // experimental
+ try-tcp-refresh <boolean>;
+ update-check-ksk <boolean>;
++ update-quota <integer>;
+ use-alt-transfer-source <boolean>;
+ use-v4-udp-ports { <portrange>; ... };
+ use-v6-udp-ports { <portrange>; ... };
+diff --git a/doc/misc/options.grammar.rst b/doc/misc/options.grammar.rst
+index 438072c95c..beef35341a 100644
+--- a/doc/misc/options.grammar.rst
++++ b/doc/misc/options.grammar.rst
+@@ -33,7 +33,7 @@
+ answer-cookie <boolean>;
+ attach-cache <string>;
+ auth-nxdomain <boolean>; // default changed
+- auto-dnssec ( allow | maintain | off );
++ auto-dnssec ( allow | maintain | off ); // deprecated
+ automatic-interface-scan <boolean>;
+ avoid-v4-udp-ports { <portrange>; ... };
+ avoid-v6-udp-ports { <portrange>; ... };
+@@ -300,6 +300,7 @@
+ trust-anchor-telemetry <boolean>; // experimental
+ try-tcp-refresh <boolean>;
+ update-check-ksk <boolean>;
++ update-quota <integer>;
+ use-alt-transfer-source <boolean>;
+ use-v4-udp-ports { <portrange>; ... };
+ use-v6-udp-ports { <portrange>; ... };
+diff --git a/doc/misc/slave.zoneopt.rst b/doc/misc/slave.zoneopt.rst
+index cc72dcbf67..468a7f4d9a 100644
+--- a/doc/misc/slave.zoneopt.rst
++++ b/doc/misc/slave.zoneopt.rst
+@@ -21,7 +21,7 @@
+ also-notify [ port <integer> ] [ dscp <integer> ] { ( <remote-servers> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
+ alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
+ alt-transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
+- auto-dnssec ( allow | maintain | off );
++ auto-dnssec ( allow | maintain | off ); // deprecated
+ check-names ( fail | warn | ignore );
+ database <string>;
+ dialup ( notify | notify-passive | passive | refresh | <boolean> );
+diff --git a/lib/isccfg/namedconf.c b/lib/isccfg/namedconf.c
+index 45de0196bf..6e63d86816 100644
+--- a/lib/isccfg/namedconf.c
++++ b/lib/isccfg/namedconf.c
+@@ -1267,6 +1267,7 @@ static cfg_clausedef_t options_clauses[] = {
+ { "transfers-out", &cfg_type_uint32, 0 },
+ { "transfers-per-ns", &cfg_type_uint32, 0 },
+ { "treat-cr-as-space", &cfg_type_boolean, CFG_CLAUSEFLAG_ANCIENT },
++ { "update-quota", &cfg_type_uint32, 0 },
+ { "use-id-pool", &cfg_type_boolean, CFG_CLAUSEFLAG_ANCIENT },
+ { "use-ixfr", &cfg_type_boolean, CFG_CLAUSEFLAG_OBSOLETE },
+ { "use-v4-udp-ports", &cfg_type_bracketed_portlist, 0 },
+--
+2.39.1
+