File dnsmasq-CVE-2023-28450.patch of Package dnsmasq.28475

From eb92fb32b746f2104b0f370b5b295bb8dd4bd5e5 Mon Sep 17 00:00:00 2001
From: Simon Kelley <simon@thekelleys.org.uk>
Date: Tue, 7 Mar 2023 22:07:46 +0000
Subject: [PATCH] Set the default maximum DNS UDP packet size to 1232.

http://www.dnsflagday.net/2020/ refers.

Thanks to Xiang Li for the prompt.
---
 CHANGELOG     | 9 ++++++++-
 man/dnsmasq.8 | 3 ++-
 src/config.h  | 2 +-
 3 files changed, 11 insertions(+), 3 deletions(-)

--- CHANGELOG.orig
+++ CHANGELOG
@@ -1,6 +1,13 @@
 
 	Fix write-after-free error in DHCPv6 server code.
 	CVE-2022-0934 refers.
+	
+	Set the default maximum DNS UDP packet sice to 1232. This
+	has been the recommended value since 2020 because it's the
+	largest value that avoid fragmentation, and fragmentation
+	is just not reliable on the modern internet, especially
+	for IPv6. It's still possible to override this with
+	--edns-packet-max for special circumstances.
 
 	
 version 2.86
--- man/dnsmasq.8.orig
+++ man/dnsmasq.8
@@ -172,7 +172,8 @@ to zero completely disables DNS function
 .TP
 .B \-P, --edns-packet-max=<size>
 Specify the largest EDNS.0 UDP packet which is supported by the DNS
-forwarder. Defaults to 4096, which is the RFC5625-recommended size.
+forwarder. Defaults to 1232, which is the recommended size following the
+DNS flag day in 2020. Only increase if you know what you are doing.
 .TP
 .B \-Q, --query-port=<query_port>
 Send outbound DNS queries from, and listen for their replies on, the
--- src/config.h.orig
+++ src/config.h
@@ -19,7 +19,7 @@
 #define CHILD_LIFETIME 150 /* secs 'till terminated (RFC1035 suggests > 120s) */
 #define TCP_MAX_QUERIES 100 /* Maximum number of queries per incoming TCP connection */
 #define TCP_BACKLOG 32  /* kernel backlog limit for TCP connections */
-#define EDNS_PKTSZ 4096 /* default max EDNS.0 UDP packet from RFC5625 */
+#define EDNS_PKTSZ 1232 /* default max EDNS.0 UDP packet from from  /dnsflagday.net/2020 */
 #define SAFE_PKTSZ 1280 /* "go anywhere" UDP packet size */
 #define KEYBLOCK_LEN 40 /* choose to minimise fragmentation when storing DNSSEC keys */
 #define DNSSEC_WORK 50 /* Max number of queries to validate one question */
openSUSE Build Service is sponsored by