  This port to A/UX (1.1.x and 2.0.x.) is complete and tested. Only
a few things havebeen added/changed from the original distribution,
and they are represented by the symbols MAC_AUX, USE_TIMEZONE and
TRY_ETC_HOSTS. There are described as follows:

  MAC_AUX makes conf.c return appropriate load average values for
A/UX.

  USE_TIMEZONE simply alters arpadate.c so that the ARPANET format
of the date includes the actual timezone (e.g. "EST") instead of
the stupid -0500.

  TRY_ETC_HOSTS modifies domain.c slightly. It does this so that
aliases in /etc/hosts will be used and recognized by sendmail.
For example, if there was a line in your /etc/hosts file like:

128.183.44.1   jagubox.gsfc.nasa.gov   thatauxdude

and you tried to send mail to "jim@thatauxdude", sendmail would
bounce the mail back to you with a "host unknown" error. The
modification simply calls "gethostbyname()" to get the "official"
host name from the possible alias. This is done ONLY if the original
nameserver query failed with a HOST_NOT_FOUND error. This emulates
a fix/hack that was done with sendmail 5.59 that came with A/UX 1.1
and 1.1.1. This "looking" in /etc/hosts is NOT done with Sendmail 5.61
under A/UX 2.0, nor is it done with SM 5.65 and A/UX 2.0.1 so if you don't
want this to happen, be sure it's not defined.

  I have taken the NAMED_BIND symbol OUT of conf.h, so if you want to
compile Sendmail to use a nameserver, you must add -DNAMED_BIND to
the compile time line argument to cc/gcc. This HAS been added to Makefile...

  The ./src/Makefile is very simple, it's also basically the same one
as supplied with the original Sendmail 5.65 distribution.

  To compile you will need to add the sysexits.h file in ./support over
/usr/include. When compiling you may get a few warnings that symbols
are redefined... don't worry, that's OK. When compiling with cc you
may also get a waring about "illegal pointer combination    op ="
or some junk like that. This can be traced back to signal being used
as int instead of void in alias.c... interesting enough, the Unisoft
Optimizing C Compiler for A/UX (gcc) doesn't mention this.

  To make/compile, just type make in ./src.

  To install, be sure to kill the running sendmail (if any). The new
sendmail should have root as user, bin as group and mode 4755. This
is done via the Makefile. Now use the testla program (in ./testla)
to see how your load average varies... when the system is idle run
it, and when the system is swamped, run it. This'll give you a good
range (mine varies from 0 to about 4). Use this info to adjust the
load limit values (Ox and OX) in your sendmail configuration file
(/usr/lib/sendmail.cf). YOU MUST BE ROOT TO RUN TESTLA OR ELSE YOU
WON'T BE ABLE TO READ /dev/kmem AND TESTLA WILL RETURN -1 !!!!!!!!
(You can also run X-windows and look at xload... each "division"
is 1, so if your xload window has 2 horizontal lines in it, then
your load average is between 0 and 3, depending or where the actual
graph is:

		               Xload
		       ----------------------    Ld ave = 3
		       |                    |
		       |          /--!      |
		       |-------------!------|    Ld ave = 2
		       |        /    !      |
		       |    /---     !      |
		       |-------------!------|    Ld ave = 1
		       |  /          !      |
		       | /           !      |
		       |____________________|    Ld ave = 0

For example, the current load average for the above is about 2.4...

  Finally, you are ready. Do the following to replace your original
sendmail file (the links to newaliases and mailq will automagically
be taken care of):

	cp /usr/lib/sendmail /usr/lib/OLDsendmail
	cp sendmail /usr/lib
	/usr/lib/sendmail -bz       ! refreeze conf file
	/usr/lib/sendmail -bd -q30m ! start daemon again

  You may also want to replace the manual pages for sendmail and
aliases with the newer versions.

  Craig Everhart at transarc.com has proposed some changes to Sendmail
which allows for it to recover more quickly (and more intelligently) from
crashes in the middle of a mass mailing. His letters to me can be found
in ./patch (Craig.patch is the 1st). In any case, I have recreated his patch
files for these changes and they are included in this distribution under
NEW.patch. To update the necessary files, type "patch < NEW.patch" (this
assumes, of course, that you have patch, otherwise you will have to
hand "patch"). If you want to recreate the original versions from the patched
versions, you can do one of two things... either copy the *.c~ files (which
patch makes for you) back where they belong OR reapply the patch but with the
"-R" flag.

  Port bug reports and comments can be sent to jim@jagubox.gsfc.nasa.gov

--
==============================================================================
#include <std/disclaimer.h>

           Jim Jagielski                    NASA/GSFC, Code 711.4
     jim@jagubox.gsfc.nasa.gov               Greenbelt, MD 20771

     "I've got a triple fracture of the right leg, dislocated collar bone,
         and multiple head injuries, so I do most of the heavy work..."
