doc/en/y2kbug.sgml
1998-02-23 13:56:02 +00:00

121 lines
5.1 KiB
Text

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN" [
<!ENTITY date "$Date: 1998-02-23 13:56:02 $">
<!ENTITY title 'Year 2000 bug (aka "Millennium bug")'>
<!ENTITY % includes SYSTEM "includes.sgml"> %includes;
]>
<!-- $Id: y2kbug.sgml,v 1.4 1998-02-23 13:56:02 jfieber Exp $ -->
<html>
&header;
<p>As management understanding of the Year 2000 problem (aka, "The
Millennium Bug") increases, more and more companies are demanding
official statements from the vendors of their hardware and software
as to how their product will handle the year 2000 date rollover.</p>
<p>Organizations that use unix and unix like operating systems
such as FreeBSD are already one step ahead of the problem. FreeBSD
will properly maintain time long after year 2000 passes.</p>
<h2>Background information</h2>
<p><i>(This section based on the text from the <a
href="http://www.linux.org.uk/mbug.html">Linux Y2K compliance
page</a>)</i></p>
<p>As with all Unix and Unixlike operating systems, time and dates in
FreeBSD are represented internally as the number of seconds since the
1st of January 1970 (the Unix "epoch"). Currently, that figure is stored
as a 32 bit integer, and will run out part way through 2038. By then we
should (hopefully) be using a counter of 64 bits (or greater) which
should be good until the end of the universe.</p>
<p>Note that the OS being Y2K compliant will not fix errant
applications that are not Y2K compliant.</p>
<p>Note also that the OS expects to read the current date and time from
the CMOS clock of your computer. Not all of these devices correctly
handle the year 2000. You are advised to test each platform individually
to ensure that your hardware clock behaves correctly when going from
1999 to 2000, and that it correctly interprets the year 2000 as a leap
year.</p>
<h2>What you can do</h2>
<p>FreeBSD will continue to properly maintain time well into the
next century. Third party applications, however, might not.
Your best defense against year 2000 issues is a good
offense. Listening to stories claiming the coming meltdown of
the world as we know it are <strong>not</strong> the way to
solve the millenium bug. Nor is waiting until the last
minute. The FreeBSD Project recommends that your organization
apply sound system administration principles as the millenium
approaches.</p>
<p>There are tests that you can perform to see how your system will
respond. Set your clock to a few minutes before midnight on New
Year's Eve and watch the system time. Your system should display
the year as 2000 and not 1900. If the year is displayed
incorrectly, then you will have plenty of time to update your
hardware. Operating your organizations information systems under
their normal daily load with the clock set forward can provide
valuable insight into your vulnerablility to year 2000 issues.</p>
<h2>FreeBSD Year 2000 Statement</h2>
<blockquote>
<p>"We believe, but cannot guarantee, that FreeBSD is Y2K
compliant. We have spent a significant amount of time verifying
this to be the case, but it is possible that something may have been
overlooked. If a Y2K bug is found in the future, we will attempt to
fix it as soon as possible."</p>
<p align="right">David Greenman<br>Principal Architect, The
FreeBSD project</p>
</blockquote>
<h2>Fixed problems</h2>
<p>The following Y2K problems have been identified and fixed in
FreeBSD.</p>
<dl>
<dt><a
href="http://www.freebsd.org/cgi/query-pr.cgi?pr=1380">misc/1380</a></dt>
<dd>Several programs have a hardcoded 19%d in responses for the year.
Affected programs include: yacc, ftpd, and make.</dd>
<dt><a
href="http://www.freebsd.org/cgi/query-pr.cgi?pr=1382">conf/1382</a></dt>
<dd>The sed script in /etc/rc.local that builds the host/kernel ID line
for the message of the day relies on the year not going past
1999.</dd>
<dt><a
href="http://www.freebsd.org/cgi/query-pr.cgi?pr=3465">misc/3465</a></dt>
<dd>The etc/namedb/make-localhost command generates the DNS serial
number as YYMMDD. In the year 2000, this will be generated as
1YYMMDD.</dd>
<dt><a
href="http://www.freebsd.org/cgi/query-pr.cgi?pr=4930">gnu/4930</a></dt>
<dd>groff tmac macros have hardcoded 19 for generating some dates.</dd>
</dl>
<h2>Problematic applications</h2>
<p>This section is currently a placeholder. As we become aware of
applications that have a Y2K problem we will note them here, and also
attempt to indicate which versions (if any) of the software are
fixed.</p>
<h2>More information</h2>
<p>If you have further questions about FreeBSD's year 2000 compliance, or
you have discovered an application running under FreeBSD that is not Y2K
compliant, please contact the project at <a
href="mailto:freebsd-bugs@FreeBSD.ORG">freebsd-bugs@FreeBSD.ORG</a>.</p>
&footer;
</body>
</html>