Irving-Irving Software
uIP-FOSSIL README File

Welcome to the uIP HTTP Server for FOSSIL-enabled Systems!

This version of the webserver is based on uIP 0.6 and some IBM PC modifications made by Michael Bernstein. All direct serial access has been stripped and replaced by calls to FosLib 1.5 by Ken Wetz.

Compiling

This version of uIP has been configured to compile under the OpenWatcom compiler (http://www.openwatcom.org/) targeting 16-bit DOS. There's no reason why this shouldn't compile on other compilers such as Microsoft C or possibly Mix C, but OpenWatcom is free and still supported, making it the obvious choice.

Please note that OpenWatcom only runs on 32-bit systems, regardless of the desired target. You'll need a 386 or higher system with Windows 95 or better. This version was compiled using OpenWatcom under WINE on a Linux system.

FosLib 1.5, provided with the source distribution, also compiles fine under OpenWatcom.

Installation

To install the web server, simply place the executable, httpd6.exe, in a directory contianing the files you wish to serve. The file 404.htm _must_ be present in case a file that does not exist is requested. If 404.htm is not present, the server will most likely lock up into an infinite loop.

Note that a FOSSIL driver must be present in memory also before using the server. The FOSSIL should be revision 5 compliant (almost all FOSSIL drivers are).

Operation

The web server can be started by executing httpd6 from the DOS command line. Executing "http6 ?" will print a summary of command line options. A SLIP server can be set up either before or after starting the web server, but the SLIP connection must be through COM1 at this time. The server currently assumes the following IP settings:

Local IP: 192.168.1.50
Router IP: 192.168.1.51
Netmask: 255.255.255.0

These settings are hard-coded in uipopt.h. The term "router" can be misleading as it does not appear that routing off the router works. In other words, the router can request files from the server, but other network machines cannot.

Once started, the server should honor all ping and HTTP requests. To test the server, simply run "ping 192.168.1.50" on the router. If a response is given, then all is well.

To stop the HTTP server, simply press any key followed by an ENTER (a bug I believe).

Problems

As of this time, the server does not seem to handle multiple simultaneous requests correctly. It is suggested that any given page you create have no more than a single image on it or the images may be corrupted during transfer. This bug is being resolved, but has proven difficult thus far.

The server will not abort if a FOSSIL driver is not present. Make sure that a FOSSIL is present before starting the program.

As stated earlier, routing to the network does nto seem to work correctly yet. The problem is also being examined.

Thanks

Special thanks to Adam Dunkels for creating a highly portable TCP/IP stack.

Thanks to Michael Bernstein for providing a uIP port ot MS-DOS, which accelerated development of a port using FOSSIL drivers.

Thanks to Ken Wetz for FosLib even though there were a couple of nasty bugs. He probably doesn't even remember the library anyway.

Thanks to the Vintage Computer Festival Midwest organizers for providing a showcase for this ridiculous technology.

Contact Info

If you have any questions regarding this program, please feel free to contact Jeffrey Armstrong at exhale@_NOSPAM_member.fsf.org. Please do not contact Michael Bernstein or Adam Dunkels about this specific port as they will most likely have no idea what you're talking about.

-Jeff Armstrong
January 5, 2006

Copyright 2006 Jeffrey Armstrong <exhale@_NOSPAM_member.fsf.org>