]> git.ipfire.org Git - thirdparty/knot-resolver.git/commit
iterate: fix bad zone_cut update in a rare case
authorVladimír Čunát <vladimir.cunat@nic.cz>
Wed, 8 Dec 2021 13:30:18 +0000 (14:30 +0100)
committerVladimír Čunát <vladimir.cunat@nic.cz>
Wed, 8 Dec 2021 13:32:01 +0000 (14:32 +0100)
commitf4dabfbec92737036c8851ddbf51d6731e81a0f8
treed5405030de5fec76a19a002ee7652410c7a34b08
parent5afb0be334ce20181932c00c8ade7355529e4ee2
iterate: fix bad zone_cut update in a rare case

https://forum.turris.cz/t/kresd-name-unresolution/16275

Example problematic query during QNAME minimization:
```
[resolv][43578.24]   => id: '08532' querying: 'ns-921.amazon.com.'@'34.196.62.143#00053' zone cut: 'aws.amazon.com.' qname: 'coNsOlE.aWs.AmAzON.Com.' qtype: 'NS' proto: 'udp'
[iterat][43578.24]   <= answer received:
;; ->>HEADER<<- opcode: QUERY; status: NXDOMAIN; id: 8532
;; Flags: qr aa  QUERY: 1; ANSWER: 4; AUTHORITY: 1; ADDITIONAL: 0

;; QUESTION SECTION
console.aws.amazon.com.         NS

;; ANSWER SECTION
console.aws.amazon.com. 600     NS      ns-921.amazon.com.
console.aws.amazon.com. 60      CNAME   us-east-1.console.aws.amazon.com.
us-east-1.console.aws.amazon.com. 600   NS      ns-921.amazon.com.
us-east-1.console.aws.amazon.com. 60    CNAME   gr.console-geo.us-east-1.amazonaws.com.

;; AUTHORITY SECTION
us-east-1.amazonaws.com.        60      SOA     ns-921.amazon.com. root.amazon.com. 1638962488 3600 900 7776000 60

[iterat][43578.24]   <= rcode: NXDOMAIN
```

Here the zone_cut would get updated to us-east-1.console.aws.amazon.com.
breaking further resolution towards    eu-west-3.console.aws.amazon.com.
lib/layer/iterate.c