aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/services/dnsmasq/patches/0026-Check-for-not-DS-or-DNSKEY-in-is_outdated_cname_poin.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/network/services/dnsmasq/patches/0026-Check-for-not-DS-or-DNSKEY-in-is_outdated_cname_poin.patch')
-rw-r--r--package/network/services/dnsmasq/patches/0026-Check-for-not-DS-or-DNSKEY-in-is_outdated_cname_poin.patch24
1 files changed, 24 insertions, 0 deletions
diff --git a/package/network/services/dnsmasq/patches/0026-Check-for-not-DS-or-DNSKEY-in-is_outdated_cname_poin.patch b/package/network/services/dnsmasq/patches/0026-Check-for-not-DS-or-DNSKEY-in-is_outdated_cname_poin.patch
new file mode 100644
index 0000000000..b84a9281f8
--- /dev/null
+++ b/package/network/services/dnsmasq/patches/0026-Check-for-not-DS-or-DNSKEY-in-is_outdated_cname_poin.patch
@@ -0,0 +1,24 @@
+From 2896e2485e44c04e73a0b7c9f7cbc9c8515d0800 Mon Sep 17 00:00:00 2001
+From: Simon Kelley <simon@thekelleys.org.uk>
+Date: Wed, 9 Jan 2019 15:12:34 +0000
+Subject: [PATCH 26/30] Check for not(DS or DNSKEY) in
+ is_outdated_cname_pointer()
+
+Previous check was _for_ IPV4, IPv6 CNAME, and I missed adding SRV.
+
+Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
+---
+ src/cache.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/src/cache.c
++++ b/src/cache.c
+@@ -312,7 +312,7 @@ static int is_outdated_cname_pointer(str
+ /* NB. record may be reused as DS or DNSKEY, where uid is
+ overloaded for something completely different */
+ if (crecp->addr.cname.target.cache &&
+- (crecp->addr.cname.target.cache->flags & (F_IPV4 | F_IPV6 | F_CNAME)) &&
++ !(crecp->addr.cname.target.cache->flags & (F_DNSKEY | F_DS)) &&
+ crecp->addr.cname.uid == crecp->addr.cname.target.cache->uid)
+ return 0;
+