TIP: Click on subject to list as thread! ANSI
echo: net_dev
to: All
from: Leonard Erickson
date: 1998-01-21 23:41:14
subject: Draft of y2k fix proposal

* Crossposted from: FTSC-Public

 -=> Quoting Mats Wallin to Vincent Danen <=-

 VD> and "none" are 100% Y2K compliant due to the problems with
 VD> PKT standards.

 MW> Being Y2K compliant doesn't require that the year is stored with four
 MW> digits anywhere, the only requirement is that a program knows that the
 MW> year 2000 (or 00 if using two digits) come after the year 1999 (or 99
 MW> if using two digits). 
 MW> The program just have to compensate for this when reading dates using
 MW> two digits for the year. No problem at all, if one is aware about it,
 MW> and cares about it. 

And given that Type 2 and Type 2+ packets conatain a 2-byte integer
year field in the PKT header, I propose the following standard:

Type 2 and Type 2+ PKT files:

        Read and store the Year field from the PKT header (header_year).
All Date fields in the headers of Packed Messages in that PKT must be
treated as if their year (msg_year) is in the range (header_year-49) to
(header_year+49).

Msg_year values that are 50 years from header_year are undefined. It is
suggested that such messages be treated as bad messages.

Example 1:
        header_year is 2010, date field is "01 Jan 10  00:00:00"
        Last two digits of header_year match msg_year. Therefore
        Date of message is 01 Jan 2010.

Example 2:
        header_year is 2000, date field is "20 Dec 99  00:00:00"
        Last two digits of header_year do not match msg_year. Therefore
        adjusted msg_year is either 1999 or 2099. Date of message is
        20 Dec 1999, because 2099 is more than 49 years in the future.

Example 3:
        header_year is 1999, date field is "01 Jan 00  00:00:00"
        Last two digits of header_year do not match msg_year. Therefore
        adjusted msg_year is either 1900 or 2000. Date of message is
        01 Jan 2000, because 1900 is more than 49 years in the past.

Example 4:
        header_year is 2010, date field is "01 Jan 60  00:00:00"
        Last two digits of header_year match msg_year. Therefore
        adjusted msg_year is either 1960 or 2060. Both are 50 years
        from Header_year. Message has invalid date.

Type 2.2 PKT files:

        Since the PKT header does *not* contain a year field, the
year from current system date(system_year) must be used. Date fields in
message headers must be treated as if their date is in the range
(system_year-49) to (system_year+49).

Msg_year values that are 50 years from system_year are undefined. It is
suggested that such messages be treated as bad messages.

Example 1:
        system_year is 2010, date field is "01 Jan 10  00:00:00"
        Last two digits of system_year match msg_year. Therefore
        Date of message is 01 Jan 2010.

Example 2:
        system_year is 2000, date field is "20 Dec 99  00:00:00"
        Last two digits of system_year do not match msg_year. Therefore
        adjusted msg_year is either 1999 or 2099. Date of message is
        20 Dec 1999, because 2099 is more than 49 years in the future.

Example 3:
        system_year is 1999, date field is "01 Jan 00  00:00:00"
        Last two digits of system_year do not match msg_year. Therefore
        adjusted msg_year is either 1900 or 2000. Date of message is
        01 Jan 2000, because 1900 is more than 49 years in the past.

Example 4:
        system_year is 2010, date field is "01 Jan 60  00:00:00"
        Last two digits of system_year do not match msg_year. Therefore
        adjusted msg_year is either 1960 or 2060. Both are 50 years
        from system_year. Message has invalid date.


--- Blue Wave/DOS v2.30
* Origin: Shadowshack (1:105/51)
SEEN-BY: 20/10 200/0 201/0 100 200 209 300 400 505 600 203/600 204/450 205/0
SEEN-BY: 206/0 270/101 490/21 633/267 270
@PATH: 105/51 360 72 396/1 270/101 201/505 633/267

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.