BIND 10 #61: review: dnstime

BIND 10 Development do-not-reply at isc.org
Sat Feb 19 01:44:21 UTC 2011


#61: review: dnstime
-------------------------------------+-------------------------------------
                 Reporter:  jinmei   |                Owner:  jinmei
                     Type:  task     |               Status:  accepted
                 Priority:  major    |            Milestone:  A-Team-
                Component:           |  Sprint-20110223
  DNSPacket API                      |           Resolution:
                 Keywords:           |            Sensitive:  0
Estimated Number of Hours:  2.0      |  Add Hours to Ticket:
                Billable?:  0        |          Total Hours:
                Internal?:  0        |
-------------------------------------+-------------------------------------

Comment (by jinmei):

 Branch trac61 is ready for review.

 The code change itself should be pretty trivial.  Test cases may be
 subtle, but I tried to give detailed explanation about what's tested.
 I also gave a detailed description to the functions (which was simply
 missing so far).

 In the code, one possibly controversial point would be that I replaced
 the use of gmtime() to in-house conversion logic derived from BIND 9.
 One reason for this is because (as commented in the code) gmtime()
 may not work for 64bit integers (depending on systems).  Another
 undocumented reason is gmtime() is not thread safe, and b10-resolver
 may want to have thread safety here (there's gmtime_r(), but I've seen
 cases where _r() functions are not available).

 This is the proposed changelog entry:

 {{{
   173.? [bug]*          jinmei
         src/lib/dns: revised dnssectime functions so that they don't rely
         on the time_t type (whose size varies on different systems, which
         can lead to subtle bugs like some form of "year 2038 problem").
         Also handled 32-bit wrap around issues more explicitly, with more
         detailed tests.  The function API has been changed, but the effect
         should be minimal because these functions are mostly private.
         (Trac #61, git TBD)
 }}}

-- 
Ticket URL: <http://bind10.isc.org/ticket/61#comment:13>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list