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