9ded9eb53ccf29e8abddb8860d2581a2b1f8c4d5
[openwrt/staging/ldir.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/57] 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