[comp.mail.sendmail] New release of UIUC/NIU version of IDA sendmail

paul@uxc.cso.uiuc.edu (Paul Pomes - UofIllinois CSO) (06/27/91)

A new release of the UIUC/NIU version of IDA sendmail is now available for
anonymous FTP from uxc.cso.uiuc.edu in pub/sendmail-5.65c+IDA-1.4.4.tar.Z .
Because of the size of this release, the RCS files are not included, but
are available as pub/sendmail-5.65c-RCS.tar.Z .

Source changes from the previous release:

	Installation has been simplified by the creation of a src/config
	directory.  Files in this directory are named for the operating
	systems that the IDA sendmail has been installed on. They contain
	the OS specific compilation definitions.

	A new macro, $m, has been defined.  For single recipients in
	a local mail delivery, it's value is the original address before
	aliasing.  If all recipients for the current transaction derive
	from a single original recipient, use that for $m.  Else make
	$m undefined (to preserve Bcc: privacy).

	Rationalized reapchild() based on whether LACK_WAIT3 is defined.

	Replaced time_t declarations with TIME_TYPE define.

	macro values are now expand()ed in class definitions.

	Removed #define NO_WILDCARD_MX from conf.h .  This option is too
	dangerous for the minor performance gain obtained.

	Three new command line line flags have been added, -Mqid, -Raddr,
	and -Saddr.  -Mqid processes the queued message whose queue-id 
	matches qid.  -Raddr processes queued messages that have the string
	"addr" within one of the recipient addresses.  Ditto for the sender's
	address with -Saddr.  Adapted from patches sent by Peter J Nilsson
	(pjn@ida.liu.se).

	Changes for Interactive Systems UNIX adapted from patches
	sent by Andy Linton <Andy.Linton@comp.vuw.ac.nz>.

	If Os (SuperSafe) is set in the sendmail.cf file, files in the spool
	area will either be open()ed with O_SYNC set or fsync()ed prior
	to close.

	Received: lines will now show "givenname (realhostname)" if the
	hostname supplied in the SMTP HELO command differs from what is
	returned by getpeername().

	Robert A. Larson's (blarson@skat.usc.edu) portable vprintf() package
	has drastically simplified the #ifdef mess in err.c.  ANSI compilers
	now use stdarg.h, others now use varargs.h.

	Keld Simonsen (keld@dkuug.dk) contributed his character set 
	conversion code that handles 90+ character sets.  Sendmail can
	now send 8-bit messages between sites defined in mailertable.

	RS/6000 AIX systems can now use frozen config files.

	Bruce Lilly (bruce@broadcast.sony.com) contributed several items:
	arpatounix() that converts RFC-822/1123 date-time fields to UNIX
		ctime format and changes to use 4 digit years
	updates to the doc/07.sendmailop/op.me document
	additional System 5 portability changes
	simplified collect()
	case-sensitive (as well as -insensitive) database lookups.
	straightened out usage of DAEMON and VMUNIX for selecting
		sendmail features.
	maphostname() now uses uname() if available and all else fails
	deleted ON (NetName) option.

	Eric Wassenaar (e07@nikhefh.nikhef.nl) posted fixes for
		handling of multi-line .forward files.
		a bug that referenced the wrong envelope.

	Apollos now use proc1_$get_loadav() which greatly simplified the
	routine.  The previous code is wrapped in #ifdef notdef if needed.
	From Chrisos S.  Zoulas (christos@ee.cornell.edu).

	Simon J Gerraty (sjg@melb.bull.oz.au) contributed patch for SUN's
	$%x and $!x features ($!x added as $^x).


ida/cf/Sendmail.mc changes:

    Bug fixes: corrected a problem with MAILSERVER by adding the server
	domain to the address.

	Modified the handling of addresses with '/', so that X.400 format
	addresses in UUCP format will be correctly processed.

	The Received header now has 'for $m' in place of 'for $u'.  The
	new code release supports $m as the recipient prior to aliasing.
	This will not cause any problems with earlier code releases, except
	that the 'for user' will no appear on the header unless you change
	this back to $u.

ENHANCEMENTS:

Added UUCP_MAILER_DEF, LOCAL_MAILER_DEF and OTHER_MAILER_DEF keywords.  This
makes it easier to select an alternative set of UUCP or LOCAL mailers.  You
can either select one of the builtin choices, or you can put your own
definitions in a file, and use the pathname of that file.  Defaults to the
standard definitions.  See comments is Sendmail.mc for more info.

Added GENERICENVELOPE and GENERICTO keywords.  The standard GENERICFROM
keyword already permitted the rewriting of say 'rickert@mp.cs.niu.edu' as
'Neil_Rickert@niu.edu'.  This normally only affect header from addresses.
These are the addresses to which replies are normally made.  But if your
mail bounces, the error messages are usually returned to the envelope
sender address.  Suppose our organization were set up so that 'niu.edu'
were a gateway address accessible to external email, but internal
domains such as 'mp.cs.niu.edu' were not accessible.  In that case any
error message to 'rickert@mp.cs.niu.edu' would not make it back here.
Using GENERICENVELOPE, the generic address processing is also applied to
the envelope sender address, so that now the bounce messages can get
back.  It is particularly useful in exactly these cases where all
addresses must be to a gateway machine.  The GENERICTO keyword applies
generic processing to the 'To:' and 'Cc:' headers also.

Changed ruleset 14 so that the Dmail mailer now supports DECNETXTABLE
for converting domain style names into DECNET style names.

Added HIDDENDOMAIN and HIDDENDOMAINHOST.  With this option any address
of the form 'user@anything.hidden.domain' will be rewritten as
'user@hidden.domain.host', where the value of HIDDENDOMAINHOST defaults to
HIDDENDOMAIN.  This processing does not affect envelope recipients, so
it is still possible to alias addresses to hosts in the hiddendomain.
If DOMAINTABLE is in use, the same feature is available with a domain
table entry of

	 VALUE				   KEY
	hidden.domain.host		.hidden.domain

Likewise, you could use the domaintable entry

	 VALUE				   KEY
	%s.new.domain			.old.domain

to automatically remap any address (except envelope recipients) of
the form  'user@host.old.domain' to 'user@host.new.domain'.  This
is particularly useful for organizations changing names.

MINOR CHANGES:

 When testing (with sendmail -bt), you can now send the output of
ruleset 0 through ruleset 2, mailerspecific,4 to see the final format of
the generated address.  For example, the TCP mailer uses ruleset 10
for envelope recipients.  If it happens that my pathtable and mailertable
are routing mail for chinet.UUCP via a TCP connection, I could try the
following input to 'sendmail -bt'

3,0,2,10,4	chinet!user

and I would see the final outgoing envelope address to be used.

========

The original IDA enhancements, plus the UIUC/NIU and contributed changes,
provide the following:

    * support for mail11v3 for DECnet sites (optional)
    * support for Dbm(3) files - dbm, ndbm, sdbm, mdbm, and gdbm
    	- allows pathalias database to be directly used
    	- allows choice of mailer to be table driven
    	- allows UUCP and domain name aliasing
    	- optional support to access Sun NIS (aka YP) DBM databases
    * improved support of MX records
    * split header rewriting between envelope and headers
    * improved test mode
    * support for multi-token matches in .cf macros and classes
    * batched SMTP support
    * allow set (class) declarations to use programs as well as files
      to define a set
    * delayed macro evaluation using $&x syntax
    * RFC822 quoted macro expansion using $!x syntax
    * an excellent general purpose m4 template for .cf file generation
    	- supports pure UUCP site requirements
    	- supports pure Internet site requirements
    	- supports a hybrid of UUCP site and Internet site
    	- supports hidden and isolated local area networks connected
    	  via a gateway (either UUCP or IP) to the Internet
    	- provides NIS (aka YP) aliases (optional)
    	- provides DECnet gateway support
    	- supports genericfrom database mapping actual user names to
          generic user names.
    	- supports pathalias database
    	- support UUCP and domain name aliasing

--
Paul Pomes, Computing Services Office
University of Illinois - Urbana
Email to Paul-Pomes@uiuc.edu