Ticket #485 (closed enhancement: fixed)

Opened 12 months ago

Last modified 11 months ago

recursor can return double SOA in CNAME+NXDOMAIN situation

Reported by: peter Owned by: ahu
Priority: normal Milestone:
Component: recursor Version: 3.4-pre
Severity: normal Keywords:
Cc:

Description

Given a very simple zone (SOA etc. skipped)

www-a.prefect.example.net.     3600 IN CNAME www-a-2.prefect.example.net.
;www-a-2.prefect.example.net.  NXDOMAIN

recursor will return:

;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 10684
;; ANSWER SECTION:
www-a.prefect.example.net. 3429	IN	CNAME	www-a-2.prefect.example.net.

;; AUTHORITY SECTION:
prefect.example.net.	3429	IN	SOA	ns.example.net. hostmaster.example.net. 1 3600 1800 1209600 300
prefect.example.net.	3429	IN	SOA	ns.example.net. hostmaster.example.net. 1 3600 1800 1209600 300

i.e. it includes the SOA twice - once from asking for www-a, once from asking for www-a-2. (If we followed RFC strictly, we should not be asking for the A because the CNAME NXDOMAIN response tells us enough, but doing it anyway makes us much more robust).

(The reason this double SOA is allowed to happen at all, is that syncres.cc uses a vector to store lookup results. Perhaps this should be a set (or three sets, answer/auth/additional).

Change History

Changed 11 months ago by peter

  • status changed from new to closed
  • resolution set to fixed

fixed in r2633

Note: See TracTickets for help on using tickets.