home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
rtsi.com
/
2014.01.www.rtsi.com.tar
/
www.rtsi.com
/
OS9
/
OSK
/
NETWORK
/
ISP
/
boa.readme
< prev
next >
Wrap
Text File
|
2009-11-06
|
4KB
|
103 lines
**** Changelog
06/06/97: Added simple buffered IO. Now Boa can handle files of very large
size. Each connection allocates only about 4K for data buffer.
03/04/97: Started
**** General
The main Boa Web site is http://www.boa.org.
The current version is 0.92o. I also incorporate into it
some patches taken from Boa web site to make Boa version
0.92p.
**** OSK porting problems
o Compilation
Compiled with Ultra C compiler v1.1 using small subset of the
EFFO os9lib library under OS-9 v2.4 with ISP v1.4.
** WARNING **
Binaries are compiled with default optimizaton enabled,
except file 'cgi.c'. When I've tryed to compile it with
default UltraC optimization, Boa hangs after completing
any CGI request (doesn't answers to any requests, though
signals are handled). No guesses... As a result I compile
'cgi.c' with optimization disabled (-o=0 option).
I also trying to compile it with newer UltraC version (v1.3)
my friend has on his cross development system,
and all it's OK. It seems, it is UltraC v1.1 bug.
o "End of line" char
OSK uses '\n' as CR and '\012' as LF. All *nix'es interpret
this in reverse manner. In this case, you may have problems
if your http client is a text based utility like Unix's Lynx.
All other clients (Netscape, Internet Explorer) works OK.
o select()
OS-9 socket implementation is a bit broken. First, it is
possible determine only a socket is ready for read (e.g. for
incoming data), and NOT if socket is ready for write.
Second, the pair _ss_sevent()/_ev_wait() doesn't work for
accept() call. To handle these bugs we must always poll :(-
So, I advice to start Boa with low priority (about current/2)
There are two versions of select() in the library. Default is
without using events (it uses tsleep() instead). To compile
another version just add to makefile -DUSE_EVENT and recompile
library.
o OS-9 gives processes only 32 open paths. It's too small for
Web server. I know about a Path Extension Module (ptxm.lzh)
from OS-9 archive written by Nick Holgate (nick@bvmltd.demon.co.uk).
Nick do me a favour and send PTXM sources, so I can test it
in association with sigchild handler (see below). Just initialize
PTXM *after* sigchild module, because sigchild handler uses
F$UAcct too.
o SIGCHILD problem. The current OS-9 version doesn't send SIGCHLD
to parent when child deads (as all *nix'es do). There is small P2
module in the directory ADDONS called sigchild I use to eliminate
this. It is taken from comp.os.os9 a few months ago, and
unfortunatelly, I forgot the author's name. It seems, it's freeware
and we may use it. Note: it uses F$UAcct call.
At this moment, start Boa in three steps:
# load sigchild ptxm
# p2init sigchild
# p2init ptxm
# boa -c server_root^64&
o mmap()/unmap(). OS-9 doesn't support memory mapped files, so
I just read the entire file into memory buffer. This works
fine for small (html) files. This code must be rewritten to
use simple buffered I/O.
o OS-9 RBF manager is very dumb. It doesn't touch the last modified
time for a directory, when you change its contents. Also, last
modified field is changed when chdir'ed (!) to that directory.
Microware, why? In this case Boa directory caching doesn't work
(Boa will always re-read directory index).
**** Installing
o Unpack the archive
o Edit CONF/boa.conf. Note: you *must* also add the bzw. entry
into your password file to match with your User/Group parameters.
Also all files served by Boa must have the same owner id (or
public read attribute).
o Start Boa with -c <your server_root> option (required, if you
don't recompile it), and probably with lower priority (~ 64)
o Note: there must be CONF directory in <your server_root> with
2 Boa-conf files (boa.conf & mime.types)
--
April 3, 1997
Ilja V.Levinson, Yekaterinburg, Russia
lev@odusv.oduurl.ru