Bug 485 - NSD transmits RRs with TTL exceeding the max value (2^31-1)
NSD transmits RRs with TTL exceeding the max value (2^31-1)
Status: RESOLVED FIXED
Product: NSD
Classification: Unclassified
Component: NSD Code
3.2.x
All All
: P5 normal
Assigned To: NSD team
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-12-20 08:18 CET by jinmei
Modified: 2012-12-28 14:53 CET (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description jinmei 2012-12-20 08:18:40 CET
zonec accepts RRs that have a very large TTL, exceeding the max value
specified in RFC2181 Section 8:

a.example.org.	2147483648 IN	A	192.0.2.1 ; TTL=2^31

and NSD responds to a query for this RR with the given TTL.  As a
result it violates the following part of the RFC:

   When transmitted, this value shall be encoded
   in the less significant 31 bits of the 32 bit TTL field, with the
   most significant, or sign, bit set to zero.

I've checked it with NSD 3.2.14.
Comment 1 Matthijs Mekking 2012-12-28 14:53:52 CET
Hi Jinmei, 

Thanks for your report. I have adapted zonec in such a way that string TTL is converted to a value mod 2^31

Best regards,
  Matthijs