[0001]
[0002]
[0003]
[0004]
[0005]
[0006]
[0007]
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
[0057]
[0058]
[0059]
[0060]
[0061]
[0062]
[0063]
[0064]
[0065]
[0066]
[0067]
[0068]
[0069]
[0070]
[0071]
[0072]
[0073]
[0074]
[0075]
[0076]
[0077]
<!DOCTYPE html>
<html>
<head>
<title>WASD HTTPd, Year 2000 and Related Issues</title>
</head>
<body bgcolor="#cccccc" text="#000000" link="#0000cc" vlink="#0000cc">

<h2>WASD HTTPd, Year 2000 ... <i>and related issues.</i></h2>

<pre>

</pre>
<h3><u>Disclaimer</u></h3>

<blockquote>
<p> This package is <i>free software</i> provided under the 
<b>GNU General Public License</b>, there is 
<b>ABSOLUTELY NO WARRANTY</b> of any kind.  See 
<a href="/wasd_root/GNU_General_Public_License.txt">GNU General Public License</a>.
If you are not familiar with this approach to licensing please take the time to
read it. 
</blockquote>

<h3><u>Constraints</u></h3>

<blockquote>
<p> The WASD package is a fairly extensive collection of software. In
addition, it can be dependent on other software packages for functionality (the
most significant example is the OpenSSL package). Furthermore, it employs many
routines found in VMS system services and run-time libraries.  The author does
not have the resources to exhaustively assess all aspects. 

<p> Checking for basic compliance has been restricted to the HTTPd image
itself.  This uses quadword (64 bit) VMS time exclusively.  There is <b>no</b>
keeping of time as Unix-style, longword (32 bit) integer seconds, although some
standard C library routines (e.g.<i>strftime()</i>) are used to format some
time strings after conversion from quadword values.
</blockquote>

<h3><u>Testing</u></h3>

<blockquote>
Dates checked:
<ul>
<li>9th September 1999 &nbsp;&nbsp;(9/9/99 sentinal usage)
<li>1st January 2000 &nbsp;&nbsp;(Y2K &quot;bug&quot;)
<li>29th February 2000 &nbsp;&nbsp;(2000 being a leap year)
<li>20th January 2038 &nbsp;&nbsp;(after Unix integer time overflow)
</ul>

<p> The test environment was a stand-alone VAX system running VMS 7.1 and
Digital TCP/IP 4.1, with WASD HTTPd v6.0 after compilation with DEC C 5.7-004. 
System time was set forward at the command-line using &nbsp;<nobr><tt>$ SET
TIME</tt></nobr>&nbsp; to approximately ninety seconds before a critical point,
allowed to rollover, and then progress until ninety seconds after that point.

<p> The <a href="y2k.com">Y2K.COM</a> DCL procedure was used to step the
through the dates in question.  Both local and GMT times are checked in this
way.  This procedure could form the basis for any local checking desired.

<p> The <a href="y2k.shtml?httpd=content&type=text/plain">Y2K.SHTML</a>
(<a href="y2k.shtml">Y2K.SHTML</a>) SSI document was used to <b>dynamically</b>
display the DCL-level CGI variables and the SSI document <i>strftime()</i>
formatted date/times for both local and GMT times during each period.
</blockquote>

<h3><u>Results</u></h3>

<blockquote>
<b>No problems were detected.</b><br>
It should be emphasized, this is a very simple check.<br>
The test version was 6.0, but these results certainly will also apply to
5.<i>n</i>.
</blockquote>

<p><font size="-1"><i><u>Revised: 26th April 1999</u></i></font>
</html>