4ca0be455fc4cff1df39786817f127865b87fabc
[openwrt/staging/blocktrron.git] /
1 From 2896e2485e44c04e73a0b7c9f7cbc9c8515d0800 Mon Sep 17 00:00:00 2001
2 From: Simon Kelley <simon@thekelleys.org.uk>
3 Date: Wed, 9 Jan 2019 15:12:34 +0000
4 Subject: [PATCH 26/32] Check for not(DS or DNSKEY) in
5 is_outdated_cname_pointer()
6
7 Previous check was _for_ IPV4, IPv6 CNAME, and I missed adding SRV.
8
9 Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
10 ---
11 src/cache.c | 2 +-
12 1 file changed, 1 insertion(+), 1 deletion(-)
13
14 --- a/src/cache.c
15 +++ b/src/cache.c
16 @@ -312,7 +312,7 @@ static int is_outdated_cname_pointer(str
17 /* NB. record may be reused as DS or DNSKEY, where uid is
18 overloaded for something completely different */
19 if (crecp->addr.cname.target.cache &&
20 - (crecp->addr.cname.target.cache->flags & (F_IPV4 | F_IPV6 | F_CNAME)) &&
21 + !(crecp->addr.cname.target.cache->flags & (F_DNSKEY | F_DS)) &&
22 crecp->addr.cname.uid == crecp->addr.cname.target.cache->uid)
23 return 0;
24