b84a9281f8b83ecd55d8cf9c3470ce98bd37d7ea
[librecmc/librecmc.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/30] 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