1*66345Seric8.6.2/8.6.2 93/10/15 2*66345Seric Put a "successful delivery" message in the transcript for 3*66345Seric addresses that get return-receipts. 4*66345Seric Put a prominent "this is only a warning" message in warning 5*66345Seric messages -- some people don't read carefully enough 6*66345Seric and end up sending the message several times. 7*66345Seric Include reason for temporary failure in the "warning" return 8*66345Seric message. Currently, it just says "cannot send for 9*66345Seric four hours". 10*66345Seric Fix the "Original message received" time generated for 11*66345Seric returntosender messages. It was previously listed as 12*66345Seric the current time. Bug reported by Eric Hagberg of 13*66345Seric Cornell University Medical College. 14*66345Seric If there is an error when writing the body of a message, 15*66345Seric don't send the trailing dot and wait for a response 16*66345Seric in sender SMTP, as this could cause the connection to 17*66345Seric hang up under some bizarre circumstances. From Eric 18*66345Seric Wassenaar. 19*66345Seric Fix some server SMTP synchronization problems caused when 20*66345Seric connections fail during message collection. From 21*66345Seric Eric Wassenaar. 22*66345Seric Fix a problem that can cause srvrsmtp to reject mail if the 23*66345Seric name server is down -- it accepts the RCPT but rejects 24*66345Seric the DATA command. Problem reported by Jim Murray of 25*66345Seric Stratus. 26*66345Seric Fix a problem that can cause core dumps if the config file 27*66345Seric incorrectly resolves to a null hostname. Reported by 28*66345Seric Allan Johannesen of WPI. 29*66345Seric Non-root use of -C flag, dangerous -f flags, and use of -oQ 30*66345Seric by non-root users were not put into 31*66345Seric X-Authentication-Warning:s as intended because the 32*66345Seric config file hadn't set the PrivacyFlags yet. Fix 33*66345Seric from Sven-Ove Westberg of the University of Lulea. 34*66345Seric Under very odd circumstances, the alias file rebuild code 35*66345Seric could get confused as to whether a database was 36*66345Seric open or not. 37*66345Seric Check "vendor code" on the end of V lines -- this is 38*66345Seric intended to provide a hook for vendor-specific 39*66345Seric configuration syntax. (This is a "new feature", 40*66345Seric but I've made an exception to my rule in a belief 41*66345Seric that this is a highly exceptional case.) 42*66345Seric Portability fixes for DG/UX (from Douglas Anderson of NCSC), 43*66345Seric SCO Unix (from Murray Kucherawy), A/UX, and OSF/1 44*66345Seric (from Jon Forrest of UC Berkeley) 45*66345Seric CONFIG: fix ``mailer:host'' form of UUCP relay naming. 46*66345Seric 4766344Seric8.6.1/8.6 93/10/08 4866344Seric Portability fixes for A/UX and Encore UMAX V. 4966344Seric Fix error message handling -- if you had a name server down 5066344Seric causing an error during parsing, that message was never 5166344Seric propogated to the queue file. 5266344Seric 5366343Seric8.6/8.6 93/10/05 5466343Seric Configuration cleanup: make it easier to undo IDENTPROTO in 5566343Seric conf.h (other systems have the same bug). 5666343Seric If HASGETDTABLESIZE and _SC_OPEN_MAX are both defined, assume 5766343Seric getdtablesize() instead of sysconf(); a disturbingly 5866343Seric large number of systems defined _SC_OPEN_MAX in the 5966343Seric header files but don't have the syscall. 6066343Seric Another patch to really truly ignore MX records in getcanonname 6166343Seric if trymx == FALSE. 6266343Seric Fix problem that caused the "250 IAA25499 Message accepted for 6366343Seric delivery" message to be omitted if there was an error 6466343Seric in the header of the message (e.g., a bad Errors-To: 6566343Seric line). Pointed out by Michael Corrigan of UCSD. 6666343Seric Announce name of host we are chatting when we get errors; this 6766343Seric is an IDA-ism suggested by Christophe Wolfhugel. 6866343Seric Portability fixes for Alpha OSF/1 (from Anthony Baxter of the 6966343Seric Australian Artificial Intelligence Institute), SCO Unix 7066343Seric (from Murray Kucherawy of Hookup Communication Corp.), 7166343Seric NeXT (from Vince DeMarco and myself), Linux (from 7266343Seric Karl London <karl@borg.demon.co.uk>), BSDI (from 7366343Seric Christophe Wolfhugel, and SVR4 on Dell (from Kimmo 7466343Seric Suominen), AUX 3.0 on Macintosh, and ANSI C compilers. 7566343Seric Some changes to get around gcc optimizer bugs. From Takahiro 7666343Seric Kanbe. 7766343Seric Fix error recovery in queueup if another tf file of the same 7866343Seric name already exists. Problem stumbled over by Bill 7966343Seric Wisner of The Well. 8066343Seric Output YP_MASTER_NAME and YP_LAST_MODIFIED without null bytes. 8166343Seric Problem noted by Keith McMillan of Ameritech Services. 8266343Seric Deal with group permissions properly when opening .forward and 8366343Seric :include: files. This relaxes the 8.1C restrictions 8466343Seric slightly more. This includes proper setting of groups 8566343Seric when reading :include: files, allowing you to read some 8666343Seric files that you should be able to read but have previously 8766343Seric been denied unless you owned them or they had "other" 8866343Seric read permission. 8966343Seric Make certain that $j is in $=w (after the .cf is read) so that 9066343Seric if the user is forced to override some silly system, 9166343Seric MX suppression will still work. 9266343Seric Fix a couple of efficiency problems where newstr was double- 9366343Seric calling expensive routines. In at least one case, it 9466343Seric wasn't guaranteed that they would always return the 9566343Seric same result. Problem noted by Christophe Wolfhugel. 9666343Seric Fix null pointer dereference in putoutmsg -- only on an error 9766343Seric condition from a non-SMTP mailer. From Motonori 9866343Seric Nakamura. 9966343Seric Macro expand "C" line class definitions before scanning so that 10066343Seric "CX $Z" works. 10166343Seric Fix problem that caused error message to be sent while still 10266343Seric trying to send the original message if the connection 10366343Seric is closed during a DATA command after getting an error 10466343Seric on an RCPT command (pretty obscure). Problem reported 10566343Seric by John Myers of CMU. 10666343Seric Fix reply to NOOP to be 250 instead of 200 -- this is a long 10766343Seric term bug. 10866343Seric Fix a nasty bug causing core dumps when returning the "warning: 10966343Seric cannot deliver for N hours -- will keep trying" message; 11066343Seric it only occurred if you had PostMasterCopy set and 11166343Seric only on some architectures. Although sendmail would 11266343Seric keep trying, it would send error messages on each 11366343Seric queue interval. This is an important fix. 11466343Seric Allow u and g options to take user and group names respectively. 11566343Seric Don't do a chdir into the queue directory in -bt mode to make 11666343Seric ruleset testing a bit easier. 11766343Seric Don't allow users to turn off logging (using -oL) on the command 11866343Seric line -- command line can only raise, not lower, logging 11966343Seric level. 12066343Seric Set $u to the original recipient on the SMTP transaction or on 12166343Seric the command line. This is only done if there is exactly 12266343Seric one recipient. Technically, this does not meet the 12366343Seric specs, because it does not guarantee a domain on the 12466343Seric address. 12566343Seric Fix a problem that dumped error messages on bad addresses if 12666343Seric you used the -t flag. Problem noted by Josh Smith of 12766343Seric Harvey Mudd College. 12866343Seric Given an address such as ``<foo> <bar>'', auto-quote the first 12966343Seric ``<foo>'' part, giving ``"<foo>" <bar>''. This is to 13066343Seric avoid the problem of people who use angle brackets in 13166343Seric their full name information. 13266343Seric Fix a null pointer dereference if you set option "l", have 13366343Seric an Errors-To: header in the message, and have Errors-To: 13466343Seric defined in the config file H lines. From J.R. Oldroyd. 13566343Seric Put YPCOMPAT on #ifdef NIS instead -- it's one less thing to get 13666343Seric wrong when compiling. Suggested by Rick McCarty of TI. 13766343Seric Fix a problem that could pass negative SIZE parameter if the 13866343Seric df file got lost; this would cause servers to always 13966343Seric give a temporary failure, making the problem even worse. 14066343Seric Problem noted by Allan Johannesen of WPI. 14166343Seric Add "ident" timeout (one of the "r" option selectors) for IDENT 14266343Seric protocol timeouts (30s default). Requested by Murray 14366343Seric Kucherawy of HookUp Communication Corp. to handle bogus 14466343Seric PC TCP/IP implementations. 14566343Seric Change $w default definition to be just the first component of 14666343Seric the domain name on config level 5. The $j macro defaults 14766343Seric to the FQDN; $m remains as before. This lets well-behaved 14866343Seric config files use any of the short, long, or subdomain 14966343Seric names. 15066343Seric Add makesendmail script in src to try to automate multi-architecture 15166343Seric builds. I know, this is sub-optimal, but it is still 15266343Seric helpful. 15366343Seric Fix very obscure race condition that can cause a queue run to 15466343Seric get a queue file for an already completed job. This 15566343Seric problem has existed for years. Problem noted by the 15666343Seric long suffering Allan Johannesen of WPI. 15766343Seric Fix a problem that caused the raw sender name to be passed to 15866343Seric udbsender instead of the canonified name -- this caused 15966343Seric it to sometimes miss records that it should have found. 16066343Seric Relax check of name on HELO packet so that a program using -bs 16166343Seric that claims to be itself works properly. 16266343Seric Restore rewriting of $: part of address through 2, R, 4 in 16366343Seric buildaddr -- this requires passing a lot of flags to get 16466343Seric it right. Unlike old versions, this ONLY rewrites 16566343Seric recipient addresses, not sender addresses. 16666343Seric Fix a bug that caused core dumps in config files that cannot 16766343Seric resolve /file/name style addresses. Fix from Jonathan 16866343Seric Kamens of OpenVision Technologies. 16966343Seric Fix problem with fcntl locking that can cause error returns to 17066343Seric be lost if the lock is lost; this required fully 17166343Seric queueing everything, dropping the envelope (so errors 17266343Seric would get returned), and then re-reading the queue from 17366343Seric scratch. 17466343Seric Fix a problem that caused aliases that redefine an otherwise 17566343Seric true address to still send to the original address 17666343Seric if and only if the alias failed in certain bizarre 17766343Seric ways (e.g, if they pointed at a list:; syntax address). 17866343Seric Problem pointed out by Jonathan Kamens. 17966343Seric Remove support for frozen configuration files. They caused 18066343Seric more trouble than it was worth. 18166343Seric Fix problem that can cause error messages to get ignored when 18266343Seric using both -odb and -t flags. Problem noted by Rob 18366343Seric McNicholas at U.C. Berkeley. 18466343Seric Include all "normal" variations on hostname in $=w. For example, 18566343Seric if the host name is vangogh.cs.berkeley.edu, $=w will 18666343Seric contain vangogh, vangogh.cs, and vangogh.cs.berkeley.edu. 18766343Seric Add "restrictqrun" privacy flag -- without this, anyone can run 18866343Seric the queue. 18966343Seric Reset SmtpPhase global on initial connection creation so that 19066343Seric messages don't come out with stale information. 19166343Seric Pass an "ext" argument to lockfile so that error/log messages 19266343Seric will properly reflect the true filename being locked. 19366343Seric Put all [...] address forms into $=w -- this eliminates the need 19466343Seric for MAXIPADDR in conf.h. Suggested by John Gardiner 19566343Seric Myers of CMU. 19666343Seric Fix a bug that can cause qf files to be left around even after 19766343Seric an SMTP RSET command. Problem and fix from Michael 19866343Seric Corrigan. 19966343Seric Don't send a PostMasterCopy to errors when the Precedence: is 20066343Seric negative. Error reports still go to the envelope 20166343Seric sender address. 20266343Seric Add LA_SHORT for load averages. 20366343Seric Lock sendmail.st file when posting statistics. 20466343Seric Add "SendBufSize" and "RcvBufSize" suboptions to "O" option to 20566343Seric set the size of the TCP send and receive buffers; if you 20666343Seric run over a slow slip line you may need to set these down 20766343Seric (although it would be better to fix the SLIP implementation 20866343Seric so that it's not necessary to recompile every program 20966343Seric that does bulk data transfer). 21066343Seric Allow null defaults on $( ... $) lookups. Problem reported by 21166343Seric Amir Plivatsky. 21266343Seric Diagnose crufty S and V config lines. This resulted from an 21366343Seric observation that some people were using the SITE macro 21466343Seric without the SITECONFIG macro first, which was causing 21566343Seric bogus config files that were not caught. 21666343Seric Fix makemap -f flag to turn off case folding (it was turning it 21766343Seric on instead). THIS IS A USER VISIBLE CHANGE!!! 21866343Seric Fix a problem that caused multiple error messages to be sent if 21966343Seric you used "sendmail -t -oem -odb", your system uses fcntl 22066343Seric locking, and one of the recipient addresses is unknown. 22166343Seric Reset uid earlier in include() so that recursive .forwards or 22266343Seric :include:s don't use the wrong uid. 22366343Seric If file descriptor 0, 1, or 2 was closed when sendmail was 22466343Seric called, the code to recover the descriptor was broken. 22566343Seric This sometimes (only sometimes) caused problems with the 22666343Seric alias file. Fix from Motonori Nakamura. 22766343Seric Fix a problem that caused aliaswait to go into infinite recursion 22866343Seric if the @:@ metasymbol wasn't found in the alias file. 22966343Seric Improve error message on newaliases if database files cannot be 23066343Seric opened or if running with no database format defined. 23166343Seric Do a better estimation of the size of error messages when NoReturn 23266343Seric is set. Problem noted by P{r (Pell) Emanuelsson. 23366343Seric Fix a problem causing the "c" option (don't connect to expensive 23466343Seric mailers) to be ignored in SMTP. Problem noted and the 23566343Seric solution suggested by Robert Elz of Munnari University. 23666343Seric Improve connection caching algorithm by passing "[host]" to 23766343Seric hostsignature, which strips the square brackets and 23866343Seric returns the real name. This allows mailertable entries 23966343Seric to match regular entries. 24066343Seric Re-enable Return-Receipt-To: -- people seem to want this stupid 24166343Seric feature, even if it doesn't work right. 24266343Seric Catch and log attempts to try the "wiz" command in server SMTP. 24366343Seric This also ups the log level from LOG_NOTICE to LOG_CRIT. 24466343Seric Be more generous at assigning $z to the home directory -- do this 24566343Seric for programs that are specified through a .forward file. 24666343Seric Fix from Andrew Chang of Sun Microsystems. 24766343Seric Always save a fatal error message in preference to a non-fatal 24866343Seric error message so that the "subject" line of return 24966343Seric messages is the best possible. 25066343Seric CONFIG: reduce the number of quotes needed to quote configuration 25166343Seric parameters with commas: two quotes should work now, e.g., 25266343Seric define(ALIAS_FILE, ``/etc/aliases,/etc/aliases.local''). 25366343Seric CONFIG: class $=Z is a set of UUCP hosts that use uucp-dom 25466343Seric connections (domain-ized UUCP). 25566343Seric CONFIG: fix bug in default maps (-o must be before database file 25666343Seric name). Pointed out by Christophe Wolfhugel. 25766343Seric CONFIG: add FEATURE(nodns) to state that we are not relying on 25866343Seric DNS. This would presumably be used in UUCP islands. 25966343Seric CONFIG: add OSTYPE(nextstep) and OSTYPE(linux). 26066343Seric CONFIG: log $u in Received: line. This is in technical violation 26166343Seric of the standards, since it doesn't guarantee a domain 26266343Seric on the address. 26366343Seric CONFIG: don't assume "m" in local mailer flags -- this means that 26466343Seric if you redefine LOCAL_MAILER_FLAGS you will have to include 26566343Seric the "m" flag should you want it. Apparently some Solaris 2.2 26666343Seric installations can't handle multiple local recipients. 26766343Seric Problem noted by Josh Smith. 26866343Seric CONFIG: add confDOMAIN_NAME to set $j (if undefined, $j defaults). 26966343Seric CONFIG: change default version level from 4 to 5. 27066343Seric CONFIG: add FEATURE(nullclient) to create a config file that 27166343Seric forwards all mail to a hub without ever looking at the 27266343Seric addresses in any detail. 27366343Seric CONFIG: properly strip mailer: information off of relays when 27466343Seric used to change .BITNET form into %-hack form. 27566343Seric CONFIG: fix a problem that caused infinite loops if presented 27666343Seric with an address such as "!foo". 27766343Seric CONFIG: check for self literal (e.g., [128.32.131.12]) even if 27866343Seric the reverse "PTR" mapping is broken. There's a better 27966343Seric way to do this, but the change is fairly major and I 28066343Seric want to hold it for another release. Problem noted by 28166343Seric Bret Marquis. 28266343Seric 28366342Seric8.5/8.5 93/07/23 28466342Seric Serious bug: if you used a command line recipient that was unknown 28566342Seric sendmail would not send a return message (it was treating 28666342Seric everything as though it had an SMTP-style client that 28766342Seric would do the return itself). Problem noted by Josh Smith. 28866342Seric Change "trymx" option in getcanonname() to ignore all MX data, 28966342Seric even during a T_ANY query. This actually didn't break 29066342Seric anything, because the only time you called getcanonname 29166342Seric with !trymx was if you already knew there were no MX 29266342Seric records, but it is somewhat cleaner. From Motonori 29366342Seric Nakamura. 29466342Seric Don't call getcanonname from getmxrr if you already know there 29566342Seric are no DNS records matching the name. 29666342Seric Fix a problem causing error messages to always include "The 29766342Seric original message was received ... from localhost". 29866342Seric The correct original host information is now included. 29966342Seric Previous change to cf/sh/makeinfo.sh doesn't port to Ultrix (their 30066342Seric version of "test" doesn't have the -x flag). Change it 30166342Seric to use -f instead. From John Myers. 30266342Seric CONFIG: 8.4 mistakenly set the default SMTP-style mailer to 30366342Seric esmtp -- it should be smtp. 30466342Seric CONFIG: send all relayed mail using confRELAY_MAILER (defaults 30566342Seric to "relay" (a variant of "smtp") if MAILER(smtp) is used, 30666342Seric else "suucp" if MAILER(uucp) is used, else "unknown"); 30766342Seric this cleans up the configs somewhat. This fixes a serious 30866342Seric problem that caused route-addrs to get mistaken as relays, 30966342Seric pointed out by John Myers. WARNING: this also causes 31066342Seric the default on SMART_HOST to change from "suucp" to 31166342Seric "relay" if you have MAILER(smtp) specified. 31266342Seric 31366341Seric8.4/8.4 93/07/22 31466341Seric Add option `w'. If you receive a message that comes to you because 31566341Seric you are the best (lowest preference) target of an MX, and 31666341Seric you haven't explicitly recognized the source MX host in 31766341Seric your .cf file, this option will cause you to try the target 31866341Seric host directly (as if there were no MX for it at all). If 31966341Seric `w' is not set, this case is a configuration error. 32066341Seric Beware: if `w' is set, senders may get bogus errors like 32166341Seric "message timed out" or "host unknown" for problems that 32266341Seric are really configuration errors. This option is 32366341Seric disrecommended, provided only for compatibility with 32466341Seric UIUC sendmail. 32566341Seric Fix a problem that caused the incoming socket to be left open 32666341Seric when sendmail forks after the DATA command. This caused 32766341Seric calling systems to wait in FIN_WAIT_2 state until the 32866341Seric entire list was processed and the child closed -- a 32966341Seric potentially prodigious amount of time. Problem noted 33066341Seric by Neil Rickert. 33166341Seric Fix problem (created in 6.64) that caused mail sent to multiple 33266341Seric addresses, one of which was a bad address, to completely 33366341Seric suppress the sending of the message. This changes 33466341Seric handling of EF_FATALERRS somewhat, and adds an 33566341Seric EF_GLOBALERRS flag. This also fixes a potential problem 33666341Seric with duplicate error messages if there is a syntax error 33766341Seric in the header of a message that isn't noticed until late 33866341Seric in processing. Original problem pointed out by Josh Smith 33966341Seric of Harvey Mudd College. This release includes quite a bit 34066341Seric of dickering with error handling (see below). 34166341Seric Back out SMTP transaction if MAIL gets nested 501 error. This 34266341Seric will only hurt already-broken software and should help 34366341Seric humans. 34466341Seric Fix a problem that broke aliases when neither NDBM nor NEWDB were 34566341Seric compiled in. It would never read the alias file. 34666341Seric Repair unbalanced `)' and `>' (the "open" versions are already 34766341Seric repaired). 34866341Seric Logging of "done" in dropenvelope() was incorrect: it would 34966341Seric log this even when the queue file still existed. Change 35066341Seric this to only log "done" (at log level 11) when the 35166341Seric queue file is actually removed. From John Myers. 35266341Seric Log "lost connection" in server SMTP at log level 20 if there 35366341Seric is no pending transaction. Some senders just close the 35466341Seric connection rather than sending QUIT. 35566341Seric Fix a bug causing getmxrr to add a dot to the end of unqualified 35666341Seric domains that do not have MX records -- this would cause 35766341Seric the subsequent host name lookup to fail. The problem 35866341Seric only occurred if you had FEATURE(nocanonify) set. 35966341Seric Problem noted by Rick McCarty of Texas Instruments. 36066341Seric Fix invocation of setvbuf when passed a -X flag -- I had 36166341Seric unwittingly used an ANSI C extension, and this caused 36266341Seric core dumps on some machines. 36366341Seric Diagnose self-destructive alias loops on RCPT as well as EXPN. 36466341Seric Previously it just gave an empty send queue, which 36566341Seric then gave either "Need RCPT (recipient)" at the DATA 36666341Seric (confusing, since you had given an RCPT command which 36766341Seric returned 250) or just dropped the email, depending on 36866341Seric whether you were running VERBose mode. Now it usually 36966341Seric diagnoses this case as "aliasing/forwarding loop broken". 37066341Seric Unfortunately, it still doesn't adequately diagnose 37166341Seric some true error conditions. 37266341Seric Add internal concept of "warning messages" using 6xx codes. 37366341Seric These are not reported only to Postmaster. Unbalanced 37466341Seric parens, brackets, and quotes are printed as 653 codes. 37566341Seric They are always mapped to 5xx codes before use in SMTP. 37666341Seric Clean up error messages to tell both the actual address that 37766341Seric failed and the alias they arose from. This makes it 37866341Seric somewhat easier to diagnose problems. Difficulty noted 37966341Seric by Motonori Nakamura. 38066341Seric Fix a problem that inappropriately added a ctladdr to addresses 38166341Seric that shouldn't have had one during a queue run. This 38266341Seric caused error messages to be handled differently during 38366341Seric a queue run than a direct run. 38466341Seric Don't print the qf name and line number if you get errors during 38566341Seric the direct run of the queue from srvrsmtp -- this was 38666341Seric just extra stuff for users to crawl through. 38766341Seric Put command line flags on second line of pid file so you can 38866341Seric auto-restart the daemon with all appropriate arguments. 38966341Seric Use "kill `head -1 /etc/sendmail.pid`" to stop the 39066341Seric daemon, and "eval `tail -1 /etc/sendmail.pid`" to 39166341Seric restart it. 39266341Seric Remove the ``setuid(getuid())'' in main -- this caused the 39366341Seric IDENT daemon to screw up. This required that I change 39466341Seric HASSETEUID to HASSETREUID and complicate the mode 39566341Seric changing somewhat because both Ultrix and SunOS seem 39666341Seric to have a bug causing seteuid() to set the saved uid 39766341Seric as well as the effective. The program test/t_setreuid.c 39866341Seric will test to see if your implementation of setreuid(2) 39966341Seric is appropriately functional. 40066341Seric The FallBackMX (option V) handling failed to properly identify 40166341Seric fallback to yourself -- most of the code was there, 40266341Seric but it wasn't being enabled. Problem noted by Murray 40366341Seric Kucherawy of the University of Waterloo. 40466341Seric Change :include: open timeout from ETIMEDOUT to an internal 40566341Seric code EOPENTIMEOUT; this avoids adding "during SmtpPhase 40666341Seric with CurHostName" in error messages, which can be 40766341Seric confusing. Reported by Jonathan Kamens of OpenVision 40866341Seric Technologies. 40966341Seric Back out setpgrp (setpgid on POSIX systems) call to reset the 41066341Seric process group id. The original fix was to get around 41166341Seric some problems with recalcitrant MUAs, but it breaks 41266341Seric any call from a shell that creates a process group id 41366341Seric different from the process id. I could try to fix 41466341Seric this by diddling the tty owner (using tcsetpgrp or 41566341Seric equivalent) but this is too likely to break other 41666341Seric things. 41766341Seric Portability changes: 41866341Seric Support -M as equivalent to -oM on Ultrix -- apparently 41966341Seric DECnet calls sendmail with -MrDECnet -Ms<HOST> -bs 42066341Seric instead of using standard flags. Oh joy. This 42166341Seric behaviour reported by Jon Giltner of University 42266341Seric of Colorado. 42366341Seric SGI IRIX -- this includes several changes that should 42466341Seric help other strict ANSI compilers. 42566341Seric SCO Unix -- from Murray Kucherawy of HookUp Communication 42666341Seric Corporation. 42766341Seric Solaris running the Sun C compiler (which despite the 42866341Seric documentation apparently doesn't define 42966341Seric __STDC__ by default). 43066341Seric ConvexOS from Eric Schnoebelen of Convex. 43166341Seric Sony NEWS workstations and Omron LUNA workstations from 43266341Seric Motonori Nakamura. 43366341Seric CONFIG: add confTRY_NULL_MX_LIST to set option `w'. 43466341Seric CONFIG: delete `C' and `e' from default SMTP mailers flags; 43566341Seric several people have made a good argument that this 43666341Seric creates more problems than it solves (although this 43766341Seric may prove painful in the short run). 43866341Seric CONFIG: generalize all the relays to accept a "mailer:host" 43966341Seric format. 44066341Seric CONFIG: move local processing in ruleset 0 into a new ruleset 44166341Seric 98 (8 on old sendmail). Domain literal [a.b.c.d] 44266341Seric addresses are also passed through this ruleset. 44366341Seric CONFIG: if neither SMART_HOST nor MAILER(smtp) were defined, 44466341Seric internet-style addresses would "fall off the end" of 44566341Seric ruleset zero and be interpreted as local -- however, 44666341Seric the angle brackets confused the recursive call. 44766341Seric These are now diagnosed as "Unrecognized host name". 44866341Seric CONFIG: USENET rules weren't included in S0 because of a mistaken 44966341Seric ifdef(`_MAILER_USENET_') instead of 45066341Seric ifdef(`_MAILER_usenet_'). Problem found by Rein Tollevik 45166341Seric of SINTEF RUNIT, Oslo. 45266341Seric CONFIG: move up LOCAL_RULE_0 processing so that it happens very 45366341Seric early in ruleset 0; this allows .mc authors to bypass 45466341Seric things like the "short circuit" code for local addresses. 45566341Seric Prompted by a comment by Bill Wisner of The Well. 45666341Seric CONFIG: add confSMTP_MAILER to define the mailer used (smtp or 45766341Seric esmtp) to send SMTP mail. This allows you to default 45866341Seric to esmtp but use a mailertable or other override to 45966341Seric deal with broken servers. This logic was pointed out 46066341Seric to me by Bill Wisner. Ditto for confLOCAL_MAILER. 46166341Seric Changes to cf/sh/makeinfo.sh to make it portable to SVR4 46266341Seric environments. Ugly as sin. 46366341Seric 46466340Seric8.3/8.3 93/07/13 46566340Seric Fix setuid problems introduced in 8.2 that caused messages 46666340Seric like "Cannot create qfXXXXXX: Invalid argument" 46766340Seric or "Cannot reopen dfXXXXXX: Permission denied". This 46866340Seric involved a new compile flag "HASSETEUID" that takes 46966340Seric the place of the old _POSIX_SAVED_IDS -- it turns out 47066340Seric that the POSIX interface is broken enough to break 47166340Seric some systems badly. This includes some fixes for 47266340Seric HP-UX. Also fixes problems where the real uid is 47366340Seric not reset properly on startup (from Neil Rickert). 47466340Seric Fix a problem that caused timed out messages to not report the 47566340Seric addresses that timed out. Error messages are also more 47666340Seric "user friendly". 47766340Seric Drop required bandwidth on connections from 64 bytes/sec to 47866340Seric 16 bytes/sec. 47966340Seric Further Solaris portability changes -- doesn't require the BSD 48066340Seric compatibility library. This also adds a new 48166340Seric "HASGETDTABLESIZE" compile flag which can be used if 48266340Seric you want to use getdtablesize(2) instead of sysconf(2). 48366340Seric These are loosely based on changes from David Meyer at 48466340Seric University of Oregon. This now seems to work, at least 48566340Seric for quick test cases. 48666340Seric Fix a problem that can cause duplicate error messages to be 48766340Seric sent if you are in SMTP, you send to multiple addresses, 48866340Seric and at least one of those addresses is good and points 48966340Seric to an account that has a .forward file (whew!). 49066340Seric Fix a problem causing messages to be discarded if checkcompat() 49166340Seric returned EX_TEMPFAIL (because it didn't properly mark 49266340Seric the "to" address). Problem noted by John Myers. 49366340Seric Fix dfopen to return NULL if the open failed; I was depending 49466340Seric on fdopen(-1) returning NULL, which isn't the case. This 49566340Seric isn't serious, but does result in wierd error diagnoses. 49666340Seric From Michael Corrigan. 49766340Seric CONFIG: add UUCP_MAX_SIZE M4 macro to set the maximum size of 49866340Seric messages sent through UUCP-family mailers. Suggested 49966340Seric by Bill Wisner of The Well. 50066340Seric CONFIG: if both MAILER(uucp) and MAILER(smtp) are specified, 50166340Seric include a "uucp-dom" mailer that uses domain-style 50266340Seric addressing. Suggested by Bill Wisner. 50366340Seric CONFIG: Add LOCAL_SHELL_FLAGS and LOCAL_SHELL_ARGS to match 50466340Seric LOCAL_MAILER_FLAGS and LOCAL_MAILER_ARGS. Suggested by 50566340Seric Christophe Wolfhugel. 50666340Seric CONFIG: Add OSTYPE(aix3). From Christophe Wolfhugel. 50766340Seric 50866339Seric8.2/8.2 93/07/11 50966339Seric Don't drop out on config file parse errors in -bt mode. 51066339Seric On older configuration files, assume option "l" (use Errors-To 51166339Seric header) for back compatibility. NOTE: this DOES NOT 51266339Seric imply an endorsement of the Errors-To: header in any way. 51366339Seric Accept -x flag on AIX-3 as well as OSF/1. Why, why, why??? 51466339Seric Don't log errors on EHLO -- it isn't a "real" error for an old 51566339Seric SMTP server to give an error on this command, and 51666339Seric logging it in the transcript can be confusing. Fix 51766339Seric from Bill Wisner. 51866339Seric IRIX compatibility changes provided by Dan Rich 51966339Seric <drich@sandman.lerc.nasa.gov>. 52066339Seric Solaris 2 compatibility changes. Provided by Bob Cunningham 52166339Seric <bob@kahala.soest.hawaii.edu>, John Oleynick 52266339Seric <juo@klinzhai.rutgers.edu> 52366339Seric Debugging: -d17 was overloaded (hostsignature and usersmtp.c); 52466339Seric move usersmtp (smtpinit and smtpmailfrom) to -d18 to 52566339Seric match the other flags in that file. 52666339Seric Flush transcript before fork in mailfile(). From Eric Wassenaar. 52766339Seric Save h_errno in mci struct and improve error message display. 52866339Seric Changes from Eric Wassenaar. 52966339Seric Open /dev/null for the transcript if the create of the xf file 53066339Seric failed; this avoids at least one possible null pointer 53166339Seric reference in very wierd cases. From Eric Wassenaar. 53266339Seric Clean up statistics gathering; it was over-reporting because of 53366339Seric forks. From Eric Wassenaar. 53466339Seric Fix problem that causes old Return-Path: line to override new 53566339Seric Return-Path: line (conf.c needs H_FORCE to avoid 53666339Seric re-using old value). From Motonori Nakamura. 53766339Seric Fix broken -m flag in K definition -- even if -m (match only) 53866339Seric was specified, it would still replace the key with the 53966339Seric value. Noted by Rick McCarty of Texas Instruments. 54066339Seric If the name server timed out over several days, no "timed out" 54166339Seric message would ever be sent back. The timeout code 54266339Seric has been moved from markfailure() to dropenvelope() 54366339Seric so that all such failures should be diagnosted. Pointed 54466339Seric out by Christophe Wolfhugel and others. 54566339Seric Relax safefile() constraints: directories in an include or 54666339Seric forward path must be readable by self if the controlling 54766339Seric user owns the entry, readable by all otherwise (e.g., 54866339Seric when reading your .forward file, you have to own and 54966339Seric have X permssion in it; everyone needs X permission in 55066339Seric the root and directories leading up to your home); 55166339Seric include files must be readable by anyone, but need not 55266339Seric be owned by you. 55366339Seric If _POSIX_SAVED_IDS is defined, setuid to the owner before 55466339Seric reading a .forward file; this gets around some problems 55566339Seric on NFS mounts if root permission is not exported and 55666339Seric the user's home directory isn't x'able. 55766339Seric Additional NeXT portability enhancements from Axel Zinser. 55866339Seric Additional HP-UX portability enhancements from Brian Bullen. 55966339Seric Add a timeout around SMTP message writes; this assumes you can 56066339Seric get throughput of at least 64 bytes/second. Note that 56166339Seric this does not impact the "datafinal" default, which 56266339Seric is separate; this is just intended to work around 56366339Seric network clogs that will occur before the final dot 56466339Seric is sent. From Eric Wassenaar. 56566339Seric Change map code to set the "include null" flag adaptively -- 56666339Seric it initially tries both, but if it finds anything 56766339Seric matching without a null it never tries again with a 56866339Seric null and vice versa. If -N is specified, it never 56966339Seric tries without the null and creates new maps with a 57066339Seric null byte. If -O is specified, it never tries with 57166339Seric the null (for efficiency). If -N and -O are specified, 57266339Seric you get -NO (get it?) lookup at all, so this would 57366339Seric be a bad idea. If you don't specify either -N or -O, 57466339Seric it adapts. 57566339Seric Fix recognition of "same from address" so that MH submissions 57666339Seric will insert the appropriate full name information; 57766339Seric this used to work and got broken somewhere along the 57866339Seric way. 57966339Seric Some changes to eliminate some unnecessary SYSERRs in the 58066339Seric log. For example, if you lost a connection, don't 58166339Seric bother reporting that fact on the connection you lost. 58266339Seric Add some "extended debugging" flags to try to track down 58366339Seric why we get occassional problems with file descriptor 58466339Seric one being closed when execing a mailer; it seems to 58566339Seric only happen when there has been another error in the 58666339Seric same transaction. This requires XDEBUG, defined 58766339Seric by default in conf.h. 58866339Seric Add "-X filename" command line flag, which logs both sides of 58966339Seric all SMTP transactions. This is intended ONLY for 59066339Seric debugging bad implementations of other mailers; start 59166339Seric it up, send a message from a mailer that is failing, 59266339Seric and then kill it off and examine the indicated log. 59366339Seric This output is not intended to be particularly human 59466339Seric readable. This also adds the HASSETVBUF compile 59566339Seric flag, defaulted on if your compiler defines __STDC__. 59666339Seric CONFIG: change SMART_HOST to override an SMTP mailer. If you 59766339Seric have a local net that should get direct connects, you 59866339Seric will need to use LOCAL_NET_CONFIG to catch these hosts. 59966339Seric See cf/README for an example. 60066339Seric CONFIG: add LOCAL_MAILER_ARGS (default: `mail -d $u') to handle 60166339Seric sites that don't use the -d flag. 60266339Seric CONFIG: hide recipient addresses as well as sender addresses 60366339Seric behind $M if FEATURE(allmasquerade) is specified; this 60466339Seric has been requested by several people, but can break 60566339Seric local aliases. For example, if you mail to "localalias" 60666339Seric this will be rewritten as "localalias@masqueradehost"; 60766339Seric although initial delivery will work, replies will be 60866339Seric broken. Use it sparingly. 60966339Seric CONFIG: add FEATURE(domaintable). This maps unqualified domains 61066339Seric to qualified domains in headers. I believe this is 61166339Seric largely equivalent to the IDA feature of the same name. 61266339Seric CONFIG: use $U as UUCP name instead of $k. This permits you 61366339Seric to override the "system name" as your UUCP name -- 61466339Seric in particular, to use domain-ized UUCP names. From 61566339Seric Bill Wisner of The Well. 61666339Seric CONFIG: create new mailer "esmtp" that always tries EHLO 61766339Seric first. This is currently unused in the config files, 61866339Seric but could be used in a mailertable entry. 61966339Seric 62066338Seric8.1C/8.1B 93/06/27 62166338Seric Serious security bug fix: it was possible to read any file on 62266338Seric the system, regardless of ownership and permissions. 62366338Seric If a subroutine returns a fully qualified address, return it 62466338Seric immediately instead of feeding it back into rewriting. 62566338Seric This fixes a problem with mailertable lookups. 62666338Seric CONFIG: fix some M4 frotz (concat => CONCAT) 62766338Seric 62866338Seric8.1B/8.1A 93/06/12 62966338Seric Serious bug fix: pattern matching backup algorithm stepped by 63066338Seric two tokens in classes instead of one. Found by Claus 63166338Seric Assmann at University of Kiel, Germany. 63266338Seric 63366338Seric8.1A/8.1A 93/06/08 63466338Seric Another mailertable fix.... 63566338Seric 63666338Seric8.1/8.1 93/06/07 63766338Seric 4.4BSD freeze. No semantic changes. 63866338Seric 63966338Seric6.65/6.34 93/06/06 64066338Seric Fix some lintish problems. 64166338Seric Fix some cases where server SMTP behaved poorly when handed bogus 64266338Seric input, pointed out by Eric Wassenaar. 64366338Seric CONFIG: fix some more (sigh) mailertable bugs -- thanks to 64466338Seric Motonori Nakamura of Kyoto University (again). 64566338Seric 64666338Seric6.64/6.33 93/06/05 64766338Seric Don't send 050 (-v) information after the 250 response to a QUIT 64866338Seric command in srvrsmtp -- clients usually close the connection 64966338Seric at this point, and it causes bogus error messages. 65066338Seric Don't send messages that have errors on input (such as unbalanced 65166338Seric parentheses) during SMTP transactions, since a return 65266338Seric message has (probably) already been sent. 65366338Seric Give better diagnostics on timeouts during network reads, including 65466338Seric information similar to the SMTP phase. 65566338Seric Fix bug that caused SMTP messages to deliver synchronously; this 65666338Seric happened after the DATA 250, and hence caused reading the 65766338Seric next command to be delayed. 65866338Seric Ignore Errors-To: header unless 'l' (lower case el) header is 65966338Seric specified. The Errors-To: header violates RFC 1123. 66066338Seric Errors-To: was only needed to take the place of the 66166338Seric envelope sender in the days when most Unix mailers 66266338Seric didn't understand about the two kinds of senders. 66366338Seric Don't send warning messages in response to automatically generated 66466338Seric messages (that is, those From:<>). 66566338Seric CONFIG: fix some rather stupid typos in the mailertable code 66666338Seric pointed out by Motonori Nakamura of Kyoto University. 66766338Seric CONFIG: add confUSE_ERRORS_TO configuration option. 66866338Seric CONFIG: if ALWAYS_ADD_DOMAIN is selected, try to use $M 66966338Seric (masquerade name) instead of $j. 67066338Seric CONFIG: don't add dots to relay names (added in 6.29); it breaks 67166338Seric several things, and can be simulated by dot terminating 67266338Seric the names of relays. For example, use: 67366338Seric DBbit.net.relay. 67466338Seric (note the trailing dot). 67566338Seric 67666338Seric6.63/6.32 93/06/01 67766338Seric Fix prototypes to eliminate chars in argument lists -- some 67866338Seric compilers are pissy about this. 67966338Seric Log protocol ($r) and body type if set so we can determine if 68066338Seric the adaptive algorithms are working. 68166338Seric Pessimize on locking of database files (particularly for NEWDB 68266338Seric databases) during opens. There were problems with 68366338Seric processes opening the file while it was rebuilt; since 68466338Seric NEWDB caches heavily, the reader opened an empty file, 68566338Seric which is an error. If your system has the ability to 68666338Seric lock atomically on open, this works properly; otherwise, 68766338Seric there are race conditions. 68866338Seric Check mod time on .pag file instead of .dir in NDBM aliases 68966338Seric because the .dir file doesn't get updated for small 69066338Seric alias files. From John Gardiner Myers of CMU. 69166338Seric More Solaris portability -- it now compiles on Solaris, but 69266338Seric hangs up in gethostbyname(). 69366338Seric Move setting of RES_DEBUG flag before first myhostname() call 69466338Seric so we can see name server traffic on that call. 69566338Seric Fsync() queue files. 69666338Seric Fix a problem that causes -bi to try to rebuild maps other than 69766338Seric the alias file(s). 69866338Seric Fix a problem that caused udb to reject entries from any but 69966338Seric the first database listed. 70066338Seric Rearrange doc subdirectory for 4.4BSD release tape. 70166338Seric CONFIG: put $r into the Received line. This was an oversight. 70266338Seric CONFIG: fix typo (call to ruleset 99 should have been rulset 90). 70366338Seric CONFIG: move "auxiliary" subroutines to be in ruleset 90-99 70466338Seric range -- in the long run, single digit rulesets may 70566338Seric become reserved for builtin use by sendmail. 70666338Seric CONFIG: fix major problem that causes host aliases (that is, 70766338Seric anything in $=w != $j) to not be recognized. This has 70866338Seric been around since 6.30. 70966338Seric 71066338Seric6.62/6.31 93/05/28 71166338Seric BETA RELEASE 71266338Seric Fix recursive syserr (if there is an error printing a syserr 71366338Seric message). This makes the code much less eager to consider 71466338Seric a write error as serious. This also includes some 71566338Seric heuristics to be clever about closed connections. 71666338Seric Lock NEWDB files during gets. This requires version 1.5 or later 71766338Seric of the db library. If you have an older version, you 71866338Seric can use -DOLD_NEWDB. This will go away in a few weeks. 71966338Seric Fix problem causing aliases that use host maps to get overwritten. 72066338Seric Do appropriate byte swapping on port numbers in ident protocol 72166338Seric code. Fix from Allan Johannesen of WPI. 72266338Seric Defer opening of map files to the same time as alias files so that 72366338Seric the daemon will tend to pick up new versions more promptly. 72466338Seric Prototype a bunch more functions. 72566338Seric Some Solaris 2.1 changes (still doesn't link though). 72666338Seric Try to simplify Makefiles by including more subordinate #defines 72766338Seric in conf.h (based on OS type). 72866338Seric CONFIG: check for domains if FEATURE(mailertable) is defined. 72966338Seric For example, if the host name is "knecht.cs.berkeley.edu" 73066338Seric it will search the following mailertable keys: 73166338Seric knecht.cs.berkeley.edu 73266338Seric .cs.berkeley.edu 73366338Seric .berkeley.edu 73466338Seric .edu 73566338Seric This could be used to replace the special relays for bitnet 73666338Seric and similar nets. 73766338Seric 73866338Seric6.61/6.30 93/05/24 73966338Seric Fix problem that prevented appending dots on canonified host 74066338Seric names. This breaks tons of config files -- very 74166338Seric important fix. 74266338Seric Fix improper pointer dereference in response to HELO command. 74366338Seric Fix core dump if debugging set in map_rewrite. 74466338Seric CONFIG: add FEATURE(always_add_domain) to always attach the 74566338Seric local domain (only impacts local mail). 74666338Seric CONFIG: try to avoid turning names into $j -- although 74766338Seric technically a host can only have one "canonical name", 74866338Seric it seems to be common practice to have several. 74966338Seric 75066338Seric6.60/6.29 93/05/22 75166338Seric Major change: merge alias databases with maps. This expands and 75266338Seric changes the map class interface but fixes a bunch of bugs. 75366338Seric The important user-visible change is that the file name 75466338Seric in a K line now does not include the ".db" extension; this 75566338Seric is added automatically. Also, the -d (NIS domain) flag is 75666338Seric missing from the K config line; use @domain instead. 75766338Seric When compiling, the *_MAP names are gone -- just compile 75866338Seric in NDBM, NEWDB, and/or NIS support. 75966338Seric Announce mailer/host/user triple on -bv flag -- from Brian 76066338Seric Bullen of Stirling University. 76166338Seric Don't send more than one line in response to HELO -- it confuses 76266338Seric Pony Express, which then behaves very badly. However, 76366338Seric this change does send two line 220 greetings, with the 76466338Seric second line reading "ESMTP spoken here". The usersmtp 76566338Seric module recognizes this and goes into ESMTP mode regardless 76666338Seric of the setting of the "a" mailer flag. Thus, "a" means 76766338Seric "always try EHLO". 76866338Seric AIX portability changes (thanks to Christophe Wolfhugel of 76966338Seric Herve Schauer Consultants (Paris) for providing me with 77066338Seric an INSA account for this purpose). Lightly tested. Use 77166338Seric -D_AIX3. This probably breaks compatibility with some 77266338Seric older systems (e.g., 4.2bsd) but still works on SunOS 77366338Seric 4.1.2, Ultrix 4.2A, HP-UX 8.07, OSF/1 T1.3, and AIX 3.2.3. 77466338Seric Fix a problem causing an error message loop if the output channel 77566338Seric is hosed. 77666338Seric Add the Makefiles that I use for various environments -- some are 77766338Seric Berkeley make versions and some are old make versions. 77866338Seric My makefile for the NeXT box has gotten lost, alas! 77966338Seric PRALIASES: support for printing NEWDB databases. From 78066338Seric Michael J. Corrigan of U.C. San Diego. 78166338Seric CONFIG: don't pass pseudo-domains to $[ ... $] (if you have 78266338Seric a wildcard MX it can have wierd results). From 78366338Seric Christophe Wolfhugel. 78466338Seric CONFIG: dot terminate relay hostnames in S0. From Christophe 78566338Seric Wolfhugel. 78666338Seric 78766338Seric6.59/6.28 93/05/13 78866338Seric Log version with SMTP daemon startup message. 78966338Seric Adjust setproctitle to work on NetBSD and BSD/386. 79066338Seric Fix null pointer reference in MX fallback code. 79166338Seric A bunch of minor fixes from Eric Wassenaar: 79266338Seric If deliver cannot execv the mailer, return EX_OSERR 79366338Seric instead of EX_TEMPFAIL (to give better 79466338Seric error messages). 79566338Seric Consistently malloc e_message. 79666338Seric Catch degenerate case of calling returntosender() 79766338Seric with an empty returnq. 79866338Seric MIME reformatting. 79966338Seric 80066338Seric6.58/6.28 93/05/13 80166338Seric Fix bug that can cause incorrect verbose display of user smtp 80266338Seric messages. 80366338Seric Disable SMTP VERB command if PRIV_NOEXPN is set (since this 80466338Seric could reveal the same information. 80566338Seric Allow failure when reading SMTP greeting message to go on to 80666338Seric next MX host. 80766338Seric Add "MIME-Version: 1.0" header if using MIME (this was NOT 80866338Seric included in RFC 1344, but Bill King of Allan-Bradley 80966338Seric Company forwarded me email from Nathaniel Borenstein 81066338Seric claiming that it was an inadvertent omission). 81166338Seric Don't use Content-Type: X-message-header. According to John 81266338Seric Myers of CMU, many MIME readers will completely ignore 81366338Seric the data if they don't recognize it. Instead, just 81466338Seric add a blank line to make it a legal (empty) message. 81566338Seric Fix problem causing dots to keep getting appended to cached 81666338Seric hostnames. This can cause buffer overrun conditions. 81766338Seric The problem was found by Erik Forsberg of Retix, 81866338Seric although I used a different bug fix than he provided. 81966338Seric Fix parsing of split header/envelope rewriting specs -- from 82066338Seric Eric Forsberg. 82166338Seric Fix from Eric Wassenaar to correct To: lists in error messages. 82266338Seric 82366338Seric6.57/6.28 93/05/11 82466338Seric Fix minor glitch causing extra ctladdrs to be output to queue 82566338Seric file. Just an annoyance. 82666338Seric Cache results of name server canonification lookups to avoid 82766338Seric backed up queue runs. 82866338Seric Major rewrite of alias.c: considerable cleanup, plus sample 82966338Seric (untested) support for NIS aliases. The "A" option 83066338Seric can now be a comma separated list (or be repeated) -- 83166338Seric that is, you can have multiple alias databases. Each 83266338Seric database can have the syntax ``class:file''; if no class 83366338Seric is specified, the "implicit" class is assumed. Implicit 83466338Seric searches through a list of compiled in types -- hash, 83566338Seric dbm, nis, and stab. Alias files are searched in the 83666338Seric order they are listed. For example: 83766338Seric OAhash:/etc/aliases.local,/etc/aliases 83866338Seric OAnis:mail.aliases@my.nis.domain 83966338Seric first searches the hash database /etc/aliases.local, 84066338Seric then the regular /etc/aliases database, then the NIS 84166338Seric map "mail.aliases" in the NIS domain "my.nis.domain". 84266338Seric If in Verbose mode (probably from VERB command) run SMTP job 84366338Seric in foreground and don't do RCPT optimizations. 84466338Seric Add udb :mailsender as equivalent to owner- for regular aliases. 84566338Seric Delete option 8; add option 7 that means the opposite. That is, 84666338Seric default to 8-bit mode; a special option is needed to 84766338Seric force sendmail into 7 bit mode. 84866338Seric Send error messages in encapsulated MIME format. 84966338Seric New compile flag "NIS" that turns on NIS alias and NIS map 85066338Seric support. 85166338Seric Add "j" option to send error messages in MIME (RFC 1341) 85266338Seric encapsulated message format per RFC 1344. The 85366338Seric syntax is pretty ugly if you don't have MIME-aware 85466338Seric user agents. 85566338Seric Clean up message handling (for display in mailq output). 85666338Seric New setproctitle implementation for 4.4bsd. 85766338Seric Create files (such as ~/dead.letter) using mode FileMode (the 85866338Seric F option value) instead of 0666. 85966338Seric Fix bug causing output of EXPN command to not be fully qualified. 86066338Seric This may cause some problems with UUCP addresses that 86166338Seric will require some config file assistance -- specifically, 86266338Seric the $: part has to include the host name for this output 86366338Seric to make sense. 86466338Seric Fix a problem that sometimes diagnosed errors and still sent the 86566338Seric message if the header syntax was bad. 86666338Seric Fix a bug that caused an error message to be emailed when sendmail 86766338Seric was operating in -bv mode. 86866338Seric Add "ListenQueueSize" keyword to daemon options option (OO) to 86966338Seric set the queue size parameter passed to listen(). You 87066338Seric will normally have to tweak your kernel to up this. 87166338Seric Strip spaces off of beginning of message-id before logging (in 87266338Seric case it was folded across lines). 87366338Seric Tweak compile flags in daemon.c -- there were some cases where 87466338Seric it wouldn't work without NETINET. 87566338Seric Change *file* mailer to output all the usual default headers 87666338Seric (From, Date, Message-Id). It gets used when sending 87766338Seric back error messages. 87866338Seric CONFIG: explicitly catch and diagnose list:; syntax in ruleset 87966338Seric zero -- this is not a valid recipient syntax according 88066338Seric to RFC 821. 88166338Seric CONFIG: add confMIME_FORMAT_ERRORS to send error messages in 88266338Seric MIME format. Defaults to on. 88366338Seric CONFIG: add SMTP_MAILER_FLAGS and UUCP_MAILER_FLAGS to augment 88466338Seric the flags for those mailers. 88566338Seric 88666338Seric6.56/6.27 93/05/01 88766338Seric Fix problem that causes the fallback mail to postmaster 88866338Seric (case ESM_POSTMASTER in savemail()) to not look at 88966338Seric aliases (ugh). 89066338Seric Some more HPUX tweaking (compile flag hpux => __hpux so it 89166338Seric still works in ANSI mode). 89266338Seric Don't try to flock non-regular files when mailing to a file. 89366338Seric In particular, this was a problem if you tried to 89466338Seric send to /dev/null. 89566338Seric Fix a wierd bug that can cause senders to be queued as 89666338Seric recipients if the name server is down when the mail 89766338Seric is initially sent. This hack just ignores sender 89866338Seric deletion (essentially, it sets the MeToo flag) if there 89966338Seric is a TEMPFAIL during processing of the sender address. 90066338Seric Obscure. 90166338Seric Fix a dangling else problem -- from Brian Bullen from University 90266338Seric of Stirling, UK. 90366338Seric Add the "b" mailer flag to force a blank line on the end of 90466338Seric messages. Some brilliant versions of /bin/mail insist 90566338Seric on this but do not add it themselves. 90666338Seric Add the "g" mailer flag to prevent user SMTP from sending 90766338Seric "MAIL From:<>". This is only intended to be a 90866338Seric transitional gesture, and should not be used if at 90966338Seric all possible. It appears that Berkeley and IDA 91066338Seric config files have always handled this properly; the 91166338Seric UK config kit apparently does not. 91266338Seric Don't lowercase and then capitalize header field names -- leave 91366338Seric them with original capitalization. Fixes from Bill 91466338Seric King of Allen-Bradley Company. 91566338Seric Further cleanup and improved reporting of error messages, 91666338Seric particularly conditions that cause messages to be 91766338Seric requeued for future delivery. 91866338Seric Tweak syslog priorities in some cases. 91966338Seric CONFIG: clean up route-addr on UUCP addresses. 92066338Seric 92166338Seric6.55/6.25 93/04/27 92266338Seric HPUX 8.07 compatibility changes in getla() -- I had to make 92366338Seric these changes to get it to work at Berkeley, although 92466338Seric others seem to have been working before (???). 92566338Seric Various patches to XLA code. 92666338Seric Fix problem that causes setuid bit on files to be ignored from 92766338Seric SMTP or in queue runs. Problem noted by Jason Ornstein 92866338Seric of Under The Wire, Inc. 92966338Seric Fix problem that can cause CNAMEs to be ignored. 93066338Seric Generalize getmxrr to match local host in $=w instead of a 93166338Seric single name passed in. 93266338Seric Some cleanup from Eric Wassenaar: 93366338Seric Use FileMailer instead of ProgMailer in two places. 93466338Seric Eliminate duplicate 8th-bit stripping in commaize. 93566338Seric Fix a problem with mis-parsing of backslash escapes 93666338Seric under some circumstances. 93766338Seric NIS map fix (was always including trailing null character) 93866338Seric from Mike Glendinning of Ingres UK. 93966338Seric Add "a" mailer flag to try using ESMTP. It tries the EHLO 94066338Seric command and if that fails falls back to regular SMTP. 94166338Seric Also parses EHLO option keywords. If host supports 94266338Seric SIZE extension, this is added to the MAIL FROM: 94366338Seric command. 94466338Seric Extend "b" option to include a second value which is the 94566338Seric maximum message size this server is willing to accept. 94666338Seric For example, a value of "10/1000000" says that there 94766338Seric must be ten blocks free, and sendmail will reject 94866338Seric any message larger than one megabyte. 94966338Seric Some portability hooks for NeXT (this could be applicable 95066338Seric to Mach in general). You have to create an empty 95166338Seric file called "unistd.h" to get it to compile. 95266338Seric Adjust config values (MAXLINE, MAXATOM, and PSBUFSIZE) to 95366338Seric be more generous. 95466338Seric Add X400-Received: to the list of headers tagged with H_TRACE 95566338Seric in conf.c. From Bill King, Allen-Bradley Co. 95666338Seric 95766338Seric6.54/6.25 93/04/19 95866338Seric Fix problem that caused redefinition of SMTP and QUEUE compile 95966338Seric flags. Pointed out by Jon Forrest of the Sequoia 2000 96066338Seric project at Berkeley. 96166338Seric Properly handle \! hack -- it was treating host\!user as one 96266338Seric token (host!user) instead of three (host, !, user). 96366338Seric Fix from Eric Wassenaar of NIKHEF-H. 96466338Seric Fix compilation problem in getauthinfo() if IDENTPROTO is off. 96566338Seric Turn off DEFNAMES and DNSRCH when getting the hostsignature 96666338Seric (i.e., MX records) in level 1 configuration files; this 96766338Seric matches the old behaviour. From Motonori Nakamura of 96866338Seric Kyoto University. 96966338Seric Improve error message printing -- if sent through an alias, 97066338Seric error messages include the name of the alias in the 97166338Seric message. Unfortunately, in order to make this work 97266338Seric properly in queue runs, this changes the format of the 97366338Seric C line in the qf file. The relatively uselessness of 97466338Seric the previous information was pointed out to me by 97566338Seric Allan E Johannesen of WPI. 97666338Seric Add XLA compile flag to add hooks to Christophe Wolfhugel's 97766338Seric extended load average code. This is still in very early 97866338Seric form. For information regarding the guts of the xla 97966338Seric code, contact Christophe.Wolfhugel@grasp.insa-lyon.fr. 98066338Seric Additional hooks for detecting tempfails in rewriting rules 98166338Seric (that is, in map lookups). 98266338Seric 98366338Seric6.53/6.25 93/04/15 98466338Seric Properly diagnose ruleset zero returning null (instead of a mailer 98566338Seric triple). From Motonori Nakamura of Kyoto University. 98666338Seric More generalization of socket code for other protocols. 98766338Seric Shorten timeouts on reverse name lookups -- since they are done 98866338Seric during connection establishment, long timeouts here can 98966338Seric cause higher level timeouts. This mainly serves to accept 99066338Seric mail from hosts that do not have proper reverse (PTR) DNS 99166338Seric records set up. 99266338Seric Reset e_statmsg before each mailer invocation to avoid bogus 99366338Seric messages in the log. 99466338Seric Redefine $r, $s, and $_ in error envelopes so you don't get 99566338Seric incorrect cruft in the error message. Problem noted by 99666338Seric Motonori Nakamura of Kyoto University. 99766338Seric Fix a problem that can cause failure to return errors to Postmaster 99866338Seric in certain cases. From Motonori Nakamura. 99966338Seric Fix a problem that can cause some systems to give duplicate error 100066338Seric messages when a bad syntax address such as "<a" is presented 100166338Seric to an SMTP server. It doesn't seem to occur on all 100266338Seric machines. From Motonori Nakamura. 100366338Seric Default IDENTPROTO off for Ultrix and HPUX, which apparently have 100466338Seric the interesting "feature" that when they receive a "Host 100566338Seric unreachable" message they closes all open connections to 100666338Seric that host. However, some firewall gateways send this message 100766338Seric if you try to connect to an unauthorized port, such as the 100866338Seric IDENT port (113). Thus, no email can be received from such 100966338Seric hosts. There is some evidence that versions of Ultrix before 101066338Seric 4.3 do not have this problem. Thanks to Tom Ivar Helbekkmo 101166338Seric for pointing out this behaviour to me and to Michael Corrigan 101266338Seric of U.C. San Diego for informing me about the HPUX problem. 101366338Seric Allow IPC mailers to return a colon-separated list of hosts in the 101466338Seric $@ clause; these are searched in order as though they were 101566338Seric MX records. 101666338Seric When sending an error report, print the list of addresses tagged 101766338Seric as bad. Requested by Allan E Johannesen of WPI. 101866338Seric Change map function calls to return a status code. This gets 101966338Seric passed back as the result of rewrite. Parseaddr marks 102066338Seric the address as a QUEUEUP address if the return code is 102166338Seric EX_TEMPFAIL. All this to queue properly if the name 102266338Seric server is down. This code is not well tested. This code 102366338Seric changes the interface to map lookup functions (a fifth 102466338Seric parameter, int *statp, is added). Feature requested by 102566338Seric Dan Oscarsson. 102666338Seric Don't delete quotes (in the dequote map) if there are spaces in 102766338Seric the string, since this would cause them to be replaced by 102866338Seric the SpaceSub character. 102966338Seric Accept BODY=8BITMIME on SMTP MAIL command. This isn't advertised 103066338Seric because the 8BIT to 7BIT translation doesn't exist yet. 103166338Seric This does add a "bodytype" field to both envelope and 103266338Seric queue file and a -B command line flag to pass the type in 103366338Seric during direct invocations. 103466338Seric Discard return error messages only on responses to responses to 103566338Seric responses, not on responses to responses. That is, the 103666338Seric algorithm is to try return to sender, then return to 103766338Seric postmaster, then discard. Previously it discarded 103866338Seric immediately if the return to sender pass failed. 103966338Seric CONFIG: back out change to hide unqualified hostnames behind %-hack. 104066338Seric This screws up local aliases and .forward files. 104166338Seric CONFIG: add FEATURE(nocanonify) to turn off calls to $[ ... $]; 104266338Seric some sites only handle completely canonified names. 104366338Seric Requested by John Gardiner Myers of CMU. 104466338Seric CONFIG: some UUCP code was still included even if FEATURE(nouucp) 104566338Seric was specified. 104666338Seric 104766338Seric6.52/6.24 93/04/10 104866338Seric Clean up some minor glitches on error return messages pointed out 104966338Seric by Motonori Nakamura of Kyoto University. 105066338Seric Fix reply() to not reset SmtpReplyBuffer on fatal errors; this 105166338Seric was supposed to reset SmtpMsg Buffer. This makes the 105266338Seric client side code virtually useless. Reported by Allan 105366338Seric E Johannesen of WPI and Phil Brandenberger of Swarthmore. 105466338Seric Better debug messages if fuzzy is disabled, suggested by Allan 105566338Seric E Johannesen of WPI. 105666338Seric Offset SmtpReplyBuffer by four in usersmtp when checking for 105766338Seric loopback. From Eric Wassenaar. 105866338Seric Don't set $s until after runinchild in srvrsmtp -- otherwise 105966338Seric it gets cleared. From Eric Wassenaar. 106066338Seric Implement IDA-style $&x for deferred macro expansion. 106166338Seric More POSIX compatibility. 106266338Seric CONFIG: Hide unqualified hostnames behind %-hack using $s as the 106366338Seric actual sender. This is only done if $r is non-null, that 106466338Seric is, if this is not locally submitted mail. 106566338Seric CONFIG: Add FEATURE(bitdomain) allowing mapping of BITNET host 106666338Seric names to internet domains. A program contributed by 106766338Seric John Gardiner Myers of CMU to create the maps is included 106866338Seric in the contrib directory (in the "misc" tar file). 106966338Seric CONFIG: Add FEATURE(uucpdomain) for a similar mapping for UUCP 107066338Seric hosts. There is currently no tool to create this map. 107166338Seric 107266338Seric6.51/6.23 93/04/04 107366338Seric Add D= mailer flag to specify a path of possible working directories 107466338Seric in which to execute the mailer. This is intended for the 107566338Seric prog mailer; some shells can get upset if they don't have 107666338Seric access to the current directory. 107766338Seric Add RFC 1413 (IDENT) protocol support. This is only very loosely 107866338Seric tested. This adds a $_ macro to be the authenticated 107966338Seric info (in ``user@domain [address]'' form) and debug flag 108066338Seric 9 to trace the protocol. 108166338Seric Check for loopbacks in usersmtp instead of srvrsmtp -- there is no 108266338Seric reason for a local agent to not be talking to the localhost 108366338Seric (although the inverse is not true). 108466338Seric Add a few hooks for automated map rebuilding. This is certainly 108566338Seric not done yet. 108666338Seric CONFIG: Have prog mailer specify a path of ``D=$z:/'' -- that is, 108766338Seric user's home directory then the root. 108866338Seric CONFIG: Log RFC 1413 identification in Received: line. 108966338Seric 109066338Seric6.50/6.22 93/04/01 109166338Seric Fixes to requeueing code to make it compute priority, nrcpts, 109266338Seric and the like properly. 109366338Seric 109466338Seric6.49/6.22 93/04/01 109566338Seric Diagnose incorrect privacy flags. Suggested by Bryan Costales 109666338Seric of ICSI. 109766338Seric Some ANSI C fixes. 109866338Seric Arrange to quote backslashes as well as other special characters 109966338Seric in the phrase part of a route-addr. 110066338Seric Some fixes to FallBackMX code suggested by Motonori Nakamura of 110166338Seric Kyoto University. 110266338Seric More vigorous zeroing of CurHostAddr to avoid logging of bogus 110366338Seric host addresses when you are actually just printing 110466338Seric information from the MCI structure; problem noted by 110566338Seric Michael Corrigan of U.C. San Diego. 110666338Seric Don't ignore rest of queue if any job is not runnable. This can 110766338Seric also cause an incorrect job to be lost. Fix from 110866338Seric Eric Wassenaar. 110966338Seric Always respond "quickly" to RCPT command; do alias expansion and 111066338Seric the like later. This also means that mail for lists that 111166338Seric have errors will be acccepted, and an error sent back 111266338Seric later. This is done by instantiating the queue file 111366338Seric and then immediately running and requeueing it. 111466338Seric 111566338Seric6.48/6.22 93/03/30 111666338Seric Fix incorrect diagnosis of infinite loop in ruleset. Problem noted 111766338Seric by several people. 111866338Seric Improve information printed when infinite loops are discovered. 111966338Seric Zero CurHostAddr to fix erroneous internet addresses in log when no 112066338Seric addresses can be bound. Pointed out by Motonori Nakamura 112166338Seric of Kyoto University. 112266338Seric "Probe" SMTP connections using RSET instead of NOOP "just in case". 112366338Seric Suggested by John Gardiner Myers of CMU. 112466338Seric Don't warn about -f if you are setting sender to yourself. 112566338Seric 112666338Seric6.47/6.22 93/03/29 112766338Seric Fix incompatible call to endmailer in smtpquit which causes core 112866338Seric dumps. Noted by Allan E Johannesen of WPI. 112966338Seric HPUX portability changes from Michael J. Corrigan of UC San Diego. 113066338Seric Require MAIL before RCPT command in srvrsmtp.c. This had been 113166338Seric intentional from the 821 draft days when the order wasn't 113266338Seric clear, but is silly now. 113366338Seric Fix bug in nis_magic routine that was initializing parameters 113466338Seric incorrectly. Fix from Takahiro Kanbe of Fuji Xerox 113566338Seric Information Systems Co., Ltd. 113666338Seric Change default for PrivacyFlags in conf.c to 0 -- since it always 113766338Seric "or"s in new values, there was no way to turn off the 113866338Seric AuthWarning stuff. 113966338Seric Add O option to set SMTP daemon options. 114066338Seric Add V option to set fallback MX host. This always sorts at lower 114166338Seric priority than anything it gets from the name server. It 114266338Seric should only be used for environments with very bad network 114366338Seric connectivity. Requested by several people. 114466338Seric Log sending info. It's not clear this is a good idea. 114566338Seric CONFIG: fix typo in mailertable code. Noted by Phil Brandenberger 114666338Seric of Swarthmore. 114766338Seric CONFIG: add confDAEMON_OPTIONS and confFALLBACK_MX to set options 114866338Seric O and V, respectively. 114966338Seric 115066338Seric6.46/6.21 93/03/26 115166338Seric Fix botch in server SMTP that broke transactions that did not 115266338Seric use HELO first (like MH). Fix from Michael Corrigan 115366338Seric of U.C. San Diego. 115466338Seric Fall back to other MX records if there is an error anywhere 115566338Seric in delivery (actually on MAIL or DATA -- RCPT is harder). 115666338Seric Suggested by John Gardiner Myers and Motonori Nakamura. 115766338Seric Revert to non-prototypes -- it turns out that our ANSI C 115866338Seric compiler is more forgiving than most others about 115966338Seric mixing prototyped extern declarations with non-prototyped 116066338Seric function definitions. 116166338Seric Fix a problem with multi-word class matching pointed out by 116266338Seric Neil Rickert. Given: 116366338Seric CX b a.b.c 116466338Seric R$+ $=X $+ $: $1 < $2 > $3 116566338Seric the input "user@a.b.c" failed instead of being properly 116666338Seric rewritten as "user@a.<b>.c". 116766338Seric Neil also convinced me that it was correct that $~ should match 116866338Seric only one token -- the problem is that it's always possible 116966338Seric to add another token, so $~ matches far too eagerly. 117066338Seric 117166338Seric6.45/6.21 93/03/25 117266338Seric Implement multi-word classes (properly!). 117366338Seric 117466338Seric6.44/6.21 93/03/25 117566338Seric Add X-Authentication-Warning: headers to clue users into possible 117666338Seric attempts to forge mail. This is on the authwarnings 117766338Seric privacy flag, but is the default. Suggested by Bryan 117866338Seric Costales of ICSI. 117966338Seric Pass default units for convtime in so they can be more reasonable. 118066338Seric Allow config files to always add a new Comments: header (i.e., 118166338Seric they will be added even if an old one already exists). 118266338Seric Suggested by Bryan Costales of ICSI. 118366338Seric Allow config files to delete an existing Return-Path: header. 118466338Seric These should only be added at final delivery. Suggested 118566338Seric by Bryan Costales of ICSI. 118666338Seric Some debugging additions. Suggested by Bryan Costales of ICSI. 118766338Seric Clean up logging of Family 0 addresses. Noted by David Muir 118866338Seric Sharnoff and others. 118966338Seric Add a "dequote" map class. This allows config files to strip 119066338Seric quotes off of addresses. Note that this is not a builtin 119166338Seric map, just a class -- so you have to define the map 119266338Seric using the K line. 119366338Seric Fix a bug in the queueup() loop getting a locked tf where in 119466338Seric very odd cases it can fall off the bottom and core dump. 119566338Seric Of course, it was P{r Emanuelsson who found it.... 119666338Seric Open a new transcript when splitting an envelope. Problem found 119766338Seric by Allan E Johannesen of WPI. 119866338Seric Improved error output in endmailer if the mailer core dumps. 119966338Seric CONFIG: Fix typo in UUCP mailer definition. 120066338Seric CONFIG: Default several of the new options on: eight bit input, 120166338Seric privacy flags set to "authwarnings", and message warning 120266338Seric set to 4h. 120366338Seric CONFIG: Use dequote map. 120466338Seric 120566338Seric6.43/6.20 93/03/23 120666338Seric Fix problem with assumption of an sa_len field in a generic 120766338Seric sockaddr -- it turns out that most vendors haven't 120866338Seric picked up this (very important) fix. 120966338Seric Change compilation flags for daemon code -- select one or both 121066338Seric of NETINET or NETISO, but don't ever set DAEMON manually. 121166338Seric CONFIG: add FEATURE(mailertable) to do IDA-style mailertables. 121266338Seric 121366338Seric6.42/6.19 93/03/19 121466338Seric Use Postmaster as default fallback return address, not root. 121566338Seric POSIX changes for file descriptor handling. 121666338Seric Diagnose errors writing new queue file. 121766338Seric If you change the owner using an owner- alias, also change the 121866338Seric error mode to EM_MAIL so that errors don't get dropped 121966338Seric into an inappropriate directory. Problem noted by 122066338Seric Allan E Johannesen of WPI. 122166338Seric If you are su'ed to root, send email as who you really are, not 122266338Seric as root. From Brian Kantor of U.C. San Diego. 122366338Seric Allow warning messages to be sent after a configurable interval 122466338Seric has passed without delivery. The message is sent only 122566338Seric once per envelope. This changes the format of the qf 122666338Seric file to have an F line, and the format of the T option 122766338Seric to accept take the format "return/warn" (both intervals). 122866338Seric Don't force all local names to lower case -- this was left over 122966338Seric from the wierd handling of case mapping on aliases. It 123066338Seric is now driven (as expected) by the "u" mailer flag. 123166338Seric Problem noted by P{r Emanuelsson. 123266338Seric Fix problem that caused headers on returned email to be trashed; 123366338Seric they were getting freed, but are still accessible via 123466338Seric BlankEnvelope. 123566338Seric Fix problem that caused bogus ids to be created on returned 123666338Seric mail. 123766338Seric Add support for ISO and other non-INET networking. This is by 123866338Seric no means finished yet. This does assume a lot of other 123966338Seric system support, like a version of gethostbyname that 124066338Seric returns non-AF_INET addresses. 124166338Seric CONFIG: change default on prog mailer to keep upper case in 124266338Seric user names (i.e., in the program command line). 124366338Seric CONFIG: strip trailing dots off of hosts in uucp mailer before 124466338Seric convert to bang format. 124566338Seric CONFIG: create new "relay" mailer for $R (LOCAL_RELAY) and $H 124666338Seric (MAIL_HUB) delivery that doesn't add local domain. Note 124766338Seric that this violates 821, but is probably "more correct" 124866338Seric for what we are trying to do. Problem pointed out by 124966338Seric Michael Graff of Iowa State. 125066338Seric 125166338Seric6.41/6.18 93/03/18 125266338Seric Clean up unnecessary creates of queue ids (i.e., empty qf files) 125366338Seric when not needed, such as when starting up an SMTP 125466338Seric connection. 125566338Seric Fix problem where split envelopes aren't instantiated in the queue. 125666338Seric This is quite a serious bug. 125766338Seric Owner- aliases had problems with leading spaces causing a 125866338Seric premature delimitation. 125966338Seric 126066338Seric6.40/6.18 93/03/18 126166338Seric Have ending 250 (after DATA) include the id; suggested by 126266338Seric Brian Kantor of UC San Diego. 126366338Seric Add logging on envelope splitting. 126466338Seric Change queue ids to have one more letter encoding the hour of 126566338Seric the day so that during a single day there is a greater 126666338Seric likelihood of uniqueness; requested by Brian Kantor. 126766338Seric 126866338Seric6.39/6.18 93/03/18 126966338Seric Fix minor compile problem if LOCKF is defined. 127066338Seric Define size of tobuf in conf.h. Observed by Toshinari Takahashi 127166338Seric of Toshiba. 127266338Seric Restore e_sender -- this is equivalent to e_from.q_paddr without 127366338Seric decorations such as angle brackets and comments. 127466338Seric OSF/1 on Alpha changes from Allan E Johannesen of WPI. 127566338Seric CONFIG: fix typo in S3 for list syntax (;: => :;). Thanks to 127666338Seric Christopher Hoover for noting the problem. 127766338Seric 127866338Seric6.38/6.17 93/03/17 127966338Seric Pass envelope to disconnect to avoid another use of CurEnv, which 128066338Seric can apparently end up being null at inopportune times. 128166338Seric Log "received from" as "relay=" for consistency (suggested by 128266338Seric John Gardiner Myers). 128366338Seric Fix major bug in header handling: if no From: line existed in 128466338Seric the header (so sendmail inserts one), and the sender is 128566338Seric an alias that has an owner, the From: line shows the 128666338Seric owner (as well as the envelope). Fixed by early binding 128766338Seric the headers (which will change debugging output). 128866338Seric HPUX portability patches from Michael J. Corrigan of UC San Diego. 128966338Seric Some attempts to adapt better to out of open file conditions. 129066338Seric Some changes to ctladdr handling in queue files. 129166338Seric 129266338Seric6.37/6.17 93/03/16 129366338Seric MAJOR CHANGE: delete e_sender and e_returnpath (why are these 129466338Seric different from e_from?) and $< macro. 129566338Seric Log correct IP address in relay= field even if the connection 129666338Seric times out. 129766338Seric Log "received from [RESPONSE]" on EF_RESPONSE messages (from 129866338Seric John Gardiner Myers). 129966338Seric Fixes to SysExMsg logging (sometimes just got "message: %s" 130066338Seric instead of "message: error message"), noted by Eric 130166338Seric Wassenaar. Also reported by Motonori Nakamura. 130266338Seric Improvements to MX piggybacking code, from Motonori Nakamura. 130366338Seric Fix case where CurHostName points to an auto variable that has 130466338Seric been deallocated (from Motonori Nakamura). 130566338Seric Fix bug causing newlines to be included in aliases if option 130666338Seric "n" (check alias RHS) is set; bug noted by David Muir 130766338Seric Sharnoff. 130866338Seric Fix problem causing user names that should be mapped to lower 130966338Seric case to not be mapped if they are sent during a queue 131066338Seric run. This greatly simplifies the case mapping code. 131166338Seric Problem noted by Allan E Johannesen of WPI. 131266338Seric Don't do recipient address rewriting in buildaddr. This 131366338Seric improperly did recipient rewriting on sender addresses, 131466338Seric and just seems bogus in general -- but the change could 131566338Seric break some .cf files. 131666338Seric Pass TZ envariable to child processes for System V. 131766338Seric CONFIG: allow LOCAL_RULE_1 and LOCAL_RULE_2 if you want to 131866338Seric define those rulesets. 131966338Seric KNOWN PROBLEM: I have seen some problems on SunOS that causes 132066338Seric the User Data Base to give errors on some addresses. I 132166338Seric have tracked the problem back at least as far as 93.02.15 132266338Seric (version 6.22). Running with debugging on makes it 132366338Seric go away, so I conclude that it is referencing uninitialized 132466338Seric stack data. I haven't been able to track this down yet. 132566338Seric 132666338Seric6.36/6.16 93/03/08 132766338Seric Allow local mailer to specify $@host -- this lets you assign the 132866338Seric "foo" part of jgm+foo to $h for passing in to the local 132966338Seric mailer. 133066338Seric Additional debug printing in getcanonname (show query type). 133166338Seric Don't add the e_fromdomain on sender addresses -- this interacts 133266338Seric wierdly with the owner- code. 133366338Seric Improve delivery logging to not log obvious or meaningless stuff. 133466338Seric Include numeric IP address in Received: lines per RFC 1123 section 133566338Seric 5.2.8. 133666338Seric Fixed a bug in checking stat() return value if restrictmailq is 133766338Seric set. Also, check the entire group set instead of just the 133866338Seric primary group. Both from John Gardiner Myers. 133966338Seric Don't have usrerr automatically print errno, since this is often 134066338Seric misleading. 134166338Seric Use transienterror() in makeconnection after connect() fails and 134266338Seric in openmailer after execve() fails (from Eric Wassenaar). 134366338Seric Also moved transienterror() from util.c to conf.c. 134466338Seric Clean up from= logging on response messages. 134566338Seric Undo patch allowing prescan to return a null vector -- it breaks 134666338Seric too many things. 134766338Seric Config: FEATURE(notsticky) lets you use UDB for everything coming 134866338Seric in to the machine, even if it is specifically targetted 134966338Seric to this machine. Without it, UDB is bypassed if the user 135066338Seric name is fully qualified. 135166338Seric Config: fix another minor botch with <> (local mailer wasn't 135266338Seric mapping them properly). 135366338Seric 135466338Seric6.35/6.15 93/03/05 135566338Seric Fix getrealhostname to return null if sinlen <= 0 -- this can 135666338Seric occur if stdin is a pipe. 135766338Seric Avoid infinite loop in getcanonname if name server return 135866338Seric NO_DATA (for example). 135966338Seric Config: avoid having C flag qualify list syntax and error syntax. 136066338Seric 136166338Seric6.34/6.14 93/03/05 136266338Seric Fix logging in deliver to not pass too many parameters to Ultrix 136366338Seric versions of syslog. 136466338Seric Don't write the pid file until after the daemon has actually 136566338Seric opened and conditioned the connection. 136666338Seric Consider addresses "different" if their q_uids differ (so that 136766338Seric two users forwarding to the same program will be seen 136866338Seric as different, rather than the same). 136966338Seric Fix problem with bad parameters in main() -- they set ExitStat 137066338Seric but don't exit. 137166338Seric Fix null pointer references through RealHostName -- painfully 137266338Seric discovered by Allan E Johannesen of WPI. 137366338Seric Fix bug causing user@@localhost to core dump (yuch). 137466338Seric Config: don't put two @host.dom.ain on users in $=E in SMTP 137566338Seric mailer. Also, catch user@ (no host) in ruleset 0. 137666338Seric 137766338Seric6.33/6.13 93/03/03 137866338Seric Config: add confCW_FILE as the name of the cw configuration file 137966338Seric (defaults to /etc/sendmail.cw). From P{r Emanuelsson. 138066338Seric Allow prescan to return a pointer to an empty list -- this is 138166338Seric not an error. Also, clean up error reporting to avoid 138266338Seric double errors (prescan reports once, then the caller 138366338Seric reports again). 138466338Seric Changes to avoid trusting T_ANY queries -- run them, but if you 138566338Seric don't get the info you expected, do T_A and T_MX queries 138666338Seric anyhow. This also fixes an oversight where _res.options 138766338Seric bits were being ignored. 138866338Seric If PRIV_NOVRFY is set, use 252 response code instead of 502 per 138966338Seric RFC 1123 section 5.2.3. It's not 100% clear that this 139066338Seric is correct, but it probably works better with stupid 139166338Seric mailers that do a VRFY and only check the first digit. 139266338Seric 139366338Seric6.32/6.12 93/03/02 139466338Seric Fix uninitialized variable "protocol" in smtp code. 139566338Seric Include <unistd.h> in sendmail.h -- move towards POSIX/ANSI. 139666338Seric Additional hooks for RFC 1427 (ESMTP SIZE extension). This 139766338Seric includes requiring that enoughspace() know the system 139866338Seric block size, which will undoubtedly break most ports. 139966338Seric Trace flag 19 in use for srvrsmtp.c. 140066338Seric Additional logging -- notably the sending mailer name. This 140166338Seric also changes the delivery logging to strict field=value 140266338Seric syntax. 140366338Seric Fix some problems with messages getting sent even to addresses 140466338Seric that had been marked bad -- from Eric Wassenaar. 140566338Seric More WIDE changes: accept host name inside [...] as non-MXed 140666338Seric host. This is intended ONLY for use inside firewalled 140766338Seric environments, where the MX points at the gateway. 140866338Seric Change .cf file conventions so that mapping for <> addresses 140966338Seric don't have an @ in them (to avoid confusing the C mailer 141066338Seric flag). Pointed out by Neil Rickert. 141166338Seric Config extensions for Sam Leffler's FlexFAX software. 141266338Seric 141366338Seric6.31/6.10 93/02/28 141466338Seric Fix some more bugs in alias owner code -- there were some wierd 141566338Seric cases where an error in a non-aliased name would override 141666338Seric the return info in an aliased name with an owner. 141766338Seric Changes from WIDE Project, forwarded to me by Motonori Nakamura: 141866338Seric Log actual delivery host (after MX et al); from 141966338Seric yasuhiro@dcl.co.jp. 142066338Seric Log daemon startup. 142166338Seric Deliver Postmaster copies without a body. 142266338Seric Better logging of SMTP senders. 142366338Seric Send all program email as daemon even when local. 142466338Seric As requested in various forms from many people, accept -qIstring 142566338Seric to limit queue runs to jobs with queue-id matching string. 142666338Seric Similarly for -qRstring for recipients, -qSstring for 142766338Seric senders. 142866338Seric Initial hooks for ESMTP support (see RFC 1425). 142966338Seric Fixed a syntax error in the UUCP mailer specification that caused 143066338Seric core dumps on startup. 143166338Seric Check for missing A= or P= arguments in mailer definitions. 143266338Seric 143366338Seric6.30/6.10 93/02/27 143466338Seric Require FROZENCONFIG compilation flag to include frozen 143566338Seric configuration code. Frozen configuration is really 143666338Seric not a very good idea any more, particularly in shared 143766338Seric library environments. 143866338Seric Do better checking of errno after opens of :include: and .forward 143966338Seric files to defer delivery on network and other transient 144066338Seric errors. Suggestion from Craig Everhart. 144166338Seric Fix minor botch in read timeout macro processing. 144266338Seric Add FEATURE(nouucp) to config files for sites that know absolutely 144366338Seric nothing about UUCP. 144466338Seric Add built cf files to distribution tape and clarify how to build 144566338Seric them if you don't have the Berkeley make. 144666338Seric Some sizeof(long) portability changes for the Alpha, from Allan 144766338Seric E Johannesen. 144866338Seric Add "restrictmailq" privacy flag -- if set, only people in the same 144966338Seric group as your queue directory can print the queue. If you 145066338Seric set this, be sure you also restrict access to log files.... 145166338Seric Fix another bug in owner-list stuff that can cause data files to 145266338Seric be "lost". 145366338Seric Fix a bug with queue runs that cause forwards to yourself to go 145466338Seric into alias/forwarding loops. I'm still iffy about this 145566338Seric fix. 145666338Seric Fix from Eric Wassenaar for suppression of return message code. 145766338Seric 145866338Seric6.29/6.9 93/02/24 145966338Seric Fix yet another problem in alias owner code -- put the wrong return 146066338Seric address on the enclosed return-to-sender letter. 146166338Seric 146266338Seric6.28/6.9 93/02/24 146366338Seric Fix botch in alias owner code that caused it to not operate if the 146466338Seric error was detected locally. 146566338Seric 146666338Seric6.27/6.9 93/02/24 146766338Seric M_LOCAL => M_LOCALMAILER to avoid conflict with Ultrix include 146866338Seric file <sys/mount.h>. 146966338Seric Miscellaneous bug fixes from Eric Wassenaar: 147066338Seric sendmail -bv -t logs the from line even though in verify 147166338Seric mode only. 147266338Seric sendmail -v can go into queue mode if shouldqueue returns 147366338Seric TRUE. 147466338Seric Add route-addr pruning per RFC 1123 section 5.3.3. This can be 147566338Seric disabled using the "R" option. 147666338Seric Delete (always undocumented) -R flag (save original recipients); 147766338Seric there are ways to syslog(3) these now. 147866338Seric Clean up SMTP reply codes -- specify them as needed in the code, 147966338Seric instead of in conf.c -- this was needed during the NCP to 148066338Seric TCP transition, but seems silly now. This also changes 148166338Seric parameters to message and nmessage. 148266338Seric Have mailstats read the .cf file to find the sendmail.st file and 148366338Seric get text versions of mailer names. An initial version of 148466338Seric this code was provided by Tuominen Keijo (although the 148566338Seric comments indicate the good bits were written by "E.V."). 148666338Seric Add yet more System V compatibility hacks. 148766338Seric Fix bug in VRFY code (assumes everything must be a local user). 148866338Seric Allow specification of any of the hard-wired pathnames in the 148966338Seric Makefile. 149066338Seric Delete concept of "trusted users" -- this really didn't provide 149166338Seric any security anyway, and caused some problems. 149266338Seric Delete last vestige of support for the word "at" as an equivalent 149366338Seric to the character "@". 149466338Seric Propagate owner-foo alias information into the envelope sender. 149566338Seric Based on code from John Gardiner Myers. This is a major 149666338Seric semantic change -- beware! 149766338Seric Allow $@ on LHS to indicate "match zero" -- this is used to match 149866338Seric the null expression. 149966338Seric 150066338Seric6.26/6.8 93/02/21 150166338Seric Don't "lose" queue runs. Very important fix from (who else?) 150266338Seric Eric Wassenaar. 150366338Seric Completely reset state on RSET command -- from Eric Wassenaar. 150466338Seric Send error messages and return receipts using an envelope sender 150566338Seric of <> regardless of the setting of $n. Rewriting rules 150666338Seric can undo this if they feel the necessity, as might be 150766338Seric needed for networks that don't understand the syntax. 150866338Seric This is permitted by RFC 821 section 3.6 and required by 150966338Seric RFC 1123 section 5.3.3. THIS REQUIRES VERSION 4 CONFIG 151066338Seric FILES because the rulesets must be able to parse <> 151166338Seric properly. 151266338Seric Don't ever send error messages to "<>" -- they will get sent to 151366338Seric the local postmaster or dumped in /usr/tmp/dead.letter 151466338Seric instead. Per RFC 1123 section 5.3.3. 151566338Seric Explicitly check for email to yourself as a dotted quad. You 151666338Seric have to call $[ [ ... ] $] to get this. 151766338Seric Up the message timeout to five days per RFC 1123 section 5.3.1.1. 151866338Seric Make all read timeouts individually configurable, as strongly 151966338Seric recommended by RFC 1123 section 5.3.2. 152066338Seric Use f_bavail (blocks available to regular users) instead of f_bfree 152166338Seric (blocks available to superuser) in free block checks. 152266338Seric Change $d macro to be the current time, not the origination time, 152366338Seric since this is consistent with how it is used now. 152466338Seric Generalization of enoughspace from Eric Wassenaar covering 152566338Seric SGI, Apollo, HPUX, Ultrix, and SunOS. 152666338Seric Ignore process group signals -- some front ends can do this if 152766338Seric you kill a window too quickly. From Eric Wassenaar. 152866338Seric Change umask to 022. 152966338Seric 153066338Seric6.25/6.8 93/02/20 153166338Seric Close all cached connections before calling mailers and after 153266338Seric forking for delivery (caused double closes which resulted 153366338Seric in false errors). 153466338Seric Add FEATURE(redirect) in config files -- this allows you to alias 153566338Seric old addresses to a pointer to the new address that will 153666338Seric give a 551 error message, but not deliver the mail. 153766338Seric Some code changes to make the 551 errors look pretty. 153866338Seric Names of M4 program paths in config files have changed -- they 153966338Seric are all XXX_MAILER_PATH now, to match XXX_MAILER_FLAGS. 154066338Seric Fix a bug in the QSELFREF code having to do with empty .forward 154166338Seric files, reported by Eric Wassenaar. 154266338Seric Add option "p" (privacy flags); this allows you to tune how 154366338Seric picky the SMTP server will be. This also adds the 154466338Seric confPRIVACY_FLAGS M4 macro in the config files. 154566338Seric Add option "b" (minimum blocks free). If there are fewer than 154666338Seric this number of blocks free on the filesystem containing 154766338Seric the queue directory, the SMTP MAIL command will return 154866338Seric a 452 response and ask you to try again later. This 154966338Seric also adds the confMIN_FREE_BLOCKS M4 macro in the config 155066338Seric files. 155166338Seric Made VRFY just verify (doesn't expand aliases and .forward files); 155266338Seric EXPN does full expansion. RCPT in queue-only mode also 155366338Seric doesn't chase aliases and .forward. 155466338Seric 155566338Seric6.24/6.7 93/02/19 155666338Seric Increase the number of domain search entries in domain.c to allow 155766338Seric for the extra "" entry indicating the root domain. 155866338Seric Reported by Motonori Nakamura of Kyoto U. 155966338Seric Add a "SMART_HOST" in the configs for UUCP-connected sites that 156066338Seric want to forward all mail with extra "@"s to that site. 156166338Seric Also allows SMART_HOST, LOCAL_RELAY, and MAIL_HUB to 156266338Seric be specified as ``mailer:hostname'' to use an alternate 156366338Seric mailer. 156466338Seric Clarified and updated some wording in the Operations Guide. 156566338Seric Add the "c" mailer flag -- this suppresses all comment parts of 156666338Seric addresses (requested by John Curran of NEARnet). 156766338Seric Have -v print prompts in -bt mode even if stdin is not a terminal 156866338Seric (default behaviour is to be silent if not reading from 156966338Seric a terminal). Suggested by Bryan Costales, ICSI. 157066338Seric Move the metacharacters from C0 space (\001-\037) into C1 space 157166338Seric (\201-\237). This also fixes a bunch of potential bugs 157266338Seric with G1 characters (\240-\276) in headers relating to 157366338Seric negative numbers passed to isspace() et al. 157466338Seric Add YP_LAST_MODIFIED and YP_MASTER_NAME to DBM version of alias 157566338Seric database if YPCOMPAT is #defined. Enhancement from 157666338Seric Takahiro Kanbe of Fuji Xerox Information Systems Co., Ltd. 157766338Seric Add "list" Precedence (-30); this can be used with old sendmails 157866338Seric which will map to precedence 0 (which will return error 157966338Seric messages). Suggested by Stephen R. van den Berg. 158066338Seric Many bug fixes from Eric Wassenaar of the National Institute for 158166338Seric Nuclear and High-Energy Physics, Amsterdam: 158266338Seric Clear timeouts properly on open failures in include(). 158366338Seric Don't dereference through NULL if no home directory found. 158466338Seric Re-establish SIGCHLD signal on System 5 in reapchild(). 158566338Seric Avoid NULL pointer reference on -pFOO flag. 158666338Seric Properly handle backslash escapes in comments. 158766338Seric Correctly check reply status on SMTP NOOP command. 158866338Seric Properly save SMTP error message if peer gives 158966338Seric "Service Shutting Down" message. 159066338Seric Avoid writing to the transcript if it couldn't be opened. 159166338Seric Signal errors in SMTP children to parent properly. 159266338Seric Handle self references in a list more globally (include a 159366338Seric QSELFREF bit in the address flags). This enhancement 159466338Seric was suggested by Eric Wassenaar. 159566338Seric Use initgroups() in hpux, even though it's System-V based. The 159666338Seric HASINITGROUPS compile flag can set this on other systems. 159766338Seric This HPUX behaviour was pointed out by Eric Wassenaar. 159866338Seric 159966338Seric6.23/6.6 93/02/16 160066338Seric Clean up handling of LogLevel to make it easier to figure out 160166338Seric what's on what level. 160266338Seric Change log levels to have some consistency: 160366338Seric 1 serious system failures, security problems 160466338Seric 2 lost communications, protocol failures 160566338Seric 3 other serious failures 160666338Seric 4 minor errors 160766338Seric 5 message collection 160866338Seric 6 vrfy logging, creation of return-to-sender 160966338Seric 7 delivery failures 161066338Seric 8 delivery successes 161166338Seric 9 delivery tempfails (queue ups) 161266338Seric 10 database expansion 161366338Seric >64 debugging 161466338Seric Allow IDA-style separated processing on S= and R= in Mailer 161566338Seric definition lines. Note that rulesets 1 and 2 are 161666338Seric still used for both addresses as before. Bruce Lilly 161766338Seric gave a convincing argument that RFC976 insists on 161866338Seric this behaviour. 161966338Seric Added some time zones to arpatounix -- they may not be in the 162066338Seric standards, but they are in use. However, I may delete 162166338Seric arpatounix entirely -- there appears to be no reason 162266338Seric for it to exist. 162366338Seric Change to UUCP mailer (in cf directory) to try to do a saner job. 162466338Seric I'm still not certain about this mailer in general. 162566338Seric 162666338Seric6.22/6.5 93/02/15 162766338Seric Fix bug that prevents saving letters in ~/dead.letter. 162866338Seric Don't add angle brackets in VRFY command if angle brackets already 162966338Seric exist in the address. 163066338Seric Fix bogus error message in udbexpand. 163166338Seric Null terminate host buffers in buildaddr (broken in 6.21) -- 163266338Seric IMPORTANT FIX!! 163366338Seric 163466338Seric6.21/6.5 93/02/15 163566338Seric Fix another incorrect error message in alias.c, found by Azuma 163666338Seric Okamoto. 163766338Seric Fix a couple of problems in the more-configurable config files, 163866338Seric found by Tom Ivar Helbekkmo. 163966338Seric Fix problem with quoted :include: entries. 164066338Seric Don't duplicate the filename on verbose printing of .forward and 164166338Seric :include: contents. 164266338Seric Extend size of prescan buffer (to allow bigger addresses). Also, 164366338Seric detect some buffer overflows. 164466338Seric Log user SMTP protocol errors (log level 4). 164566338Seric 164666338Seric6.20/6.4 93/02/14 164766338Seric Fix another problem in the MCI state machine caused when there 164866338Seric were errors generated from the other end to commands 164966338Seric other than RCPT. 165066338Seric 165166338Seric6.19/6.4 93/02/14 165266338Seric Include load average support for DEC Alpha running OSF/1. 165366338Seric Fix multiple-response problem with errors in MAIL From: line. 165466338Seric Fix SMTP reply codes for invalid address syntaxes (give 501; 165566338Seric never give multiple error messages for a single message). 165666338Seric Fix problem where a cached connection timeout rejects all 165766338Seric later connects to that host. 165866338Seric Fix incorrect error message if alias.c is compiled with DBM only. 165966338Seric Additional changes to fix nested conditionals (from Bruce Lilly). 166066338Seric Recover more gracefully from operating system failures, particularly 166166338Seric NULL returns from openmailer (from Noritoshi Demizu, 166266338Seric OMRON Corporation). 166366338Seric Log forward, alias, and userdb expand operations on log level 10; 166466338Seric concept suggested by P{r (Pell) Emanuelsson. 166566338Seric Changes for HPUX 8.07 compatibility. 166666338Seric 166766338Seric6.18/6.4 93/02/12 166866338Seric Allow any config option to be set using an M4 define. 166966338Seric Change UNAME compile flag to HASUNAME for IDA compatibility 167066338Seric (besides, it's a better name). 167166338Seric Note in README that on SunOS it must be linked -Bstatic. 167266338Seric Fairly major change in domain.c to handle wildcard MX records 167366338Seric more rationally. NOTE: the "w" option (no wildcard MX 167466338Seric records match local domain) has been eliminated. 167566338Seric Fix some unset variable references pointed out by Bruce Lilly. 167666338Seric Fix host name in process titles when using cached connection. 167766338Seric 167866338Seric6.17/6.3 93/01/28 167966338Seric Fix System 5 compatibility changes to be compatible with the rest 168066338Seric of the world. 168166338Seric 168266338Seric6.16/6.3 93/01/28 168366338Seric Experimental fix for problem handling errors in the SMTP 168466338Seric protocol in conjunction with connection caching. 168566338Seric System 5 compatibility changes. 168666338Seric 168766338Seric6.15/6.3 93/01/26 168866338Seric Fix a bug that causes local mail delivered using -odq to be 168966338Seric eliminated as a duplicate (because it matched the 169066338Seric ctladdr, now passed in as a C line). These changes 169166338Seric are pretty tricky...... 169266338Seric 169366338Seric6.14/6.3 93/01/25 169466338Seric Add debugging for some MCI errors. 169566338Seric 169666338Seric6.13/6.3 93/01/22 169766338Seric Fix -e compatibility flag to take a value. 169866338Seric Fix a couple of minor compilation warnings on Sun cc. 169966338Seric Improve error messages in a few cases to be more self-explanatory. 170066338Seric 170166338Seric6.12/6.3 93/01/21 170266338Seric Fix yet-another problem with environment handling, pointed out 170366338Seric by Yoshitaka Tokugawa and Tom Ivar Helbekkmo. 170466338Seric Some heuristics to try to limit resource exhaustion problems 170566338Seric if a downstream host has been down for a long time. 170666338Seric Fix problem with incorrect host name being logged in "Connection 170766338Seric timed out" messages (from Tom Ivar Helbekkmo). 170866338Seric Fix some ANSI C problems (from Takahiro Kanbe). 170966338Seric Properly log message sender on returned mail during queue run. 171066338Seric Count number of recipients properly. 171166338Seric Fix a problem in yp map code. 171266338Seric Diagnose "message timed out" (from Motonori Nakamura). 171366338Seric 171466338Seric6.11/6.3 93/01/20 171566338Seric Fix problem with address delimitor inside quotes. 171666338Seric Define $k and $=k to be the UUCP name (from the uname call) 171766338Seric based on code from Bruce Lilly. 171866338Seric 171966338Seric6.10/6.2 93/01/18 172066338Seric Implement arpatounix (largely code from Bruce Lilly). 172166338Seric Log more info (suggested by John Myers). 172266338Seric Allow nested $?...$|...$. (inspired by code from Bruce Lilly of 172366338Seric Sony US). 172466338Seric POSIX compatibility (noted by Keith Bostic). 172566338Seric Handle SMTP MAIL command errors properly (urged by several people, 172666338Seric notably John Myers of CMU). 172766338Seric Do early diagnosis of .cf errors (notably referencing a RHS 172866338Seric substitution that isn't on the LHS). 172966338Seric Adjust checkpointing to better handle batched recipients, suggested 173066338Seric by John Myers. 173166338Seric Fix miscellaneous bugs. 173266338Seric (config files:) Implement MAIL_HUB for all local mail (to handle 173366338Seric NFS-mounted directories) as urged by Tom Ivar Helbekkmo 173466338Seric of the Norwegian School of Economics. 173566338Seric 173666338Seric6.9/6.1 93/01/13 173766338Seric Environment handling simplification/bug fix -- child processes 173866338Seric get a minimal, fixed environment. This avoids different 173966338Seric behaviour in queue runs. 174066338Seric Handle commas inside comments properly. 174166338Seric Properly limit large messages submitted in -obq mode. 174266338Seric 174366338Seric6.8/6.1 93/01/10 174466338Seric Check mtime of thaw file against .cf and sendmail binary, based on 174566338Seric code from John Myers. 174666338Seric 174766338Seric6.7/6.1 93/01/10 174866338Seric MX piggybacking, based on code from John Myers@CMU. 174966338Seric Allow checkcompat to return -1 to mean tempfail. 175066338Seric Bug fix in m_mno computation. 175166338Seric 175266338Seric6.6/6.1 93/01/09 175366338Seric Tuning of queueing functions as recommended by John Gardiner Myers. 175466338Seric Return mail headers (no body) on messages with negative precedence. 175566338Seric Minor other bug fixes. 175666338Seric 175766338Seric6.5/6.1 93/01/03 175866338Seric Fix botch causing queued headers to have ?XX? prefixes. 175966338Seric 176066338Seric6.4/6.1 93/01/02 176166338Seric Changes to recognize special mailer types (e.g., file) early. 176266338Seric 176366338Seric6.3/6.1 93/01/01 176466338Seric Pass timeouts to sfgets. 176566338Seric Check for control characters in addresses. 176666338Seric Fixed deferred error reporting. 176766338Seric Report duplicate aliases. 176866338Seric Handle mixed case recursive aliases. 176966338Seric Misc bug fixes. 177066338Seric 177166338Seric6.2/6.1 92/12/30 177266338Seric Put return-receipt-to on a conf.c flag (but don't set it). 177366338Seric Fix minor syslog problem. 1774