Boa HTTP Server Year-2000 Readiness

Q: Is Boa Year 2000 compliant?
A: Yes, Boa is Year 2000 compliant.

Boa internally never stores years as two digits. On the HTTP protocol level, only RFC1123-style addresses are ever generated. To be compatible with older applications Boa recognizes ANSI C's asctime() and RFC850-/RFC1036-style date formats, too. The asctime() format uses four-digit years, but the RFC850 and RFC1036 date formats only define a two-digit year. If an application attempts to code dates beyond 1999 in such a format, Boa will still treat the two-digit year number as the number of years since 1900. The only way this is likely to cause grief is through the "If-modified-since" feature of HTTP, causing a data transfer when none was needed. In English:

Client, on January 10, 2000: "Please send me form 1040, but only if it has changed since 05-Jan-00."
Boa: "Hmm. My copy of form 1040 is dated 05-Jan-2000, so the client's copy is 100 years old. I'll send them the update."
So while the software is confused, and useless data clogs the network, the client will probably show the user a valid document.

It is possible to hack src/boa/util.c to treat two-digit RFC850/RFC1036 years between 0 and (insert your favorite crossover year here) specially, but that only postpones the inevitable. The General Public License under which Boa is distributed guarantees you access to the source code, so you may make any such change yourself, or pay someone else to do so on your behalf, and redistribute copies of the program with your changes made.

Although Boa is Year 2000 compliant, you may still get problems if the underlying OS has problems with dates past year 2000 (e.g., OS calls which accept or return year numbers). The Unix(TM) and Unix-like systems for which Boa is designed generally store dates internally as signed 32-bit integers which contain the number of seconds since 1 January 1970, making the year 2000 irrelevant. On 32-bit computers (and 32-bit data structures, for example in file systems) one boundary to worry about is the year 2038, when that number will roll negative if treated as a signed number.

The Boa HTTP Server project is an open-source software product of a loose collection of individuals. The project and its contributors cannot and do not offer legal assurances regarding any suitability of the software for your application. The General Public License (GPL) under which Boa is distributed is explicitly written to allow free competition for commercial support, where a market exists. One would expect the developers to have the most experience with the code, so they are a logical first point of contact for both gratis and contract support, should any be desired.

The Boa HTTP server software, like all information generally, is distributed without any warranty. This is spelled out in the following disclaimer, found in the GPL:

                            NO WARRANTY

  9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.

  10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
   

Acknowledgement

The Boa developers would like to thank and acknowledge the Apache Project, for providing a template Y2K statement from which this was derived.
Larry Doolittle
September 18, 1999