Porting notes:

For a new OS, modify the closest description file in hostenv/* to suit your OS.

For all non-BSD people:  The only really critical item is the behaviour of
your set{re}uid() syscall.  If its a one-way trapdoor routine (i.e. a root
process cannot temporarily become unprivileged, and then revert), you'll
have to do the work of simulating this.  I'm told this is a problem with
all System V's from AT&T prior to SysVr2v2.1, and this will include V7
systems.  Experience says it is a problem with all System V's, period.
( Before SVR4, that is.. )

The one other item that might give problems is the scheduler's use of the
select() call for multiplexing pipe inputs.  Until recently, the STREAMS
poll() call has not been an adequate substitute because it didn't support
pipe streams.

If the scheduler gives problems (like things are not getting delivered
although the control files have everything marked as if delivery was done),
you should suspect the handling of non-blocking I/O on pipes.  There is
a bug in at least System V and Ultrix with the reader dying immediately
when the writer dies, instead of when the pipe is drained.  Check out the
settings of the BSDNODELAY flag in the hostenv files.

This distribution was originally developed under SunOS 4.0, and since then
on Sun Solaris 2.3/2.4, SunOS 4.1.3, and Linux 1.2 (kernel), and has at one
time compiled and worked on all the systems described in the hostenv directory.

Remember to send your changes back to <zmailer@nic.funet.fi> or <mea@utu.fi>
