Sendmail with NeXT enhancements
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

THIS PACKAGE IS STILL IN BETA TEST.  DO NOT OBTAIN IT IF YOU DO NOT HAVE
THE TIME OR INCLANATION TO PUT IT TOGETHER, TEST IT THOROUGHLY AND REPORT
RESULTS BACK TO ME.  A FULL TESTED RELEASE WILL BE MADE WITHIN A COUPLE OF
WEEKS, PLEASE WAIT FOR THAT IF YOU DO NOT WISH TO TAKE PART IN THE BETA TESTING

This sendmail is a derivative of the near standard Sendmail version
5.65c with the IDA 1.4.4.1 enhancements.  Additionally it has:-

  + The ability to handle NeXT netinfo aliases
    (My mail hub is not a NeXT so this part needs severe testing).
  + RFC931 authentication support (read about this in alt.security
    to decide if you like the idea).  I have also recently posted
    a NeXT RFC931 authentication daemon to the ftp archives, although
    that may not yet be in its final home - nidentd-2.0.tar.Z .
    This *can* help in tracking forgeries, but is not foolproof.
  + A rewritten rewriting-rule parser (not as dangerous as it sounds
    - I got this from one of the people working on the next sendmail
    release).  It fixes bugs related to map and dbm token lookups, 
    and is generally *much* more efficient.
  + Queue checkpointing code - keeps track of what has been 
    delivered, which means that when delivery is aborted for some
    reason on a large list of people, the top half of the list don't
    get a second copy of the mail when the queue is processed again.
  
Compared to the elderly NeXT distribution it also has
  + Handling of large mailing lists (following the report a week or
    so back concerning problems with large mailing lists on a system
    using sendmail 5.65, I tested it running on a NeXT with a list of
    over 4000 names - a 100KB+ :include: file; it works fine, although
    it obviously takes a while to parse all those names!).
  + All the odd NeXT added bugs shouldn't be in there - things like
    the formats of full names should be correct now!


BETA RELEASE BITS
~~~~~~~~~~~~~~~~~
Areas that I need examining in detail:-
  + The netinfo alias handling
  + NIS/YP (Whats that??)
  + Interaction with the NeXT supplied named (I run version 4.8.3).
  + Checking that all named functions are OK - like the canonicalise
    functions which my NeXT configs do not use.
  + Functionality with boilerplate config files.
  + Any 3.0 beta testers with time on their hands who want to
    test that it will also work with NeXTstep 3.0.
    
    
OTHER INFORMATION
~~~~~~~~~~~~~~~~~
Generally the enhancements are transparent to the user/installer.
The queue checkpointing is enabled using the OC<n> option, where 
<n> is the number sucessful transactions between checkpoints (default 10).

The RFC931 authentication works on mail sent to sendmail,
and requires that the sending maching is running an RFC931
authentication daemon or the more recently named identity
daemons.  If this is the case the F macro will be set to the
username of the owner of the other end of the connection
(this may be root if a remote sendmail is relaying the mail,
or it has been queued by a remote sendmail).   This also works
if someone attempts to telnet to port 25 and spoof sendmail that
way.  However it does depend entirely on the other end of the 
connection running authd, and is only as trustworthy as the root
account on the remote machine.   The F Macro can be interpolated into
the mail Received: headers to give a reasonable track for mail.
An example of this is the following lines to set up Received: headers:-
>> HReceived: $?sfrom $s $.by $j$?r with $r$.
>>	(Sendmail $v/$C) id $i
>>	$?Fident-sender: $F$.; $b
which is basically what is used on our systems.
($C is the config file version string).


PACKAGING
~~~~~~~~~
There are a set of fairly independant packages:-
  configs	The set of IDA configuration files
  docs		The documentation files (source only currently)
  ida		The IDA specific things, excluding the charset
  		mapping which is part of the source tree
  leftovers	Anything outside the other catagories
  rcssrc	The source in HIDDEN_RCS trees
  src		The source required to build the package
  uk-bits	Some UK specific config bits - which I have
  		not tested at all despite being a UK site.

All of these unpack into a sendmail directory, and fill in different 
parts of the tree.

INSTALLATION
~~~~~~~~~~~~
Currently sendmail compiles and builds for a NeXT system assuming that
you are using a DNS name server, no NIS/YP (Yellow Pages), Netinfo
aliases, RFC931 enabled.  These can be changed in conf.h
The RFC931 client code is in a set of files in libauth-4.0, however
although it is mentioned in the Makefile it can be disabled by 
undefining the RFC931 definitions in conf.h

The installation directory is currently set to be /etc/sendmail
just as NeXT supply things.  However I find it easier to convert it 
to run in /usr/etc/sendmail while I am beta testing - its much
quicker to replace it with a known working version!

As before, freeze files don't work, and never will without major
work!

						Nigel Metheringham
						nigelm@ohm.york.ac.uk
						