Open
update bind version to 9.18.28 #214
Venland1Add on Apr 8, 2024
update bind version to 9.18.28 #214
Open
Venland1Add on Apr 8, 2024
Merged fromrefs/pull/214/headintomaster
Total: 11 files changed+24-1717
@@ -1,600 +0,0 @@
1-From c12608ca934c0433d280e65fe6c631013e200cfe Mon Sep 17 00:00:00 2001
2-From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= <ondrej@isc.org>
3-Date: Thu, 11 Jan 2024 12:03:24 +0100
4-Subject: [PATCH] Split fast and slow task queues
5- 
6-Change the taskmgr (and thus netmgr) in a way that it supports fast and
7-slow task queues. The fast queue is used for incoming DNS traffic and
8-it will pass the processing to the slow queue for sending outgoing DNS
9-messages and processing resolver messages.
10- 
11-In the future, more tasks might get moved to the slow queues, so the
12-cached and authoritative DNS traffic can be handled without being slowed
13-down by operations that take longer time to process.
14- 
15-Conflict:NA
16-Reference:https://downloads.isc.org/isc/bind/9.18.24/patches/0004-CVE-2023-50387-CVE-2023-50868.patch
17- 
18-(cherry picked from commit 1b3b0cef224e7a9e8279c5cfe2f7e188e3777cc7)
19----
20- lib/dns/dst_api.c | 27 +++++++++----
21- lib/dns/include/dns/validator.h | 1 +
22- lib/dns/include/dst/dst.h | 4 ++
23- lib/dns/resolver.c | 4 +-
24- lib/dns/validator.c | 67 +++++++++++++++------------------
25- lib/isc/include/isc/netmgr.h | 3 ++
26- lib/isc/netmgr/http.c | 18 ++++-----
27- lib/isc/netmgr/netmgr-int.h | 1 +
28- lib/isc/netmgr/netmgr.c | 38 ++++++++++++-------
29- lib/isc/netmgr/tcp.c | 6 +--
30- lib/isc/netmgr/tcpdns.c | 4 +-
31- lib/isc/netmgr/tlsdns.c | 4 +-
32- lib/isc/netmgr/tlsstream.c | 12 +++---
33- lib/isc/netmgr/udp.c | 6 +--
34- 14 files changed, 109 insertions(+), 86 deletions(-)
35- 
36-diff --git a/lib/dns/dst_api.c b/lib/dns/dst_api.c
37-index 4ffda8b..0658c69 100644
38---- a/lib/dns/dst_api.c
39-+++ b/lib/dns/dst_api.c
40-@@ -164,7 +164,8 @@ computeid(dst_key_t *key);
41- static isc_result_t
42- frombuffer(const dns_name_t *name, unsigned int alg, unsigned int flags,
43- unsigned int protocol, dns_rdataclass_t rdclass,
44-- isc_buffer_t *source, isc_mem_t *mctx, dst_key_t **keyp);
45-+ isc_buffer_t *source, isc_mem_t *mctx, bool no_rdata,
46-+ dst_key_t **keyp);
47-
48- static isc_result_t
49- algorithm_status(unsigned int alg);
50-@@ -753,6 +754,13 @@ dst_key_todns(const dst_key_t *key, isc_buffer_t *target) {
51- isc_result_t
52- dst_key_fromdns(const dns_name_t *name, dns_rdataclass_t rdclass,
53- isc_buffer_t *source, isc_mem_t *mctx, dst_key_t **keyp) {
54-+ return (dst_key_fromdns_ex(name, rdclass, source, mctx, false, keyp));
55-+}
56-+
57-+isc_result_t
58-+dst_key_fromdns_ex(const dns_name_t *name, dns_rdataclass_t rdclass,
59-+ isc_buffer_t *source, isc_mem_t *mctx, bool no_rdata,
60-+ dst_key_t **keyp) {
61- uint8_t alg, proto;
62- uint32_t flags, extflags;
63- dst_key_t *key = NULL;
64-@@ -783,7 +791,7 @@ dst_key_fromdns(const dns_name_t *name, dns_rdataclass_t rdclass,
65- }
66-
67- result = frombuffer(name, alg, flags, proto, rdclass, source, mctx,
68-- &key);
69-+ no_rdata, &key);
70- if (result != ISC_R_SUCCESS) {
71- return (result);
72- }
73-@@ -804,7 +812,7 @@ dst_key_frombuffer(const dns_name_t *name, unsigned int alg, unsigned int flags,
74- REQUIRE(dst_initialized);
75-
76- result = frombuffer(name, alg, flags, protocol, rdclass, source, mctx,
77-- &key);
78-+ false, &key);
79- if (result != ISC_R_SUCCESS) {
80- return (result);
81- }
82-@@ -2351,7 +2359,8 @@ computeid(dst_key_t *key) {
83- static isc_result_t
84- frombuffer(const dns_name_t *name, unsigned int alg, unsigned int flags,
85- unsigned int protocol, dns_rdataclass_t rdclass,
86-- isc_buffer_t *source, isc_mem_t *mctx, dst_key_t **keyp) {
87-+ isc_buffer_t *source, isc_mem_t *mctx, bool no_rdata,
88-+ dst_key_t **keyp) {
89- dst_key_t *key;
90- isc_result_t ret;
91-
92-@@ -2376,10 +2385,12 @@ frombuffer(const dns_name_t *name, unsigned int alg, unsigned int flags,
93- return (DST_R_UNSUPPORTEDALG);
94- }
95-
96-- ret = key->func->fromdns(key, source);
97-- if (ret != ISC_R_SUCCESS) {
98-- dst_key_free(&key);
99-- return (ret);
100-+ if (!no_rdata) {
@@ -1,108 +0,0 @@
1-From c73262493658cb8623927ef6cc2f023501f7e809 Mon Sep 17 00:00:00 2001
2-From: Mark Andrews <marka@isc.org>
3-Date: Tue, 10 Oct 2023 10:58:18 +1100
4-Subject: [PATCH] Save the correct result value to resume with
5- nxdomain-redirect
6- 
7-The wrong result value was being saved for resumption with
8-nxdomain-redirect when performing the fetch. This lead to an assert
9-when checking that RFC 1918 reverse queries where not leaking to
10-the global internet.
11- 
12-Conflict:NA
13-Reference:https://downloads.isc.org/isc/bind/9.18.24/patches/0002-CVE-2023-5517.patch
14- 
15-(cherry picked from commit 9d0fa07c5e7a39db89862a4f843d2190059afb4b)
16----
17- lib/ns/query.c | 22 ++++++++++------------
18- 1 file changed, 10 insertions(+), 12 deletions(-)
19- 
20-diff --git a/lib/ns/query.c b/lib/ns/query.c
21-index c1e9148..61749c8 100644
22---- a/lib/ns/query.c
23-+++ b/lib/ns/query.c
24-@@ -465,10 +465,10 @@ static void
25- query_addnxrrsetnsec(query_ctx_t *qctx);
26-
27- static isc_result_t
28--query_nxdomain(query_ctx_t *qctx, isc_result_t res);
29-+query_nxdomain(query_ctx_t *qctx, isc_result_t result);
30-
31- static isc_result_t
32--query_redirect(query_ctx_t *qctx);
33-+query_redirect(query_ctx_t *qctx, isc_result_t result);
34-
35- static isc_result_t
36- query_ncache(query_ctx_t *qctx, isc_result_t result);
37-@@ -7718,8 +7718,7 @@ query_usestale(query_ctx_t *qctx, isc_result_t result) {
38- * result from the search.
39- */
40- static isc_result_t
41--query_gotanswer(query_ctx_t *qctx, isc_result_t res) {
42-- isc_result_t result = res;
43-+query_gotanswer(query_ctx_t *qctx, isc_result_t result) {
44- char errmsg[256];
45-
46- CCTRACE(ISC_LOG_DEBUG(3), "query_gotanswer");
47-@@ -7795,7 +7794,7 @@ root_key_sentinel:
48- return (query_coveringnsec(qctx));
49-
50- case DNS_R_NCACHENXDOMAIN:
51-- result = query_redirect(qctx);
52-+ result = query_redirect(qctx, result);
53- if (result != ISC_R_COMPLETE) {
54- return (result);
55- }
56-@@ -9612,11 +9611,10 @@ query_addnxrrsetnsec(query_ctx_t *qctx) {
57- * Handle NXDOMAIN and empty wildcard responses.
58- */
59- static isc_result_t
60--query_nxdomain(query_ctx_t *qctx, isc_result_t res) {
61-+query_nxdomain(query_ctx_t *qctx, isc_result_t result) {
62- dns_section_t section;
63- uint32_t ttl;
64-- isc_result_t result = res;
65-- bool empty_wild = (res == DNS_R_EMPTYWILD);
66-+ bool empty_wild = (result == DNS_R_EMPTYWILD);
67-
68- CCTRACE(ISC_LOG_DEBUG(3), "query_nxdomain");
69-
70-@@ -9625,7 +9623,7 @@ query_nxdomain(query_ctx_t *qctx, isc_result_t res) {
71- INSIST(qctx->is_zone || REDIRECT(qctx->client));
72-
73- if (!empty_wild) {
74-- result = query_redirect(qctx);
75-+ result = query_redirect(qctx, result);
76- if (result != ISC_R_COMPLETE) {
77- return (result);
78- }
79-@@ -9713,7 +9711,7 @@ cleanup:
80- * redirecting, so query processing should continue past it.
81- */
82- static isc_result_t
83--query_redirect(query_ctx_t *qctx) {
84-+query_redirect(query_ctx_t *qctx, isc_result_t saved_result) {
85- isc_result_t result;
86-
87- CCTRACE(ISC_LOG_DEBUG(3), "query_redirect");
88-@@ -9754,7 +9752,7 @@ query_redirect(query_ctx_t *qctx) {
89- SAVE(qctx->client->query.redirect.rdataset, qctx->rdataset);
90- SAVE(qctx->client->query.redirect.sigrdataset,
91- qctx->sigrdataset);
92-- qctx->client->query.redirect.result = DNS_R_NCACHENXDOMAIN;
93-+ qctx->client->query.redirect.result = saved_result;
94- dns_name_copy(qctx->fname, qctx->client->query.redirect.fname);
95- qctx->client->query.redirect.authoritative =
96- qctx->authoritative;
97-@@ -10415,7 +10413,7 @@ query_coveringnsec(query_ctx_t *qctx) {
98- * We now have the proof that we have an NXDOMAIN. Apply
99- * NXDOMAIN redirection if configured.
100- */
101-- result = query_redirect(qctx);
102-+ result = query_redirect(qctx, DNS_R_COVERINGNSEC);
103- if (result != ISC_R_COMPLETE) {
104- redirected = true;
105- goto cleanup;
106---
107-2.33.0
108- 
@@ -1,38 +0,0 @@
1-From 7db2796507127b40e2f091dafb842c6a7e86b9a8 Mon Sep 17 00:00:00 2001
2-From: Mark Andrews <marka@isc.org>
3-Date: Thu, 12 Oct 2023 12:01:46 +1100
4-Subject: [PATCH] Restore dns64 state during serve-stale processing
5- 
6-If we are in the process of looking for the A records as part of
7-dns64 processing and the server-stale timeout triggers, redo the
8-dns64 changes that had been made to the orignal qctx.
9- 
10-Conflict:NA
11-Reference:https://downloads.isc.org/isc/bind/9.18.24/patches/0003-CVE-2023-5679.patch
12- 
13-(cherry picked from commit 1fcc483df13e049b96f620e515f0d4d45f3680b7)
14----
15- lib/ns/query.c | 7 +++++++
16- 1 file changed, 7 insertions(+)
17- 
18-diff --git a/lib/ns/query.c b/lib/ns/query.c
19-index 61749c8..40e1232 100644
20---- a/lib/ns/query.c
21-+++ b/lib/ns/query.c
22-@@ -6228,6 +6228,13 @@ query_lookup_stale(ns_client_t *client) {
23- query_ctx_t qctx;
24-
25- qctx_init(client, NULL, client->query.qtype, &qctx);
26-+ if (DNS64(client)) {
27-+ qctx.qtype = qctx.type = dns_rdatatype_a;
28-+ qctx.dns64 = true;
29-+ }
30-+ if (DNS64EXCLUDE(client)) {
31-+ qctx.dns64_exclude = true;
32-+ }
33- dns_db_attach(client->view->cachedb, &qctx.db);
34- client->query.attributes &= ~NS_QUERYATTR_RECURSIONOK;
35- client->query.dboptions |= DNS_DBFIND_STALETIMEOUT;
36---
37-2.33.0
38- 
@@ -1,16 +0,0 @@
1------BEGIN PGP SIGNATURE-----
2- 
3-iQIzBAABAgAdFiEErj+seWcR7Fn8AHqkdLtrmky7PTgFAl2WMooACgkQdLtrmky7
4-PThv2RAAnXNLYTzXtH6ls29tRm5Hc+D6UaeqcWDNQ4BpkRVhrFxtukalGCi9mmB6
5-NPJzFyXmaOW654pypCIuEgqJNFUpDtLzLzT7SUF+mhm+5plsaRSBnh4mq87l5KSp
6-twODAPnfCJV+HBk5RmToLEstAbGQ7xEBTyQtZoFkY+V7zEFwENKiCvWsoSWOkYR3
7-zXo3sKjc83HV9ShbW/mCtbZf5L0qlbrKOAzqJfAFMhNNJi8kMbmr/Zi2sIfN+Rhv
8-g8HQo89Epv6r51yAdeED8idIX4rKjjcEtHrZeDmLdCcdHgSEj2sIlH92Joce6vL0
9-S59A0rItIXm6fW8sz6WNpcj4tVtWYbIYjXZ4SPFNkaUrHv8cUekq+5vbI+v07Gh3
10-2bhtDsDyTY5I1/AsY/EFmwkCAjUS00jZryBnuJpLB3v5JtUog4ek32yLBzPrqRBo
11-1876j4nlXAia8mG0OgJNWZ0gHyUPe/TgfR8fQDLmHxHHlKrJNTEwY6bLW8jzFTX1
12-zk510fI1K7J9tiQgf5wcBQ2h3EBlqzDNIJDovoATzLYIf0HKyVegh/vnQdtdEhUR
13-1DzJAt3bsBfAP1AFfWPD/ACu5Zdm7SxY1wE/pjkwttDU3sRZqOfuwNBGeolu3cVN
14-O9/h1zsyVeVS0ui2vu4+V4EvNitmXsVbG2doDq9L5yBiIKGO2Ew=
15-=GCy6
16------END PGP SIGNATURE-----
@@ -1,16 +0,0 @@
1------BEGIN PGP SIGNATURE-----
2- 
3-iQIzBAABAgAdFiEErj+seWcR7Fn8AHqkdLtrmky7PTgFAl2WMpEACgkQdLtrmky7
4-PTh/sg//QbNRAQvADQfwF1PPo+JxB+3WzQ9oJAWeHbOoiubwkUwO9xE+BEnTNd5o
5-oM1lSLqFxNykOTaoeJlqPftPod1cxo7lSzkwflugGyB/59wliCpqCg053YV4x9mO
6-QggvA/E50+0FI/Om/7v4GHGADu/JE83FovOueWAB0LgqfDSD6QFcNFF9sUJJ4P7r
7-FcEXSWj8QbrHMWBKncZUOpD2ECotvtrYmi0DTHl1XfigESDQpWtsnTFuabCCsvkh
8-ch9wQRplAes2Mf/aS5tl1y0QKKBFuEjtGiTdgrDl6o9GLnx6CueX5saZehu2EVkr
9-fq2vEYUC2lRQSjuxSMMJ3L0TGUcl7+ixlAIISS2K9L5Xx7MhBXt/EH5KiKPfsEet
10-3EH+DhxV5uXjDU7MgvREnxT+ssV23e0HWTz4tVVQ9LpvYmWPIgLcSOhHCc57yoQF
11-c46V0f69dMWbMAlQ93EZSG274ZvpIszpK8+3hGI3/TuDFFgiQJeJJBFVtYJMle69
12-3mEEclfzO7fBiXZFec6nVx2309bL64bafN7zszPKXl4XgoefOfD0v0eWqQT4fxfm
13-dnGC0qMqSZs5F+d0fISV5JUUNYzt9PZjvnzqLLGOeTF6l3/n9G1mmNsXcxJ1OEIF
14-6qh1oO7JTPjt0MFhKac4QjNQi/Bnp25O3I/PRyWZCbiwXkyvyQU=
15-=ZT7s
16------END PGP SIGNATURE-----
@@ -1,16 +0,0 @@
1------BEGIN PGP SIGNATURE-----
2- 
3-iQIzBAABCgAdFiEE2ZzOr4eXRwFPA41jGC4jV5Ri76oFAmPFaWcACgkQGC4jV5Ri
4-76oXaw/+OCf5ZKRNIM4Gr2nbdDSPNhHblFmOdAAgwX8929uZaiciJDV3UvPXsIZw
5-76XsGcECe8Ri6gq7xU8bUsNC7O8eiT2n0mtDAFdJDt9LyQeJVi/UwidzYXRjSukf
6-nQJYz2kBR/eO07JozqLS1oOm7bM7NmDdbMPgTk7qyKUkd8lXeph74gUo8X8LtVJV
7-03xwdYOPFO8mJtebq8i9pullVeE5AMc3qZW/FnNkgHcLZATXWE1K4ie1uw6YynWv
8-j/P87WdUKER4kXWg4030+isKaj4jeIevBKCdDxS2ZZvlN1ioK2+XKvyGyIouB6bF
9-BW3z6ndtZ353r40ajdliEa2eZdMlI9kPUzaMgRWnynyG8u3wkLSZoWuZJiSXiSJI
10-ccuT9c/O0kQQdbyqtWaY7CwJnG2pSCzRjWBpifHKOnCBCzCYrS0PIO0gsV88JZeg
11-p37mZBrwUQ7FaxXs3BRiYi0JNLDdhpBnSM1MbD1Q0KuH8Ndb/gBHV9p3BlpbLAuj
12-RGEvgDWEY97VEzkTLO7G+2BIh3TZAYtyHgO7TSuxyEor8FeQsVBawFOS9ZHTU+U6
13-38ghgFBV5Svqs2R9Ri/xcPEaaKjqgDb+6KVaAIpvnHwW28yiHZj8Fwzj0T2ojC/r
14-53uz/dHpW9gXerWSH7gDsd4kjAJKZEC7x84CNwMpZ4kn6CkhQVE=
15-=DAsV
16------END PGP SIGNATURE-----
@@ -1,16 +0,0 @@
1------BEGIN PGP SIGNATURE-----
2- 
3-iQIzBAABCgAdFiEEcGtsKGIOdvkdEfffUQpkKgbFLOwFAmV3BGsACgkQUQpkKgbF
4-LOwu9w/+JciqKqT0JieUDwPzEhhulBCWEhbZFrHK6dFM5UkPHkaV79QkZAQEhnq1
5-FXVEF99ZuTbz5s79wNAZ9I4AiU0al5RK1P5MwMBbjsQrfnkhmKnPIU1jx3FSVrCP
6-tC9l1xEjkLNi2vf28ZQ9KED2hUdqsgTZqDvgewEnrq1NtZ0K7ozz9nHQLfooDSJT
7-L5U9HDp3vf5BJWONjnKAPjJJdeRf7HPqokJVSjQcVxrT06VsMNUFFmyCbEJ0UTJm
8-mqDrRuEXhkAKf40DwMr0qGqiq5Q4m960yADEK1Aju/9cEf6Ag4FYyy70iyICe7Tj
9-T8qjVzzwboUJao3m/152+6qvzGXJKdUUZqCnNcCc2wmirmg/ES4DLLFyYYXBflj7
10-hWCOLXeghF/785te4fmiH3gqcEZBEVcc0wl1HCL5m3q9kGutGgLJVOZgM5D6zf2T
11-0Sa60qIr5r+cKCS9OYowTH1+NqEsW4XhCVIe/RYEuXa3FFczIUbdGlUQ5t9ILBxi
12-zbZ04Tj0tecqUVkhoEYZfQzhHEa43LzxATdQ4Zc01USaxhbSFSoyG1+WP1tPD+PL
13-wqZA9tEuvKtngr/UP+BeLG0lWv5zbtShzM1V1cEg7JuoiI2onWstaN7NYXShiUMZ
14-oVYXIBbmNbXVmm2TYzt4mw9TotGWHkSNjPZGvvAYw/0mtcw6NXs=
15-=bzR1
16------END PGP SIGNATURE-----
Rbind-9.18.21.tar.xz→bind-9.18.28.tar.xz+0-0
Binary files do not support preview
@@ -0,0 +1,16 @@
1+-----BEGIN PGP SIGNATURE-----
2+ 
3+iQIzBAABCgAdFiEEcGtsKGIOdvkdEfffUQpkKgbFLOwFAmaNOycACgkQUQpkKgbF
4+LOzpUhAAlPQdWnR29yRHE1uCULm5AaLK6mrneUqhLYNWCvuMjNjyQrhxlyv6YUYQ
5+RVpFoIiE6eeJ1LRpviEIbaMdRVUNc8GahsPz4kaiYrYo4pXTzEDE4UwRJy4Ed2vB
6+Pk7UYb8IHtl0BkmTixC4N244nzy9TctoGX/K2d0dhPonlM5pxjezg/qQkSpJDjgi
7+ZW5CJjocr9DClUIy7oGUOh3ywScfgHZRUndj1rMjmPdgZ2EuGXhgUemFy2kxxE9I
8+9juSMqNlpw1XOyjWoaMWQfIQXty2dWrVfoH3cm9Fw1SaO2jQkiFvhE33UxdneKGk
9+yGEaS7iYd1tV3zJejBiAcMHHqIdtCUDHqF3oXraL3C3XNGgdvLLL0ZsoAsRIjYDS
10+YqjKMJ1eYHItOroIsu7ZgWR6W+tCclEok8vl4QhFNqxMqcj7swYd3uFaVstKVWso
11+w4ReTHnZ5hPVyPaCiSDpkHBp9+L0IWSaZVho4RcnOw1DydEzSDjukebPE7V9Ss/A
12+OIHH8PWBW0kPPbhKgF33hTTP7rkazA6Jl6wQzq61dUicJmCOqnjfK3AHBotC8NgC
13+kJArXMFkQbv4ps+HmNc2rbW0tOIdT/r9yGpnTp8+y0XZ9H6Ft8UTZw/nM8vWeO9E
14+acRULmjDCqC3v5UFXiDcJdxwJzEj6F/VRm/G/+bQSwqzDncUWak=
15+=K3Mi
16+-----END PGP SIGNATURE-----
@@ -28,8 +28,8 @@
28Summary: The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) server28Summary: The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) server
29Name: bind29Name: bind
30License: MPLv2.030License: MPLv2.0
31-Version: 9.18.2131+Version: 9.18.28
32-Release: 232+Release: 1
33Epoch: 3233Epoch: 32
34Url: https://www.isc.org/downloads/bind/34Url: https://www.isc.org/downloads/bind/
35#35#
@@ -60,10 +60,6 @@ Source46: named-setup-rndc.service
60Source48: setup-named-softhsm.sh60Source48: setup-named-softhsm.sh
61Source49: named-chroot.files61Source49: named-chroot.files
62 62 
63-Patch6000:backport-CVE-2023-4408.patch
64-Patch6001:backport-CVE-2023-5517.patch
65-Patch6002:backport-CVE-2023-5679.patch
66-Patch6003:backport-CVE-2023-50387-CVE-2023-50868.patch
67# Common patches63# Common patches
68 64 
69%{?systemd_ordering}65%{?systemd_ordering}
@@ -903,6 +899,12 @@ fi;
903%endif899%endif
904 900 
905%changelog901%changelog
902+* Fri Jul 26 2024 liweigang <liweiganga@uniontech.com> - 32:9.18.28-1
903+- Type: requirement
904+- CVE: NA
905+- SUG: NA
906+- DESC: version update to 9.18.28
907+ 
906* Tue Mar 19 2024 chengyechun<chengyechun1@huawei.com> - 32:9.18.21-2908* Tue Mar 19 2024 chengyechun<chengyechun1@huawei.com> - 32:9.18.21-2
907- Type:CVE909- Type:CVE
908- CVE:CVE-2023-4408 CVE-2023-5517 CVE-2023-5679 CVE-2023-50387 CVE-2023-50868910- CVE:CVE-2023-4408 CVE-2023-5517 CVE-2023-5679 CVE-2023-50387 CVE-2023-50868