When answering queries, don't add data to the additional section if the answer has more than 13 names in the RDATA. This limits the number of lookups into the database(s) during a single client query, reducing query processing load. Also, don't append any additional data to type=ANY queries. The answer to ANY is already big enough. Vulnerability: CVE-2024-11187 Resolves: RHEL-76875 (cherry picked from commit 90a94b1099913c2c18188f78a5226d43bc7fecc5)
86 lines
2.7 KiB
Diff
86 lines
2.7 KiB
Diff
From 8a9b9ff5a8b2443f7df4f60397ad215931ba44f1 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= <ondrej@isc.org>
|
|
Date: Tue, 7 Jan 2025 15:22:40 +0100
|
|
Subject: [PATCH] Isolate using the -T noaa flag only for part of the resolver
|
|
test
|
|
|
|
Instead of running the whole resolver/ns4 server with -T noaa flag,
|
|
use it only for the part where it is actually needed. The -T noaa
|
|
could interfere with other parts of the test because the answers don't
|
|
have the authoritative-answer bit set, and we could have false
|
|
positives (or false negatives) in the test because the authoritative
|
|
server doesn't follow the DNS protocol for all the tests in the resolver
|
|
system test.
|
|
|
|
(cherry picked from commit e51d4d3b88af00d6667f2055087ebfc47fb3107c)
|
|
---
|
|
bin/tests/system/conf.sh.in | 12 ++++++++++++
|
|
bin/tests/system/resolver/ns4/named.noaa | 5 -----
|
|
bin/tests/system/resolver/tests.sh | 8 ++++++++
|
|
3 files changed, 20 insertions(+), 5 deletions(-)
|
|
delete mode 100644 bin/tests/system/resolver/ns4/named.noaa
|
|
|
|
diff --git a/bin/tests/system/conf.sh.in b/bin/tests/system/conf.sh.in
|
|
index 06852f5..f77f7de 100644
|
|
--- a/bin/tests/system/conf.sh.in
|
|
+++ b/bin/tests/system/conf.sh.in
|
|
@@ -305,6 +305,18 @@ digcomp() {
|
|
return $result
|
|
}
|
|
|
|
+start_server() {
|
|
+ $PERL "$SYSTEMTESTTOP/start.pl" "$SYSTESTDIR" "$@"
|
|
+}
|
|
+
|
|
+stop_server() {
|
|
+ $PERL "$SYSTEMTESTTOP/stop.pl" "$SYSTESTDIR" "$@"
|
|
+}
|
|
+
|
|
+send() {
|
|
+ $PERL "$SYSTEMTESTTOP/send.pl" "$@"
|
|
+}
|
|
+
|
|
#
|
|
# Useful functions in test scripts
|
|
#
|
|
diff --git a/bin/tests/system/resolver/ns4/named.noaa b/bin/tests/system/resolver/ns4/named.noaa
|
|
deleted file mode 100644
|
|
index 3b121ad..0000000
|
|
--- a/bin/tests/system/resolver/ns4/named.noaa
|
|
+++ /dev/null
|
|
@@ -1,5 +0,0 @@
|
|
-Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
|
-
|
|
-See COPYRIGHT in the source root or https://isc.org/copyright.html for terms.
|
|
-
|
|
-Add -T noaa.
|
|
diff --git a/bin/tests/system/resolver/tests.sh b/bin/tests/system/resolver/tests.sh
|
|
index 6eb52fe..bf37467 100755
|
|
--- a/bin/tests/system/resolver/tests.sh
|
|
+++ b/bin/tests/system/resolver/tests.sh
|
|
@@ -281,6 +281,10 @@ done
|
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
|
status=`expr $status + $ret`
|
|
|
|
+stop_server ns4
|
|
+touch ns4/named.noaa
|
|
+start_server --noclean --restart --port ${PORT} ns4 || ret=1
|
|
+
|
|
n=`expr $n + 1`
|
|
echo_i "RT21594 regression test check setup ($n)"
|
|
ret=0
|
|
@@ -317,6 +321,10 @@ grep "status: NXDOMAIN" dig.ns5.out.${n} > /dev/null || ret=1
|
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
|
status=`expr $status + $ret`
|
|
|
|
+stop_server ns4
|
|
+rm ns4/named.noaa
|
|
+start_server --noclean --restart --port ${PORT} ns4 || ret=1
|
|
+
|
|
n=`expr $n + 1`
|
|
echo_i "check that replacement of additional data by a negative cache no data entry clears the additional RRSIGs ($n)"
|
|
ret=0
|
|
--
|
|
2.48.1
|
|
|