Annotation of embedaddon/ntp/NOTES.y2kfixes, revision 1.1

1.1     ! misho       1: Name of the Application: xntp
        !             2: 
        !             3: Version Number:  4.0.91
        !             4: 
        !             5: Download Size: 4541953 bytes
        !             6: 
        !             7: Downloaded from: http://www.eecis.udel.edu/~ntp/
        !             8: 
        !             9: Operating Systems Supported: many
        !            10: 
        !            11: Operating Systems Tested: unix
        !            12: 
        !            13: Testing
        !            14: 
        !            15: Dates tested (CPU clock set)
        !            16: 
        !            17:        1999-12-31
        !            18:        2000-01-01
        !            19:        2000-02-29
        !            20: 
        !            21:        Critical fragments of code tested with other dates by special
        !            22:        algorithms.
        !            23: 
        !            24: Hardware Platform: Sun Sparc
        !            25: 
        !            26: OS: Solaris 2.6
        !            27: 
        !            28: Compiler: gcc
        !            29: 
        !            30: Version: 2.8.1
        !            31: 
        !            32: Repairs:  9
        !            33: 
        !            34: No. of files Repaired: 13
        !            35: 
        !            36: 
        !            37: Compilation of Patches Required: yes
        !            38: 
        !            39: Results Description:
        !            40: 
        !            41: 1)     Tested suspicious code.
        !            42: 
        !            43: 2)     Repaired problem code and added documentation to ntp.h.
        !            44: 
        !            45: 3)     Verified ntpd works on critical Y2K dates.
        !            46: 
        !            47: 
        !            48: Comments:
        !            49: 
        !            50: 1)     Errors were found in improper use of tm_year within struct tm,
        !            51:        calculations that did not support year 2000 as a leap year
        !            52:        (it truly is, despite any unchanged comments remaining in 
        !            53:        the NTP source), and some incorrect date calculations, while
        !            54:        not traditional Y2K errors, would break in the year 2000.
        !            55: 
        !            56: 2)     include/ntpd.h
        !            57:        Added some definitions and documentation about the right way
        !            58:         of doing things.  Definitions used by most, if not all, of
        !            59:         the Y2K repairs.
        !            60: 
        !            61: Cautions:
        !            62: 
        !            63: 1)     Some of the Y2K repairs were to reference clock drivers that
        !            64:        we did not have the local hardware to test.  While I believe
        !            65:        the changes are sound, they really need to be tested.
        !            66:        This includes:
        !            67: 
        !            68:                refclock_arc.c
        !            69:                refclock_heath.c
        !            70:                refclock_hpgps.c
        !            71: 
        !            72:        Also, parseutil/dcfd.c is another hardware dependent module that
        !            73:        was repaired without live testing.
        !            74: 
        !            75: Non-Y2K Problems Observed:
        !            76: 
        !            77: 1)     Inconsistent casts of variables containing time values may
        !            78:        make expansion to 64 bit integer values in a portable manner
        !            79:        difficult.
        !            80: 
        !            81: 2)     libntp/caltontp.c:
        !            82:         Has logic I believe will fail starting in year 2100 or so.
        !            83:         Left unchanged/untested as it works well beyond basic NTP 2036 
        !            84:        limit checked by check_y2k.c.
        !            85:         If NTP is implemented on 64-bit machines, this should be fixed
        !            86: 
        !            87: 3)     ntpd/refclock_acts.c:
        !            88:        ACTS time format has changed somewhat since the code was written.
        !            89:        In particular the '*' '#' character switch no longer occurs...
        !            90:        only '*' is typed.
        !            91: 
        !            92:       NOTE: Author (falsely) stated Y2K is NOT a leap year when it 
        !            93:       really is.
        !            94: 
        !            95:       TRUTH: ACTS will go beyond Y2K: it uses FourDigitYear % 100 values
        !            96:       for year so year 2000 will revert to "00".
        !            97: 
        !            98: 
        !            99: 4)     ntpd/refclock_oncore.c
        !           100:        Some very strange logic in manipulating year values:
        !           101:        1122         instance->pp->year = buf[6]*256+buf[7];
        !           102:        Multiply by 256????
        !           103:  
        !           104:     Response from PHK:
        !           105:        The entire protocol is binary, the year is a 16 bit quantity 
        !           106:        which according to the manual can have the range 1998-2018. 
        !           107:  

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>