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 >
Text File  |  2009-11-06  |  4KB  |  103 lines

  1. **** Changelog
  2.  
  3. 06/06/97: Added simple buffered IO. Now Boa can handle files of very large
  4.           size. Each connection allocates only about 4K for data buffer.
  5. 03/04/97: Started
  6.  
  7.  
  8. **** General
  9.  
  10. The main Boa Web site is http://www.boa.org.
  11. The current version is 0.92o. I also incorporate into it
  12. some patches taken from Boa web site to make Boa version
  13. 0.92p.
  14.  
  15.  
  16. **** OSK porting problems
  17.  
  18. o Compilation
  19.   Compiled with Ultra C compiler v1.1 using small subset of the 
  20.   EFFO os9lib library under OS-9 v2.4 with ISP v1.4.
  21.   ** WARNING **
  22.         Binaries are compiled with default optimizaton enabled,
  23.         except file 'cgi.c'. When I've tryed to compile it with
  24.         default UltraC optimization, Boa hangs after completing 
  25.         any CGI request (doesn't answers to any requests, though 
  26.         signals are handled). No guesses... As a result I compile
  27.         'cgi.c' with optimization disabled (-o=0 option).
  28.         I also trying to compile it with newer UltraC version (v1.3)
  29.         my friend  has on his cross development system, 
  30.         and all it's OK. It seems, it is UltraC v1.1 bug.
  31.  
  32. o "End of line" char
  33.    OSK uses '\n' as CR and '\012' as LF. All *nix'es interpret
  34.    this in reverse manner. In this case, you may have problems
  35.    if your http client is a text based utility like  Unix's Lynx. 
  36.    All other clients (Netscape, Internet Explorer) works OK.
  37.  
  38. o select()
  39.   OS-9 socket implementation is a bit broken. First, it is
  40.   possible determine only a socket is ready for read (e.g. for 
  41.   incoming data), and NOT if socket is ready for write.
  42.   Second, the pair _ss_sevent()/_ev_wait() doesn't work for
  43.   accept() call. To handle these bugs we must always poll :(-
  44.   So, I advice to start Boa with low priority (about current/2)
  45.   There are two versions of select() in the library. Default is
  46.   without using events (it uses tsleep() instead). To compile
  47.   another version just add to makefile -DUSE_EVENT and recompile
  48.   library.
  49.  
  50. o OS-9 gives processes only 32 open paths. It's too small for
  51.   Web server. I know about a Path Extension Module (ptxm.lzh)
  52.   from OS-9 archive written by Nick Holgate (nick@bvmltd.demon.co.uk).
  53.   Nick do me a favour and send PTXM sources, so I can test it
  54.   in association with sigchild handler (see below). Just initialize
  55.   PTXM *after* sigchild module, because sigchild handler uses
  56.   F$UAcct too.
  57.   
  58. o SIGCHILD problem. The current OS-9 version doesn't send SIGCHLD
  59.   to parent when child deads (as all *nix'es do). There is small P2 
  60.   module in the directory ADDONS called sigchild I use to eliminate
  61.   this. It is taken from comp.os.os9 a few months ago, and 
  62.   unfortunatelly, I forgot the author's name. It seems, it's freeware
  63.   and we may use it. Note: it uses F$UAcct call.
  64.   At this moment, start Boa in three steps:
  65.         
  66.         # load sigchild ptxm
  67.         # p2init sigchild
  68.         # p2init ptxm
  69.         # boa -c server_root^64&
  70.  
  71. o mmap()/unmap(). OS-9 doesn't support memory mapped files, so
  72.   I just read the entire file into memory buffer. This works
  73.   fine for small (html) files. This code must be rewritten to
  74.   use simple buffered I/O.
  75.  
  76. o OS-9 RBF manager is very dumb. It doesn't touch the last modified
  77.   time for a directory, when you change its contents. Also, last
  78.   modified field is changed when chdir'ed (!) to that directory.
  79.   Microware, why? In this case Boa directory caching doesn't work
  80.   (Boa will always re-read directory index).
  81.  
  82.  
  83. **** Installing
  84.  
  85. o Unpack the archive
  86.  
  87. o Edit CONF/boa.conf. Note: you *must* also add the bzw. entry
  88.   into your password file to match with your User/Group parameters.
  89.   Also all files served by Boa must have the same owner id (or
  90.   public read attribute).
  91.  
  92. o Start Boa with -c <your server_root> option (required, if you 
  93.   don't recompile it), and probably with lower priority (~ 64)
  94.  
  95. o Note: there must be CONF directory in <your server_root> with
  96.   2 Boa-conf files (boa.conf & mime.types)
  97.  
  98. --
  99. April 3, 1997
  100. Ilja V.Levinson, Yekaterinburg, Russia
  101. lev@odusv.oduurl.ru
  102.  
  103.