| 1 | SENDMAIL RELEASE NOTES |
| 2 | @(#)RELEASE_NOTES 8.6.11.1 (Berkeley) %G% |
| 3 | |
| 4 | This listing shows the version of the sendmail binary, the version |
| 5 | of the sendmail configuration files, the date of release, and a |
| 6 | summary of the changes in that release. |
| 7 | |
| 8 | 8.6.11/8.6.11 95/03/08 |
| 9 | The ``possible attack'' message would be logged more often |
| 10 | than necessary if you are using Pine as a user agent. |
| 11 | The wrong host would be reported in the ``possible attack'' |
| 12 | message when attempted from IDENT. |
| 13 | In some cases the syslog buffer could be overflowed when |
| 14 | reporting the ``possible attack'' message. This can |
| 15 | cause denial of service attacks. Truncate the message |
| 16 | to 80 characters to prevent this problem. |
| 17 | When reading the IDENT response a loop is needed around the |
| 18 | read from the network to ensure that you don't get |
| 19 | partial lines. |
| 20 | Password entries without any shell listed (that is, a null |
| 21 | shell) wouldn't match as "ok". Problem noted by |
| 22 | Rob McMahon. |
| 23 | When running BIND 4.9.x a problem could occur because the |
| 24 | _res.options field is initialized differently than it |
| 25 | was historically -- this requires that sendmail call |
| 26 | res_init before it tweaks any bits. |
| 27 | Fix an incompatibility in openxscript() between the file open mode |
| 28 | and the stdio mode passed to fdopen. This caused UnixWare |
| 29 | 2.0 to have conniptions. Fix from Martin Sohnius of |
| 30 | Novell Labs Europe. |
| 31 | Fix problem with static linking of local getopt routine when |
| 32 | using GNU's ld command. Fix from John Kennedy of |
| 33 | Cal State Chico. |
| 34 | It was possible to turn off privacy flags. Problem noted by |
| 35 | *Hobbit*. |
| 36 | Be more paranoid about writing files. Suggestions by *Hobbit* |
| 37 | and Liudvikas Bukys. |
| 38 | MAKEMAP: fixes for 64 bit machines (DEC Alphas in particular) |
| 39 | from Spider Boardman. |
| 40 | CONFIG: No changes (version number only, to keep it in sync |
| 41 | with the binaries). |
| 42 | |
| 43 | 8.6.10/8.6.10 95/02/10 |
| 44 | SECURITY: Diagnose bogus values to some command line flags that |
| 45 | could allow trash to get into headers and qf files. |
| 46 | Validate the name of the user returned by the IDENT protocol. |
| 47 | Some systems that really dislike IDENT send intentionally |
| 48 | bogus information. Problem pointed out by Michael Bushnell |
| 49 | of the Free Software Foundation. Has some security |
| 50 | implications. |
| 51 | Fix a problem causing error messages about DNS problems when |
| 52 | the host name contained a percent sign to act oddly |
| 53 | because it was passed as a printf-style format string. |
| 54 | In some cases this could cause core dumps. |
| 55 | Avoid possible buffer overrun in returntosender() if error |
| 56 | message is quite ling. From Fletcher Mattox of the |
| 57 | University of Texas. |
| 58 | Fix a problem that would silently drop "too many hops" error |
| 59 | messages if and only if you were sending to an alias. |
| 60 | From Jon Giltner of the University of Colorado and |
| 61 | Dan Harton of Oak Ridge National Laboratory. |
| 62 | Fix a bug that caused core dumps on some systems if -d11.2 was |
| 63 | set and e->e_message was null. Fix from Bruce Nagel of |
| 64 | Data General. |
| 65 | Fix problem that can still cause df files to be left around |
| 66 | after "hop count exceeded" messages. Fix from Andrew |
| 67 | Chang and Shau-Ping Lo of SunSoft. |
| 68 | Fix a problem that can cause buffer overflows on very long |
| 69 | user names (as might occur if you piped to a program |
| 70 | with a lot of arguments). |
| 71 | Avoid returning an error and re-queueing if the host signature |
| 72 | is null; this can occur on addresses like ``user@.''. |
| 73 | Problem noted by Wesley Craig and the University of |
| 74 | Michigan. |
| 75 | Avoid possible calls to malloc(0) if MCI caching is turned |
| 76 | off. Bug fix from Pierre David of the Laboratoire |
| 77 | Parallelisme, Reseaux, Systemes et Modelisation (PRiSM), |
| 78 | Universite de Versailles - St Quentin, and Jacky |
| 79 | Thibault. |
| 80 | Make a local copy of the line being sent via senttolist() -- in |
| 81 | some cases, buffers could get trashed by map lookups |
| 82 | causing it to do unexpected things. This also simplifies |
| 83 | some of the map code. |
| 84 | CONFIG: No changes (version number only, to keep it in sync |
| 85 | with the binaries). |
| 86 | |
| 87 | 8.6.9/8.6.9 94/04/19 |
| 88 | Do all mail delivery completely disconnected from any terminal. |
| 89 | This provides consistency with daemon delivery and |
| 90 | may have some security implications. |
| 91 | Make sure that malloc doesn't get called with zero size, |
| 92 | since that fails on some systems. Reported by Ed |
| 93 | Hill of the University of Iowa. |
| 94 | Fix multi-line values for $e (SMTP greeting message). Reported |
| 95 | by Mike O'Connor of Ford Motor Company. |
| 96 | Avoid syserr if no NIS domain name is defined, but the map it |
| 97 | is trying to open is optional. From Win Bent of USC. |
| 98 | Changes for picky compilers from Ed Gould of Digital Equipment. |
| 99 | Hesiod support for UDB from Todd Miller of the University of |
| 100 | Colorado. Use "hesiod" as the service name in the U |
| 101 | option. |
| 102 | Fix a problem that failed to set the "authentic" host name (that |
| 103 | is, the one derived from the socket info) if you called |
| 104 | sendmail -bs from inetd. Based on code contributed by |
| 105 | Todd Miller (this problem was also reported by Guy Helmer |
| 106 | of Dakota State University). This also fixes a related |
| 107 | problem reported by Liudvikas Bukys of the University of |
| 108 | Rochester. |
| 109 | Parameterize "nroff -h" in all the Makefiles so people with |
| 110 | variant versions can use them easily. Suggested by |
| 111 | Peter Collinson of Hillside Systems. |
| 112 | SMTP "MAIL" commands with multiple ESMTP parameters required two |
| 113 | spaces between parameters instead of one. Reported by |
| 114 | Valdis Kletnieks of Virginia Tech. |
| 115 | Reduce the number of system calls during message collection by |
| 116 | using global timeouts around the collect() loop. This |
| 117 | code was contributed by Eric Wassenaar. |
| 118 | If the initial hostname name gathering results in a name |
| 119 | without a dot (usually caused by NIS misconfiguration) |
| 120 | and BIND is compiled in, directly access DNS to get |
| 121 | the canonical name. This should make life easier for |
| 122 | Solaris systems. If it still can't be resolved, and |
| 123 | if the name server is listed as "required", try again |
| 124 | in 30 seconds. If that also fails, exit immediately to |
| 125 | avoid bogus "config error: mail loops back to myself" |
| 126 | messages. |
| 127 | Improve the "MAIL DELETED BECAUSE OF LACK OF DISK SPACE" error |
| 128 | message to explain how much space was available and |
| 129 | sound a bit less threatening. Suggested by Stan Janet |
| 130 | of the National Institute of Standards and Technology. |
| 131 | If mail is delivered to an alias that has an owner, deliver any |
| 132 | requested return-receipt immediately, and strip the |
| 133 | Return-Receipt-To: header from the subsequent message. |
| 134 | This prevents a certain class of denial of service |
| 135 | attack, arguably gives more reasonable semantics, and |
| 136 | moves things more towards what will probably become a |
| 137 | network standard. Suggested by Christopher Davis of |
| 138 | Kapor Enterprises. |
| 139 | Add a "noreceipts" privacy flag to turn off all return receipts |
| 140 | without recompiling. |
| 141 | Avoid printing ESMTP parameters as part of the error message |
| 142 | if there are errors during parsing. This change is |
| 143 | purely cosmetic. |
| 144 | Avoid sending out error messages during the collect phase of |
| 145 | SMTP; there is an MVS mailer from UCLA that gets |
| 146 | confused by this. Of course, I think it's their bug.... |
| 147 | Check for the $j macro getting undefined, losing a dot, or getting |
| 148 | lost from $=w in the daemon before accepting a connection; |
| 149 | if it is, it dumps state, prints a LOG_ALERT message, |
| 150 | and drops core for debugging. This is an attempt to |
| 151 | track down a bug that I thought was long since gone. |
| 152 | If you see this, please forward the log fragment to |
| 153 | sendmail@CS.Berkeley.EDU. |
| 154 | Change OLD_NEWDB from a #ifdef to a #if so it can be turned off |
| 155 | with -DOLD_NEWDB=0 on the command line. From Christophe |
| 156 | Wolfhugel. |
| 157 | Instead of trying to truncate the listen queue for the server |
| 158 | SMTP port when the load average is too high, just close |
| 159 | the port completely and reopen it later as needed. |
| 160 | This ensures that the other end gets a quick "connection |
| 161 | refused" response, and that the connection can be |
| 162 | recovered later. In particular, some socket emulations |
| 163 | seem to get confused if you tweak the listen queue |
| 164 | size around and can never start listening to connections |
| 165 | again. The down side is that someone could start up |
| 166 | another daemon process in the interim, so you could |
| 167 | have multiple daemons all not listening to connections; |
| 168 | this could in turn cause the sendmail.pid file to be |
| 169 | incorrect. A better approach might be to accept the |
| 170 | connection and give a 421 code, but that could break |
| 171 | other mailers in mysterious ways and have paging behaviour |
| 172 | implications. |
| 173 | Fix a glitch in TCP-level debugging that caused flag 16.101 to |
| 174 | set debugging on the wrong socket. From Eric Wassenaar. |
| 175 | When creating a df* temporary file, be sure you truncate any |
| 176 | existing data in the file -- otherwise system crashes |
| 177 | and the like could result in extra data being sent. |
| 178 | DOC: Replace the CHANGES-R5-R8 readme file with a paper in the |
| 179 | doc directory. This includes some additional |
| 180 | information. |
| 181 | CONFIG: change UUCP rules to never add $U! or $k! on the front |
| 182 | of recipient envelope addresses. This should have been |
| 183 | handled by the $&h trick, but broke if people were |
| 184 | mixing domainized and UUCP addresses. They should |
| 185 | probably have converted all the way over to uucp-uudom |
| 186 | instead of uucp-{new,old}, but the failure mode was to |
| 187 | loop the mail, which was bad news. |
| 188 | Portability fixes: |
| 189 | Newer BSDI systems (several people). |
| 190 | Older BSDI systems from Christophe Wolfhugel. |
| 191 | Intergraph CLIX, from Paul Southworth of CICNet. |
| 192 | UnixWare, from Evan Champion. |
| 193 | NetBSD from Adam Glass. |
| 194 | Solaris from Quentin Campbell of the University of |
| 195 | Newcastle upon Tyne. |
| 196 | IRIX from Dean Cookson and Bill Driscoll of Mitre |
| 197 | Corporation. |
| 198 | NCR 3000 from Kevin Darcy of Chrysler Corporation. |
| 199 | SunOS (it has setsid() and setvbuf() calls) from |
| 200 | Jonathan Kamens of OpenVision Technologies. |
| 201 | HP-UX from Tor Lillqvist. |
| 202 | New Files: |
| 203 | src/Makefile.CLIX |
| 204 | src/Makefile.NCR3000 |
| 205 | doc/changes/Makefile |
| 206 | doc/changes/changes.me |
| 207 | doc/changes/changes.ps |
| 208 | |
| 209 | 8.6.8/8.6.6 94/03/21 |
| 210 | SECURITY: it was possible to read any file as root using the |
| 211 | E (error message) option. Reported by Richard Jones; |
| 212 | fixed by Michael Corrigan and Christophe Wolfhugel. |
| 213 | |
| 214 | 8.6.7/8.6.6 94/03/14 |
| 215 | SECURITY: it was possible to get root access by using wierd |
| 216 | values to the -d flag. Thanks to Alain Durand of |
| 217 | INRIA for forwarding me the notice from the bugtraq |
| 218 | list. |
| 219 | |
| 220 | 8.6.6/8.6.6 94/03/13 |
| 221 | SECURITY: the ability to give files away on System V-based |
| 222 | systems proved dangerous -- don't run as the owner |
| 223 | of a :include: file on a system that allows giveaways. |
| 224 | Unfortunately, this also applies to determining a |
| 225 | valid shell. |
| 226 | IMPORTANT: Previous versions weren't expiring old connections |
| 227 | in the connection cache for a long time under some |
| 228 | circumstances. This could result in resource exhaustion, |
| 229 | both at your end and at the other end. This checks the |
| 230 | connections for timeouts much more frequently. From |
| 231 | Doug Anderson of NCSC. |
| 232 | Fix a glitch that snuck in that caused programs to be run as |
| 233 | the sender instead of the recipient if the mail was |
| 234 | from a local user to another local user. From |
| 235 | Motonori Nakamura of Kyoto University. |
| 236 | Fix "wildcard" on /etc/shell matching -- instead of looking |
| 237 | for "*", look for "/SENDMAIL/ANY/SHELL/". From |
| 238 | Bryan Costales of ICSI. |
| 239 | Change the method used to declare the "statfs" availability; |
| 240 | instead of HASSTATFS and/or HASUSTAT with a ton of |
| 241 | tweaking in conf.c, there is a single #define called |
| 242 | SFS_TYPE which takes on one of six values (SFS_NONE |
| 243 | for no statfs availability, SFS_USTAT for the ustat(2) |
| 244 | syscall, SFS_4ARGS for a four argument statfs(2) call, |
| 245 | and SFS_VFS, SFS_MOUNT, or SFS_STATFS for a two argument |
| 246 | statfs(2) call with the declarations in <sys/vfs.h>, |
| 247 | <sys/mount.h>, or <sys/statfs.h> respectively). |
| 248 | Fix glitch in NetInfo support that could return garbage if |
| 249 | there was no "/locations/sendmail" property. From |
| 250 | David Meyer of the University of Virginia. |
| 251 | Change HASFLOCK from defined/not-defined to a 0/1 definition |
| 252 | to allow Linux to turn it off even though it is a |
| 253 | BSD-like system. |
| 254 | Allow setting of "ident" timeout to zero to turn off the ident |
| 255 | protocol entirely. |
| 256 | Make 7-bit stripping local to a connection (instead of to a |
| 257 | mailer); this allows you to specify that SMTP is a |
| 258 | 7-bit channel, but revert to 8-bit should it advertise |
| 259 | that it supports 8BITMIME. You still have to specify |
| 260 | mailer flag 7 to get this stripping at all. |
| 261 | Improve makesendmail script so it handles more cases automatically. |
| 262 | Tighten up restrictions on taking ownership of :include: files |
| 263 | to avoid problems on systems that allow you to give away |
| 264 | files. |
| 265 | Fix a problem that made it impossible to rebuild the alias |
| 266 | file if it was on a read-only file system. From |
| 267 | Harry Edmon of the University of Washington. |
| 268 | Improve MX randomization function. From John Gardiner Myers |
| 269 | of CMU. |
| 270 | Fix a minor glitch causing a bogus message to be printed (used |
| 271 | %s instead of %d in a printf string for the line number) |
| 272 | when a bad queue file was read. From Harry Edmon. |
| 273 | Allow $s to remain NULL on locally generated mail. I'm not |
| 274 | sure this is necessary, but a lot of people have complained |
| 275 | about it, and there is a legitimate question as to whether |
| 276 | "localhost" is legal as an 822-style domain. |
| 277 | Fix a problem with very short line lengths (mailer L= flag) in |
| 278 | headers. This causes a leading space to be added onto |
| 279 | continuation lines (including in the body!), and also |
| 280 | tries to wrap headers containing addresses (From:, To:, |
| 281 | etc) intelligently at the shorter line lengths. Problem |
| 282 | Reported by Lars-Johan Liman of SUNET Operations Center. |
| 283 | Log the real user name when logging syserrs, since these can have |
| 284 | security implications. Suggested by several people. |
| 285 | Fix address logging of cached connections -- it used to always |
| 286 | log the numeric address as zero. This is a somewhat |
| 287 | bogus implementation in that it does an extra system |
| 288 | call, but it should be an inexpensive one. Fix from |
| 289 | Motonori Nakamura. |
| 290 | Tighten up handling of short syslog buffers even more -- there |
| 291 | were cases where the outgoing relay= name was too long |
| 292 | to share a line with delay= and mailer= logging. |
| 293 | Limit the overhead on split envelopes to one open file descriptor |
| 294 | per envelope -- previously the overhead was three |
| 295 | descriptors. This was in response to a problem reported |
| 296 | by P{r (Pell) Emanuelsson. |
| 297 | Fixes to better handle the case of unexpected connection closes; |
| 298 | this redirects the output to the transcript so the info |
| 299 | is not lost. From Eric Wassenaar. |
| 300 | Fix potential string overrun if you macro evaluate a string that |
| 301 | has a naked $ at the end. Problem noted by James Matheson |
| 302 | <jmrm@eng.cam.ac.uk>. |
| 303 | Make default error number on $#error messages 553 (``Requested |
| 304 | action not taken: mailbox name not allowed'') instead of |
| 305 | 501 (``Syntax error in parameters or arguments'') to |
| 306 | avoid bogus "protocol error" messages. |
| 307 | Strip off any existing trailing dot on names during $[ ... $] |
| 308 | lookup. This prevents it from ending up with two dots |
| 309 | on the end of dot terminated names. From Wesley Craig |
| 310 | of the University of Michigan and Bryan Costales of ICSI. |
| 311 | Clean up file class reading so that the debugging information is |
| 312 | more informative. It hadn't been using setclass, so you |
| 313 | didn't see the class items being added. |
| 314 | Avoid core dump if you are running a version of sendmail where |
| 315 | NIS is compiled in, and you specify an NIS map, but |
| 316 | NIS is not running. Fix from John Oleynick of |
| 317 | Rutgers. |
| 318 | Diagnose bizarre case where res_search returns a failure value, |
| 319 | but sets h_errno to a success value. |
| 320 | Make sure that "too many hops" messages are considered important |
| 321 | enough to send an error to the Postmaster (that is, the |
| 322 | address specified in the P option). This fix should |
| 323 | help problems that cause the df file to be left around |
| 324 | sometimes -- unfortunately, I can't seem to reproduce |
| 325 | the problem myself. |
| 326 | Avoid core dump (null pointer reference) on EXPN command; this |
| 327 | only occurred if your log level was set to 10 or higher |
| 328 | and the target account was an alias or had a .forward file. |
| 329 | Problem noted by Janne Himanka. |
| 330 | Avoid "denial of service" attacks by someone who is flooding your |
| 331 | SMTP port with bad commands by shutting the connection |
| 332 | after 25 bad commands are issued. From Kyle Jones of |
| 333 | UUNET. |
| 334 | Fix core dump on error messages with very long "to" buffers; |
| 335 | fmtmsg overflows the message buffer. Fixed by trimming |
| 336 | the to address to 203 characters. Problem reported by |
| 337 | John Oleynick. |
| 338 | Fix configuration for HASFLOCK -- there were some spots where |
| 339 | a #ifndef was incorrectly #ifdef. Pointed out by |
| 340 | George Baltz of the University of Maryland. |
| 341 | Fix a typo in savemail() that could cause the error message To: |
| 342 | lists to be incorrect in some places. From Motonori |
| 343 | Nakamura. |
| 344 | Fix a glitch that can cause duplicate error messages on split |
| 345 | envelopes where an address on one of the lists has a |
| 346 | name server failure. Fix from Voradesh Yenbut of the |
| 347 | University of Washington. |
| 348 | Fix possible bogus pointer reference on ESMTP parameters that |
| 349 | don't have an ``=value'' part. |
| 350 | CNAME loops caused an error message to be generated, but also |
| 351 | re-queued the message. Changed to just re-queue the |
| 352 | message (it's really hard to just bounce it because |
| 353 | of the wierd way the name server works in the presence |
| 354 | of CNAME loops). Problem noted by James M.R.Matheson |
| 355 | of Cambridge University. |
| 356 | Avoid giving ``warning: foo owned process doing -bs'' messages |
| 357 | if they use ``MAIL FROM:<foo>'' where foo is their true |
| 358 | user name. Suggested by Andreas Stolcke of ICSI. |
| 359 | Change the NAMED_BIND compile flag to be a 0/1 flag so you can |
| 360 | override it easily in the Makefile -- that is, you can |
| 361 | turn it off using -DNAMED_BIND=0. |
| 362 | If a gethostbyname(...) of an address with a trailing dot fails, |
| 363 | try it without the trailing dot. This is because if |
| 364 | you have a version of gethostbyname() that falls back |
| 365 | to NIS or the /etc/hosts file it will fail to find |
| 366 | perfectly reasonable names that just don't happen to |
| 367 | be dot terminated in the hosts file. You don't want to |
| 368 | strip the dot first though because we're trying to ensure |
| 369 | that country names that match one of your subdomains get |
| 370 | a chance. |
| 371 | PRALIASES: fix bogus output on non-null-terminated strings. |
| 372 | From Bill Gianopoulos of Raytheon. |
| 373 | CONFIG: Avoid rewriting anything that matches $w to be $j. |
| 374 | This was in code intended to only catch the self-literal |
| 375 | address (that is, [1.2.3.4], where 1.2.3.4 is your |
| 376 | IP address), but the code was broken. However, it will |
| 377 | still do this if $M is defined; this is necessary to |
| 378 | get client configurations to work (sigh). Note that this |
| 379 | means that $M overrides :mailname entries in the user |
| 380 | database! Problem noted by Paul Southworth. |
| 381 | CONFIG: Fix definition of Solaris help file location. From |
| 382 | Steve Cliffe <steve@gorgon.cs.uow.edu.au>. |
| 383 | CONFIG: Fix bug that broke news.group.USENET mappings. |
| 384 | CONFIG: Allow declaration of SMTP_MAILER_MAX, FAX_MAILER_MAX, |
| 385 | and USENET_MAILER_MAX to tweak the maximum message |
| 386 | size for various mailers. |
| 387 | CONFIG: Change definition of USENET_MAILER_ARGS to include argv[0] |
| 388 | instead of assuming that it is "inews" for consistency |
| 389 | with other mailers. From Michael Corrigan of UC San Diego. |
| 390 | CONFIG: When mail is forwarded to a LOCAL_RELAY or a MAIL_HUB, |
| 391 | qualify the address in the SMTP envelope as user@{relay|hub} |
| 392 | instead of user@$j. From Bill Wisner of The Well. |
| 393 | CONFIG: Fix route-addr syntax in nullrelay configuration set. |
| 394 | CONFIG: Don't turn off case mapping of user names in the local |
| 395 | mailer for IRIX. This was different than most every other |
| 396 | system. |
| 397 | CONFIG: Avoid infinite loops on certainly list:; syntaxes in |
| 398 | envelope. Noted by Thierry Besancon |
| 399 | <besancon@excalibur.ens.fr>. |
| 400 | CONFIG: Don't include -z by default on uux line -- most systems |
| 401 | don't want it set by default. Pointed out by Philippe |
| 402 | Michel of Thomson CSF. |
| 403 | CONFIG: Fix some bugs with mailertables -- for example, if your |
| 404 | host name was foo.bar.ray.com and you matched against |
| 405 | ".ray.com", the old implementation bound %1 to "bar" |
| 406 | instead of "foo.bar". Also, allow "." in the mailertable |
| 407 | to match anything -- essentially, take over SMART_HOST. |
| 408 | This also moves matching of explicit local host names |
| 409 | before the mailertable so they don't have to be special |
| 410 | cased in the mailertable data. Reported by Bill |
| 411 | Gianopoulos of Raytheon; the fix for the %1 binding |
| 412 | problem was contributed by Nicholas Comanos of the |
| 413 | University of Sydney. |
| 414 | CONFIG: Don't include "root" in class $=L (users to deliver |
| 415 | locally, even if a hub or relay exists) by default. |
| 416 | This is because of the known bug where definition of |
| 417 | both a LOCAL_RELAY and a MAIL_HUB causes $=L to ignore |
| 418 | both and deliver into the local mailbox. |
| 419 | CONFIG: Move up bitdomain and uudomain handling so that they |
| 420 | are done before .UUCP class matching; uudomain was |
| 421 | reported as ineffective before. This also frees up |
| 422 | diversion 8 for future use. Problem reported by Kimmo |
| 423 | Suominen. |
| 424 | CONFIG: Don't try to convert dotted IP address (e.g., [1.2.3.4]) |
| 425 | into host names. As pointed out by Jonathan Kamens, |
| 426 | these are often used because either the forward or reverse |
| 427 | mapping is broken; this translation makes it broken again. |
| 428 | DOC: Clarify $@ and $: in the Install & Op Guide. From Kimmo |
| 429 | Suominen. |
| 430 | Portability fixes: |
| 431 | Unicos from David L. Kensiski of Sterling Sofware. |
| 432 | DomainOS from Don Lewis of Silicon Systems. |
| 433 | GNU m4 1.0.3 from Karst Koymans of Utrecht University. |
| 434 | Convex from Kimmo Suominen <kim@tac.nyc.ny.us>. |
| 435 | NetBSD from Adam Glass <glass@sun-lamp.cs.berkeley.edu>. |
| 436 | BSD/386 from Tony Sanders of BSDI. |
| 437 | Apollo from Eric Wassenaar. |
| 438 | DGUX from Doug Anderson. |
| 439 | Sequent DYNIX/ptx 2.0 from Tim Wright of Sequent. |
| 440 | NEW FILES: |
| 441 | src/Makefile.DomainOS |
| 442 | src/Makefile.PTX |
| 443 | src/Makefile.SunOS.5.1 |
| 444 | src/Makefile.SunOS.5.2 |
| 445 | src/Makefile.SunOS.5.x |
| 446 | src/mailq.1 |
| 447 | cf/ostype/domainos.m4 |
| 448 | doc/op/Makefile |
| 449 | doc/intro/Makefile |
| 450 | doc/usenix/Makefile |
| 451 | |
| 452 | 8.6.5/8.6.5 94/01/13 |
| 453 | Security fix: /.forward could be owned by anyone (the test |
| 454 | to allow root to own any file was backwards). From |
| 455 | Bob Campbell at U.C. Berkeley. |
| 456 | Security fix: group ids were not completely set when programs |
| 457 | were invoked. This caused programs to have group |
| 458 | permissions they should not have had (usually group |
| 459 | daemon instead of their own group). In particular, |
| 460 | Perl scripts would refuse to run. |
| 461 | Security: check to make sure files that are written are not |
| 462 | symbolic links (at least under some circumstances). |
| 463 | Although this does not respond to a specific known |
| 464 | attack, it's just a good idea. Suggested by |
| 465 | Christian Wettergren. |
| 466 | Security fix: if a user had an NFS mounted home directory on |
| 467 | a system with a restricted shell listed in their |
| 468 | /etc/passwd entry, they could still execute any |
| 469 | program by putting that in their .forward file. |
| 470 | This fix prevents that by insisting that their shell |
| 471 | appear in /etc/shells before allowing a .forward to |
| 472 | execute a program or write a file. You can disable |
| 473 | this by putting "*" in /etc/shells. It also won't |
| 474 | permit world-writable :include: files to reference |
| 475 | programs or files (there's no way to disable this). |
| 476 | These behaviours are only one level deep -- for |
| 477 | example, it is legal for a world-writable :include: |
| 478 | file to reference an alias that writes a file, on |
| 479 | the assumption that the alias file is well controlled. |
| 480 | Security fix: root was not treated suspiciously enough when |
| 481 | looking into subdirectories. This would potentially |
| 482 | allow a cracker to examine files that were publically |
| 483 | readable but in a non-publically searchable directory. |
| 484 | Fix a problem that causes an error on QUIT on a cached |
| 485 | connection to create problems on the current job. |
| 486 | These are typically unrelated, so errors occur in |
| 487 | the wrong place. |
| 488 | Reset CurrentLA in sendall() -- this makes sendmail queue |
| 489 | runs more responsive to load average, and fixes a |
| 490 | problem that ignored the load average in locally |
| 491 | generated mail. From Eric Wassenaar. |
| 492 | Fix possible core dump on aliases with null LHS. From |
| 493 | John Orthoefer of BB&N. |
| 494 | Revert to using flock() whenever possible -- there are just |
| 495 | too many bugs in fcntl() locking, particularly over |
| 496 | NFS, that cause sendmail to fail in perverse ways. |
| 497 | Fix a bug that causes the connection cache to get confused |
| 498 | when sending error messages. This resulted in |
| 499 | "unexpected close" messages. It should fix itself |
| 500 | on the following queue run. Problem noted by |
| 501 | Liudvikas Bukys of the University of Rochester. |
| 502 | Include $k in $=k as documented in the Install & Op Guide. |
| 503 | This seems odd, but it was documented.... From |
| 504 | Michael Corrigan of UCSD. |
| 505 | Fix problem that caused :include:s from alias files to be |
| 506 | forced to be owned by root instead of daemon |
| 507 | (actually DefUid). From Tim Irvin. |
| 508 | Diagnose unrecognized I option values -- from Mortin Forssen |
| 509 | of the Chalmers University of Technology. |
| 510 | Make "error" mailer work consistently when there is no error |
| 511 | code associated with it -- previously it returned OK |
| 512 | even though there was a real problem. Now it assumes |
| 513 | EX_UNAVAILABLE. |
| 514 | Fix bug that caused the last header line of messages that had |
| 515 | no body and which were terminated with EOF instead of |
| 516 | "." to be discarded. Problem noted by Liudvikas Bukys. |
| 517 | Fix core dump on SMTP mail to programs that failed -- it tried |
| 518 | to go to a "next MX host" when none existed, causing |
| 519 | a core dump. From der Mouse at McGill University. |
| 520 | Change IDENTPROTO from a defined/not defined to a 0/1 switch; |
| 521 | this makes it easier to turn it off (using |
| 522 | -DIDENTPROTO=0 in the Makefile). From der Mouse. |
| 523 | Fix YP_MASTER_NAME store to use the unupdated result of |
| 524 | gethostname() (instead of myhostname(), which tries |
| 525 | to fully qualify the name) to be consistent with |
| 526 | SunOS. If your hostname is unqualified, this fixes |
| 527 | transfers to slave servers. Bug noted by Keith |
| 528 | McMillan of Ameritech Services, Inc. |
| 529 | Fix Ultrix problem: gethostbyname() can return a very large |
| 530 | (> 500) h_length field, which causes the sockaddr |
| 531 | to be trashed. Use the size of the sockaddr instead. |
| 532 | Fix from Bob Manson of Ohio State. |
| 533 | Don't assume "-a." on host lookups if NAMED_BIND is not |
| 534 | defined -- this confuses gethostbyname on hosts |
| 535 | file lookups, which doesn't understand the trailing |
| 536 | dot convention. |
| 537 | Log SMTP server subprocesses that die with a signal instead |
| 538 | of from a clean exit. |
| 539 | If you don't have option "I" set, don't assume that a DNS |
| 540 | "host unknown" message is authoritative -- it |
| 541 | might still be found in /etc/hosts. |
| 542 | Fix a problem that would cause Deferred: messages to be sent |
| 543 | as the subject of an error message, even though the |
| 544 | actual cause of a message was more severe than that. |
| 545 | Problem noted by Chris Seabrook of OSSI. |
| 546 | Fix race condition in DBM alias file locking. From Kyle |
| 547 | Jones of UUNET. |
| 548 | Limit delivery syslog line length to avoid bugs in some |
| 549 | versions of syslog(3). This adds a new compile time |
| 550 | variable SYSLOG_BUFSIZE. From Jay Plett of Princeton |
| 551 | University, which is in turn derived from IDA. |
| 552 | Fix quotes inside of comments in addresses -- previously |
| 553 | it insisted that they be balanced, but the 822 spec |
| 554 | says that they should be ignored. |
| 555 | Dump open file state to syslog upon receiving SIGUSR1 (for |
| 556 | debugging). This also evaluates ruleset 89, if set |
| 557 | (with the null input), and logs the result. This |
| 558 | should be used sparingly, since the rewrite process |
| 559 | is not reentrant. |
| 560 | Change -qI, -qR, and -qS flags to be case-insensitive as |
| 561 | documented in the Bat Book. |
| 562 | If the mailer returned EX_IOERR or EX_OSERR, sendmail did not |
| 563 | return an error message and did not requeue the message. |
| 564 | Fix based on code from Roland Dirlewanger of |
| 565 | Reseau Regional Aquarel, Bordeaux, France. |
| 566 | Fix a problem that caused a seg fault if you got a 421 error |
| 567 | code during some parts of connection initialization. |
| 568 | I've only seen this when talking to buggy mailers on |
| 569 | the other end, but it shouldn't give a seg fault in |
| 570 | any case. From Amir Plivatsky. |
| 571 | Fix core dump caused by a ruleset call that returns null. |
| 572 | Fix from Bryan Costales of ICSI. |
| 573 | Full-Name: field was being ignored. Fix from Motonori Nakamura |
| 574 | of Kyoto University. |
| 575 | Fix a possible problem with very long input lines in setproctitle. |
| 576 | From P{r Emanuelsson. |
| 577 | Avoid putting "This is a warning message" out on return receipts. |
| 578 | Suggested by Douglas Anderson. |
| 579 | Detect loops caused by recursive ruleset calls. Suggested by |
| 580 | Bryan Costales. |
| 581 | Initialize non-alias maps during alias rebuilds -- they may be |
| 582 | needed for parsing. Problem noted by Douglas Anderson. |
| 583 | Log sender address even if no message was collected in SMTP |
| 584 | (e.g., if all RCPTs failed). Suggested by Motonori |
| 585 | Nakamura. |
| 586 | Don't reflect the owner-list contents into the envelope sender |
| 587 | address if the value contains ", :, /, or | (to avoid |
| 588 | illegal addresses appearing there). |
| 589 | Efficiency hack for toktype macro -- from Craig Partridge of |
| 590 | BB&N. |
| 591 | Clean up DNS error printing so that a host name is always |
| 592 | included. |
| 593 | Remember to set $i during queue runs. Reported by Stephen |
| 594 | Campbell of Dartmouth University. |
| 595 | If ${HOSTALIASES} is set, use it during canonification so that |
| 596 | headers are properly mapped. Reported by Anne Bennett |
| 597 | of Concordia University. |
| 598 | Avoid printing misleading error message if SMTP mailer (not |
| 599 | using [IPC]) should die on a core dump. |
| 600 | Avoid incorrect diagnosis of "file 1 closed" when it is caused |
| 601 | by the other end closing the connection. From |
| 602 | Dave Morrison of Oracle. |
| 603 | Improve several of the error messages printed by "mailq" |
| 604 | to include a host name or other useful information. |
| 605 | Add NetInfo preliminary support for NeXT systems. From Vince |
| 606 | DeMarco. |
| 607 | Fix a glitch that sometimes caused :include:s that pointed to |
| 608 | NFS filesystems that were down to give an "aliasing/ |
| 609 | forwarding loop broken" message instead of queueing |
| 610 | the message for retry. Noted by William C Fenner of |
| 611 | the NRL Connection Machine Facility. |
| 612 | Fix a problem that could cause a core dump if the input sequence |
| 613 | had (or somehow acquired) a \231 character. |
| 614 | Make sure that route-addrs always have <angle brackets> around |
| 615 | them in non-SMTP envelopes (SMTP envelopes already do |
| 616 | this properly). |
| 617 | Avoid wierd headers on unbalanced punctuation of the form: |
| 618 | ``Joe User <user)'' -- this caused reference to the |
| 619 | null macro. Fix from Rick McCarty of IO.COM. |
| 620 | Fix a problem that caused an alias "user: user@local.host" to |
| 621 | not have the QNOTREMOTE bit set; this caused configs |
| 622 | to act as if FEATURE(notsticky) was defined even when |
| 623 | it was not. The effect of the problem was to make it |
| 624 | very hard to to set up satellite sites that had a few |
| 625 | local accounts, with everything else forwarded to a |
| 626 | corporate hub. Reported by Detlef Drewanz of the |
| 627 | University of Rostock and Mark Frost of NCD. |
| 628 | Change queuing to not call rulesets 3, {1 or 2}, 4 on header |
| 629 | addresses. This is more efficient (fewer name server |
| 630 | calls) and fixes certain unusual configurations, such |
| 631 | as those that have ruleset 4 do something that is |
| 632 | non-idempotent unless a mailer-specific ruleset did |
| 633 | something else. Problem reported by Brian J. Coan |
| 634 | of the Institute for Global Communications. |
| 635 | Fix the "obsolete argument" routine in main to better understand |
| 636 | new arguments. For example, if you used ``sendmail |
| 637 | -C config -v -q'' it would choke on the -q because |
| 638 | the -C would stop looking for old-format arguments. |
| 639 | Fix the code that was intended to allow two users to forward their |
| 640 | mail to the same program and have them appear unique. |
| 641 | Portability fixes for: |
| 642 | SCO UNIX from Murray Kucherawy. |
| 643 | SCO Open Server 3.2v4 from Philippe Brand. |
| 644 | System V Release 4 from Rick Ellis and others. |
| 645 | OSF/1 from Steve Campbell. |
| 646 | DG/UX from Ben Mesander of the USGS and Bryan Curnutt |
| 647 | of Stoner Associates. |
| 648 | Motorola SysV88 from Kevin Johnson of Motorola. |
| 649 | Solaris 2.3 from Casper H.S. Dik of the University |
| 650 | of Amsterdam and John Caruso of University |
| 651 | of Maryland. |
| 652 | FreeBSD from Ollivier Robert. |
| 653 | NetBSD from Adam Glass. |
| 654 | TitanOS from Kate Hedstrom of Rutgers University. |
| 655 | Irix from Bryan Curnutt. |
| 656 | Dynix from Jim Davis of the University of Arizona. |
| 657 | RISC/os. |
| 658 | Linux from John Kennedy of California State University |
| 659 | at Chico. |
| 660 | Solaris 2.x from Tony Boner of the U.S. Air Force. |
| 661 | NEXTSTEP 3.x from Vince DeMarco. |
| 662 | HP-UX from various people. NOTA BENE: the location |
| 663 | of the config file has moved to /usr/lib |
| 664 | to match the HP-UX version of sendmail. |
| 665 | CONFIG: Don't do any recipient rewriting on relay mailer; |
| 666 | since this is intended only for internal use, the |
| 667 | usual RFC 821/822/1123 rules can be relaxed. The |
| 668 | main point of this is to avoid munging (ugh) UUCP |
| 669 | addresses when relaying internally. |
| 670 | CONFIG: fix typo in mailer/uucp.m4 that mutilates list:; |
| 671 | syntax addresses delivered via UUCP. Solution |
| 672 | provided by Peter Wemm. |
| 673 | CONFIG: fix thumb-fumble in default UUCP relaying in ruleset |
| 674 | zero; it caused double @ signs in addresses. From |
| 675 | Irving Reid of the University of Toronto. |
| 676 | CONFIG: Portability fixes for SCO Unix 3.2 with TCP/IP 1.2.1 |
| 677 | from Markku Toijala of ICL Personal Systems Oy. |
| 678 | CONFIG: Add trailing "." on pseudo-domains for consistency; |
| 679 | this fixes a problem (noted by Al Whaley of Sunnyside) |
| 680 | that made it hard to recognize your own pseudodomain |
| 681 | names. |
| 682 | CONFIG: catch "@host" syntax errors (i.e., null local-parts) |
| 683 | rather than letting them get "local configuration |
| 684 | error"s. Problem noted by John Gardiner Myers. |
| 685 | CONFIG: add uucp-uudom mailer variant, based on code posted |
| 686 | by Spider Boardman <spider@Orb.Nashua.NH.US>; this |
| 687 | has uucp-dom semantics but old UUCP syntax. This |
| 688 | also permits "uucp-old" as an alias for "uucp" and |
| 689 | "uucp-new" as a synonym for "suucp" for consistency. |
| 690 | CONFIG: add POP mailer support (from Kimmo Suominen |
| 691 | <kim@grendel.lut.fi>). |
| 692 | CONFIG: drop CSNET_RELAY support -- CSNET is long gone. |
| 693 | CONFIG: fix bug caused with domain literal addresses (e.g., |
| 694 | ``[128.32.131.12]'') when FEATURE(allmasquerade) |
| 695 | was set; it would get an additional @masquerade.host |
| 696 | added to the address. Problem noted by Peter Wan |
| 697 | of Georgia Tech. |
| 698 | CONFIG: make sure that the local UUCP name is in $=w. From |
| 699 | Jim Murray of Stratus. |
| 700 | CONFIG: changes to UUCP rewriting to simulate IDA-style "V" |
| 701 | mailer flag. Briefly, if you are sending to host |
| 702 | "foo", then it rewrites "foo!...!baz" to "...!baz", |
| 703 | "foo!baz" remains "foo!baz", and anything else has |
| 704 | the local name prepended. |
| 705 | CONFIG: portability fixes for HP-UX. |
| 706 | DOC: several minor problems fixed in the Install & Op Guide. |
| 707 | MAKEMAP: fix core dump problem on lines that are too long or |
| 708 | which lack newline. From Mark Delany. |
| 709 | MAILSTATS: print sums of columns (total messages & kbytes |
| 710 | in and out of the system). From Tom Ferrin of UC |
| 711 | San Francisco Computer Graphics Lab. |
| 712 | SIGNIFICANT USER- OR SYSAD-VISIBLE CHANGES: |
| 713 | On HP-UX, /etc/sendmail.cf has been moved to |
| 714 | /usr/lib/sendmail.cf to match HP sendmail. |
| 715 | Permissions have been tightened up on world-writable |
| 716 | :include: files and accounts that have shells |
| 717 | that are not listed in /etc/shells. This may |
| 718 | cause some .forward files that have worked |
| 719 | before to start failing. |
| 720 | SIGUSR1 dumps some state to the log. |
| 721 | NEW FILES: |
| 722 | src/Makefile.DGUX |
| 723 | src/Makefile.Dynix |
| 724 | src/Makefile.FreeBSD |
| 725 | src/Makefile.Mach386 |
| 726 | src/Makefile.NetBSD |
| 727 | src/Makefile.RISCos |
| 728 | src/Makefile.SCO |
| 729 | src/Makefile.SVR4 |
| 730 | src/Makefile.Titan |
| 731 | cf/mailer/pop.m4 |
| 732 | cf/ostype/bsdi1.0.m4 |
| 733 | cf/ostype/dgux.m4 |
| 734 | cf/ostype/dynix3.2.m4 |
| 735 | cf/ostype/sco3.2.m4 |
| 736 | makemap/Makefile.dist |
| 737 | praliases/Makefile.dist |
| 738 | |
| 739 | 8.6.4/8.6.4 93/10/31 |
| 740 | Repair core-dump problem (write to read-only memory segment) |
| 741 | if you fall back to the return-to-Postmaster case in |
| 742 | savemail. Problem reported by Richard Liu. |
| 743 | Immediately diagnose bogus sender addresses in SMTP. This |
| 744 | makes quite certain that crackers can't use this |
| 745 | class of attack. |
| 746 | Reliability Fix: check return value from fclose() and fsync() |
| 747 | in a few critical places. |
| 748 | Minor problem in initsys() that reversed a condition for |
| 749 | redirecting the output channel on queue runs. It's |
| 750 | not clear this code even does anything. From Eric |
| 751 | Wassenaar of the Dutch National Institute for Nuclear |
| 752 | and High-Energy Physics. |
| 753 | Fix some problems that caused queue runs to do "too much work", |
| 754 | such as double-reading the Errors-To: header. From |
| 755 | Eric Wassenaar. |
| 756 | Error messages on writing the temporary file (including the |
| 757 | data file) were getting suppressed in SMTP -- this |
| 758 | fix causes them to be properly reported. From Eric |
| 759 | Wassenaar. |
| 760 | Some changes to support AF_UNIX sockets -- this will only |
| 761 | really become relevant in the next release, but some |
| 762 | people need it for local patches. From Michael |
| 763 | Corrigan of UC San Diego. |
| 764 | Use dynamically allocated memory (instead of static buffers) |
| 765 | for macros defined in initsys() and settime(); since |
| 766 | these can have different values depending on which |
| 767 | envelope they are in. From Eric Wassenaar. |
| 768 | Improve logging to show ctladdr on to= logging; this tells you |
| 769 | what uid/gid processes ran as. |
| 770 | Fix a problem that caused error messages to be discarded if |
| 771 | the sender address was unparseable for some reason; |
| 772 | this was supposed to fall back to the "return to |
| 773 | postmaster" case. |
| 774 | Improve aliaswait backoff algorithm. |
| 775 | Portability patches for Linux (8.6.3 required another header |
| 776 | file) (from Karl London) and SCO UNIX. |
| 777 | CONFIG: patch prog mailer to not strip host name off of envelope |
| 778 | addresses (so that it matches local again). From |
| 779 | Christopher Davis. |
| 780 | CONFIG: change uucp-dom mailer so that "<>" translates to $n; |
| 781 | this prevents uux from seeing lines with null names like |
| 782 | ``From Sat Oct 30 14:55:31 1993''. From Motonori |
| 783 | Nakamura of Kyoto University. |
| 784 | CONFIG: handle <list:;> syntax correctly. This isn't legal, but |
| 785 | it shouldn't fail miserably. From Motonori Nakamura. |
| 786 | |
| 787 | 8.6.3/8.6.3 93/10/24 |
| 788 | IMPORTANT FIX: Fix several problems that caused open files to |
| 789 | be "lost" during queue runs; this overflowed the open |
| 790 | file table on large runs. An assumption that fdopen |
| 791 | always succeeds sometimes resulted in core dumps when |
| 792 | this happens; sometimes the message is delivered twice, |
| 793 | sometimes (probably) infinite times. This problem in |
| 794 | various form was reported by P{r (Pell) Emanuelsson and |
| 795 | Robert Campbell of U.C. Berkeley. |
| 796 | Special diagnosis of EMFILE error conditions -- it now prints |
| 797 | the known open file descriptors so you can figure out |
| 798 | what is consuming so much resources. |
| 799 | Fix a couple of problems caused by early address parsing |
| 800 | errors -- one caused it to return a "this is only a |
| 801 | warning" when it really wasn't, and the other started |
| 802 | parsing through a random pointer. The first was |
| 803 | noted by Eric Wassenaar. |
| 804 | Fix an infinite loop problem caused by null components in the |
| 805 | host signature. Problem noted by Jan Sorensen. |
| 806 | Be sure to reset the "current date" when sending an error |
| 807 | message -- PostMasterCopy messages were being sent |
| 808 | with an old Date: header. |
| 809 | Fix a problem that caused duplicated mail when sendmail was |
| 810 | (1) compiled without HASFLOCK, (2) you are sending to |
| 811 | an alias that has an owner-* alias, (3) you execute |
| 812 | sendmail with -t flag, (4) you run in -odb mode, and |
| 813 | (5) the sender specifies both the alias name and |
| 814 | another alias [i.e., the envelope is split], then |
| 815 | duplicate messages are sent. The problem description |
| 816 | and one-line fix are from Motonori Nakamura of Kyoto |
| 817 | University. |
| 818 | Avoid a problem that causes error messages to be discarded |
| 819 | in some cases -- this was the result of a "fix" to |
| 820 | avoid duplicate error messages, but two are better |
| 821 | than zero. Reported by Tim Rylance. |
| 822 | Fix a minor botch in checkfd012() -- fix from Dave Hill of |
| 823 | Computervision R&D Ltd. |
| 824 | Remove "X-Authentication-Warning: <user> set sender to <address> |
| 825 | using -f" entirely -- it is far too eager to include |
| 826 | this, and it is confusing folks. I'll try to make it |
| 827 | work "right" in 8.7. Problem noted by Yoshitaka |
| 828 | Tokugawa of dit Co., Ltd. |
| 829 | Fix a race condition with the errno value in tick() and |
| 830 | reapchild() -- this caused occasional misdiagnosis |
| 831 | of problems. Kyle Jones of UUNET helped this along. |
| 832 | Repair rule loop-detection code. From Michael Corrigan of |
| 833 | U.C. San Diego. |
| 834 | Fix a problem that caused sender domain addition (C mailer |
| 835 | flag to be ignored if you use -odq or use -odb with |
| 836 | a high load average. Problem reported by Jim Murray |
| 837 | of Stratus. |
| 838 | Fix ident protocol on multi-homed machines. It was not |
| 839 | always using the correct interface. Fix from J.R. |
| 840 | Oldroyd of Opal. |
| 841 | Previously, sendmail assumed that any SMTP greeting message |
| 842 | that wasn't 2xx was a temporary failure -- it should |
| 843 | only take 4xx as a temporary failure, and return a |
| 844 | solid error message on anything else -- for example, |
| 845 | to allow you to reject connections on a workstation |
| 846 | that is MXed to a mail server. |
| 847 | Portability enhancements for 386BSD/FreeBSD/NetBSD from |
| 848 | Ollivier Robert. |
| 849 | CONFIG: FEATURE(always_add_domain) didn't always add the domain; |
| 850 | in particular, on local mail it modified the header sender |
| 851 | but not the header recipient address(es). Reported by |
| 852 | Jeffrey Honig of Cornell University. Also, strip |
| 853 | any host from envelope recipient address(es), since |
| 854 | local mailers don't understand host names -- this is |
| 855 | to help mailertable entries. From Christopher Davis. |
| 856 | CONFIG: masquerading didn't apply to addresses that already |
| 857 | had a domain. This change replaces a local hostname |
| 858 | by the masquerade name in the SMTP mailer (previously |
| 859 | it only added the masquerade name if it didn't already |
| 860 | have a domain name). Several people complained about |
| 861 | this. |
| 862 | |
| 863 | 8.6.2/8.6.2 93/10/15 |
| 864 | Put a "successful delivery" message in the transcript for |
| 865 | addresses that get return-receipts. |
| 866 | Put a prominent "this is only a warning" message in warning |
| 867 | messages -- some people don't read carefully enough |
| 868 | and end up sending the message several times. |
| 869 | Include reason for temporary failure in the "warning" return |
| 870 | message. Currently, it just says "cannot send for |
| 871 | four hours". |
| 872 | Fix the "Original message received" time generated for |
| 873 | returntosender messages. It was previously listed as |
| 874 | the current time. Bug reported by Eric Hagberg of |
| 875 | Cornell University Medical College. |
| 876 | If there is an error when writing the body of a message, |
| 877 | don't send the trailing dot and wait for a response |
| 878 | in sender SMTP, as this could cause the connection to |
| 879 | hang up under some bizarre circumstances. From Eric |
| 880 | Wassenaar. |
| 881 | Fix some server SMTP synchronization problems caused when |
| 882 | connections fail during message collection. From |
| 883 | Eric Wassenaar. |
| 884 | Fix a problem that can cause srvrsmtp to reject mail if the |
| 885 | name server is down -- it accepts the RCPT but rejects |
| 886 | the DATA command. Problem reported by Jim Murray of |
| 887 | Stratus. |
| 888 | Fix a problem that can cause core dumps if the config file |
| 889 | incorrectly resolves to a null hostname. Reported by |
| 890 | Allan Johannesen of WPI. |
| 891 | Non-root use of -C flag, dangerous -f flags, and use of -oQ |
| 892 | by non-root users were not put into |
| 893 | X-Authentication-Warning:s as intended because the |
| 894 | config file hadn't set the PrivacyFlags yet. Fix |
| 895 | from Sven-Ove Westberg of the University of Lulea. |
| 896 | Under very odd circumstances, the alias file rebuild code |
| 897 | could get confused as to whether a database was |
| 898 | open or not. |
| 899 | Check "vendor code" on the end of V lines -- this is |
| 900 | intended to provide a hook for vendor-specific |
| 901 | configuration syntax. (This is a "new feature", |
| 902 | but I've made an exception to my rule in a belief |
| 903 | that this is a highly exceptional case.) |
| 904 | Portability fixes for DG/UX (from Douglas Anderson of NCSC), |
| 905 | SCO Unix (from Murray Kucherawy), A/UX, and OSF/1 |
| 906 | (from Jon Forrest of UC Berkeley) |
| 907 | CONFIG: fix ``mailer:host'' form of UUCP relay naming. |
| 908 | |
| 909 | 8.6.1/8.6 93/10/08 |
| 910 | Portability fixes for A/UX and Encore UMAX V. |
| 911 | Fix error message handling -- if you had a name server down |
| 912 | causing an error during parsing, that message was never |
| 913 | propogated to the queue file. |
| 914 | |
| 915 | 8.6/8.6 93/10/05 |
| 916 | Configuration cleanup: make it easier to undo IDENTPROTO in |
| 917 | conf.h (other systems have the same bug). |
| 918 | If HASGETDTABLESIZE and _SC_OPEN_MAX are both defined, assume |
| 919 | getdtablesize() instead of sysconf(); a disturbingly |
| 920 | large number of systems defined _SC_OPEN_MAX in the |
| 921 | header files but don't have the syscall. |
| 922 | Another patch to really truly ignore MX records in getcanonname |
| 923 | if trymx == FALSE. |
| 924 | Fix problem that caused the "250 IAA25499 Message accepted for |
| 925 | delivery" message to be omitted if there was an error |
| 926 | in the header of the message (e.g., a bad Errors-To: |
| 927 | line). Pointed out by Michael Corrigan of UCSD. |
| 928 | Announce name of host we are chatting when we get errors; this |
| 929 | is an IDA-ism suggested by Christophe Wolfhugel. |
| 930 | Portability fixes for Alpha OSF/1 (from Anthony Baxter of the |
| 931 | Australian Artificial Intelligence Institute), SCO Unix |
| 932 | (from Murray Kucherawy of Hookup Communication Corp.), |
| 933 | NeXT (from Vince DeMarco and myself), Linux (from |
| 934 | Karl London <karl@borg.demon.co.uk>), BSDI (from |
| 935 | Christophe Wolfhugel, and SVR4 on Dell (from Kimmo |
| 936 | Suominen), AUX 3.0 on Macintosh, and ANSI C compilers. |
| 937 | Some changes to get around gcc optimizer bugs. From Takahiro |
| 938 | Kanbe. |
| 939 | Fix error recovery in queueup if another tf file of the same |
| 940 | name already exists. Problem stumbled over by Bill |
| 941 | Wisner of The Well. |
| 942 | Output YP_MASTER_NAME and YP_LAST_MODIFIED without null bytes. |
| 943 | Problem noted by Keith McMillan of Ameritech Services. |
| 944 | Deal with group permissions properly when opening .forward and |
| 945 | :include: files. This relaxes the 8.1C restrictions |
| 946 | slightly more. This includes proper setting of groups |
| 947 | when reading :include: files, allowing you to read some |
| 948 | files that you should be able to read but have previously |
| 949 | been denied unless you owned them or they had "other" |
| 950 | read permission. |
| 951 | Make certain that $j is in $=w (after the .cf is read) so that |
| 952 | if the user is forced to override some silly system, |
| 953 | MX suppression will still work. |
| 954 | Fix a couple of efficiency problems where newstr was double- |
| 955 | calling expensive routines. In at least one case, it |
| 956 | wasn't guaranteed that they would always return the |
| 957 | same result. Problem noted by Christophe Wolfhugel. |
| 958 | Fix null pointer dereference in putoutmsg -- only on an error |
| 959 | condition from a non-SMTP mailer. From Motonori |
| 960 | Nakamura. |
| 961 | Macro expand "C" line class definitions before scanning so that |
| 962 | "CX $Z" works. |
| 963 | Fix problem that caused error message to be sent while still |
| 964 | trying to send the original message if the connection |
| 965 | is closed during a DATA command after getting an error |
| 966 | on an RCPT command (pretty obscure). Problem reported |
| 967 | by John Myers of CMU. |
| 968 | Fix reply to NOOP to be 250 instead of 200 -- this is a long |
| 969 | term bug. |
| 970 | Fix a nasty bug causing core dumps when returning the "warning: |
| 971 | cannot deliver for N hours -- will keep trying" message; |
| 972 | it only occurred if you had PostMasterCopy set and |
| 973 | only on some architectures. Although sendmail would |
| 974 | keep trying, it would send error messages on each |
| 975 | queue interval. This is an important fix. |
| 976 | Allow u and g options to take user and group names respectively. |
| 977 | Don't do a chdir into the queue directory in -bt mode to make |
| 978 | ruleset testing a bit easier. |
| 979 | Don't allow users to turn off logging (using -oL) on the command |
| 980 | line -- command line can only raise, not lower, logging |
| 981 | level. |
| 982 | Set $u to the original recipient on the SMTP transaction or on |
| 983 | the command line. This is only done if there is exactly |
| 984 | one recipient. Technically, this does not meet the |
| 985 | specs, because it does not guarantee a domain on the |
| 986 | address. |
| 987 | Fix a problem that dumped error messages on bad addresses if |
| 988 | you used the -t flag. Problem noted by Josh Smith of |
| 989 | Harvey Mudd College. |
| 990 | Given an address such as ``<foo> <bar>'', auto-quote the first |
| 991 | ``<foo>'' part, giving ``"<foo>" <bar>''. This is to |
| 992 | avoid the problem of people who use angle brackets in |
| 993 | their full name information. |
| 994 | Fix a null pointer dereference if you set option "l", have |
| 995 | an Errors-To: header in the message, and have Errors-To: |
| 996 | defined in the config file H lines. From J.R. Oldroyd. |
| 997 | Put YPCOMPAT on #ifdef NIS instead -- it's one less thing to get |
| 998 | wrong when compiling. Suggested by Rick McCarty of TI. |
| 999 | Fix a problem that could pass negative SIZE parameter if the |
| 1000 | df file got lost; this would cause servers to always |
| 1001 | give a temporary failure, making the problem even worse. |
| 1002 | Problem noted by Allan Johannesen of WPI. |
| 1003 | Add "ident" timeout (one of the "r" option selectors) for IDENT |
| 1004 | protocol timeouts (30s default). Requested by Murray |
| 1005 | Kucherawy of HookUp Communication Corp. to handle bogus |
| 1006 | PC TCP/IP implementations. |
| 1007 | Change $w default definition to be just the first component of |
| 1008 | the domain name on config level 5. The $j macro defaults |
| 1009 | to the FQDN; $m remains as before. This lets well-behaved |
| 1010 | config files use any of the short, long, or subdomain |
| 1011 | names. |
| 1012 | Add makesendmail script in src to try to automate multi-architecture |
| 1013 | builds. I know, this is sub-optimal, but it is still |
| 1014 | helpful. |
| 1015 | Fix very obscure race condition that can cause a queue run to |
| 1016 | get a queue file for an already completed job. This |
| 1017 | problem has existed for years. Problem noted by the |
| 1018 | long suffering Allan Johannesen of WPI. |
| 1019 | Fix a problem that caused the raw sender name to be passed to |
| 1020 | udbsender instead of the canonified name -- this caused |
| 1021 | it to sometimes miss records that it should have found. |
| 1022 | Relax check of name on HELO packet so that a program using -bs |
| 1023 | that claims to be itself works properly. |
| 1024 | Restore rewriting of $: part of address through 2, R, 4 in |
| 1025 | buildaddr -- this requires passing a lot of flags to get |
| 1026 | it right. Unlike old versions, this ONLY rewrites |
| 1027 | recipient addresses, not sender addresses. |
| 1028 | Fix a bug that caused core dumps in config files that cannot |
| 1029 | resolve /file/name style addresses. Fix from Jonathan |
| 1030 | Kamens of OpenVision Technologies. |
| 1031 | Fix problem with fcntl locking that can cause error returns to |
| 1032 | be lost if the lock is lost; this required fully |
| 1033 | queueing everything, dropping the envelope (so errors |
| 1034 | would get returned), and then re-reading the queue from |
| 1035 | scratch. |
| 1036 | Fix a problem that caused aliases that redefine an otherwise |
| 1037 | true address to still send to the original address |
| 1038 | if and only if the alias failed in certain bizarre |
| 1039 | ways (e.g, if they pointed at a list:; syntax address). |
| 1040 | Problem pointed out by Jonathan Kamens. |
| 1041 | Remove support for frozen configuration files. They caused |
| 1042 | more trouble than it was worth. |
| 1043 | Fix problem that can cause error messages to get ignored when |
| 1044 | using both -odb and -t flags. Problem noted by Rob |
| 1045 | McNicholas at U.C. Berkeley. |
| 1046 | Include all "normal" variations on hostname in $=w. For example, |
| 1047 | if the host name is vangogh.cs.berkeley.edu, $=w will |
| 1048 | contain vangogh, vangogh.cs, and vangogh.cs.berkeley.edu. |
| 1049 | Add "restrictqrun" privacy flag -- without this, anyone can run |
| 1050 | the queue. |
| 1051 | Reset SmtpPhase global on initial connection creation so that |
| 1052 | messages don't come out with stale information. |
| 1053 | Pass an "ext" argument to lockfile so that error/log messages |
| 1054 | will properly reflect the true filename being locked. |
| 1055 | Put all [...] address forms into $=w -- this eliminates the need |
| 1056 | for MAXIPADDR in conf.h. Suggested by John Gardiner |
| 1057 | Myers of CMU. |
| 1058 | Fix a bug that can cause qf files to be left around even after |
| 1059 | an SMTP RSET command. Problem and fix from Michael |
| 1060 | Corrigan. |
| 1061 | Don't send a PostMasterCopy to errors when the Precedence: is |
| 1062 | negative. Error reports still go to the envelope |
| 1063 | sender address. |
| 1064 | Add LA_SHORT for load averages. |
| 1065 | Lock sendmail.st file when posting statistics. |
| 1066 | Add "SendBufSize" and "RcvBufSize" suboptions to "O" option to |
| 1067 | set the size of the TCP send and receive buffers; if you |
| 1068 | run over a slow slip line you may need to set these down |
| 1069 | (although it would be better to fix the SLIP implementation |
| 1070 | so that it's not necessary to recompile every program |
| 1071 | that does bulk data transfer). |
| 1072 | Allow null defaults on $( ... $) lookups. Problem reported by |
| 1073 | Amir Plivatsky. |
| 1074 | Diagnose crufty S and V config lines. This resulted from an |
| 1075 | observation that some people were using the SITE macro |
| 1076 | without the SITECONFIG macro first, which was causing |
| 1077 | bogus config files that were not caught. |
| 1078 | Fix makemap -f flag to turn off case folding (it was turning it |
| 1079 | on instead). THIS IS A USER VISIBLE CHANGE!!! |
| 1080 | Fix a problem that caused multiple error messages to be sent if |
| 1081 | you used "sendmail -t -oem -odb", your system uses fcntl |
| 1082 | locking, and one of the recipient addresses is unknown. |
| 1083 | Reset uid earlier in include() so that recursive .forwards or |
| 1084 | :include:s don't use the wrong uid. |
| 1085 | If file descriptor 0, 1, or 2 was closed when sendmail was |
| 1086 | called, the code to recover the descriptor was broken. |
| 1087 | This sometimes (only sometimes) caused problems with the |
| 1088 | alias file. Fix from Motonori Nakamura. |
| 1089 | Fix a problem that caused aliaswait to go into infinite recursion |
| 1090 | if the @:@ metasymbol wasn't found in the alias file. |
| 1091 | Improve error message on newaliases if database files cannot be |
| 1092 | opened or if running with no database format defined. |
| 1093 | Do a better estimation of the size of error messages when NoReturn |
| 1094 | is set. Problem noted by P{r (Pell) Emanuelsson. |
| 1095 | Fix a problem causing the "c" option (don't connect to expensive |
| 1096 | mailers) to be ignored in SMTP. Problem noted and the |
| 1097 | solution suggested by Robert Elz of Munnari University. |
| 1098 | Improve connection caching algorithm by passing "[host]" to |
| 1099 | hostsignature, which strips the square brackets and |
| 1100 | returns the real name. This allows mailertable entries |
| 1101 | to match regular entries. |
| 1102 | Re-enable Return-Receipt-To: -- people seem to want this stupid |
| 1103 | feature, even if it doesn't work right. |
| 1104 | Catch and log attempts to try the "wiz" command in server SMTP. |
| 1105 | This also ups the log level from LOG_NOTICE to LOG_CRIT. |
| 1106 | Be more generous at assigning $z to the home directory -- do this |
| 1107 | for programs that are specified through a .forward file. |
| 1108 | Fix from Andrew Chang of Sun Microsystems. |
| 1109 | Always save a fatal error message in preference to a non-fatal |
| 1110 | error message so that the "subject" line of return |
| 1111 | messages is the best possible. |
| 1112 | CONFIG: reduce the number of quotes needed to quote configuration |
| 1113 | parameters with commas: two quotes should work now, e.g., |
| 1114 | define(ALIAS_FILE, ``/etc/aliases,/etc/aliases.local''). |
| 1115 | CONFIG: class $=Z is a set of UUCP hosts that use uucp-dom |
| 1116 | connections (domain-ized UUCP). |
| 1117 | CONFIG: fix bug in default maps (-o must be before database file |
| 1118 | name). Pointed out by Christophe Wolfhugel. |
| 1119 | CONFIG: add FEATURE(nodns) to state that we are not relying on |
| 1120 | DNS. This would presumably be used in UUCP islands. |
| 1121 | CONFIG: add OSTYPE(nextstep) and OSTYPE(linux). |
| 1122 | CONFIG: log $u in Received: line. This is in technical violation |
| 1123 | of the standards, since it doesn't guarantee a domain |
| 1124 | on the address. |
| 1125 | CONFIG: don't assume "m" in local mailer flags -- this means that |
| 1126 | if you redefine LOCAL_MAILER_FLAGS you will have to include |
| 1127 | the "m" flag should you want it. Apparently some Solaris 2.2 |
| 1128 | installations can't handle multiple local recipients. |
| 1129 | Problem noted by Josh Smith. |
| 1130 | CONFIG: add confDOMAIN_NAME to set $j (if undefined, $j defaults). |
| 1131 | CONFIG: change default version level from 4 to 5. |
| 1132 | CONFIG: add FEATURE(nullclient) to create a config file that |
| 1133 | forwards all mail to a hub without ever looking at the |
| 1134 | addresses in any detail. |
| 1135 | CONFIG: properly strip mailer: information off of relays when |
| 1136 | used to change .BITNET form into %-hack form. |
| 1137 | CONFIG: fix a problem that caused infinite loops if presented |
| 1138 | with an address such as "!foo". |
| 1139 | CONFIG: check for self literal (e.g., [128.32.131.12]) even if |
| 1140 | the reverse "PTR" mapping is broken. There's a better |
| 1141 | way to do this, but the change is fairly major and I |
| 1142 | want to hold it for another release. Problem noted by |
| 1143 | Bret Marquis. |
| 1144 | |
| 1145 | 8.5/8.5 93/07/23 |
| 1146 | Serious bug: if you used a command line recipient that was unknown |
| 1147 | sendmail would not send a return message (it was treating |
| 1148 | everything as though it had an SMTP-style client that |
| 1149 | would do the return itself). Problem noted by Josh Smith. |
| 1150 | Change "trymx" option in getcanonname() to ignore all MX data, |
| 1151 | even during a T_ANY query. This actually didn't break |
| 1152 | anything, because the only time you called getcanonname |
| 1153 | with !trymx was if you already knew there were no MX |
| 1154 | records, but it is somewhat cleaner. From Motonori |
| 1155 | Nakamura. |
| 1156 | Don't call getcanonname from getmxrr if you already know there |
| 1157 | are no DNS records matching the name. |
| 1158 | Fix a problem causing error messages to always include "The |
| 1159 | original message was received ... from localhost". |
| 1160 | The correct original host information is now included. |
| 1161 | Previous change to cf/sh/makeinfo.sh doesn't port to Ultrix (their |
| 1162 | version of "test" doesn't have the -x flag). Change it |
| 1163 | to use -f instead. From John Myers. |
| 1164 | CONFIG: 8.4 mistakenly set the default SMTP-style mailer to |
| 1165 | esmtp -- it should be smtp. |
| 1166 | CONFIG: send all relayed mail using confRELAY_MAILER (defaults |
| 1167 | to "relay" (a variant of "smtp") if MAILER(smtp) is used, |
| 1168 | else "suucp" if MAILER(uucp) is used, else "unknown"); |
| 1169 | this cleans up the configs somewhat. This fixes a serious |
| 1170 | problem that caused route-addrs to get mistaken as relays, |
| 1171 | pointed out by John Myers. WARNING: this also causes |
| 1172 | the default on SMART_HOST to change from "suucp" to |
| 1173 | "relay" if you have MAILER(smtp) specified. |
| 1174 | |
| 1175 | 8.4/8.4 93/07/22 |
| 1176 | Add option `w'. If you receive a message that comes to you because |
| 1177 | you are the best (lowest preference) target of an MX, and |
| 1178 | you haven't explicitly recognized the source MX host in |
| 1179 | your .cf file, this option will cause you to try the target |
| 1180 | host directly (as if there were no MX for it at all). If |
| 1181 | `w' is not set, this case is a configuration error. |
| 1182 | Beware: if `w' is set, senders may get bogus errors like |
| 1183 | "message timed out" or "host unknown" for problems that |
| 1184 | are really configuration errors. This option is |
| 1185 | disrecommended, provided only for compatibility with |
| 1186 | UIUC sendmail. |
| 1187 | Fix a problem that caused the incoming socket to be left open |
| 1188 | when sendmail forks after the DATA command. This caused |
| 1189 | calling systems to wait in FIN_WAIT_2 state until the |
| 1190 | entire list was processed and the child closed -- a |
| 1191 | potentially prodigious amount of time. Problem noted |
| 1192 | by Neil Rickert. |
| 1193 | Fix problem (created in 6.64) that caused mail sent to multiple |
| 1194 | addresses, one of which was a bad address, to completely |
| 1195 | suppress the sending of the message. This changes |
| 1196 | handling of EF_FATALERRS somewhat, and adds an |
| 1197 | EF_GLOBALERRS flag. This also fixes a potential problem |
| 1198 | with duplicate error messages if there is a syntax error |
| 1199 | in the header of a message that isn't noticed until late |
| 1200 | in processing. Original problem pointed out by Josh Smith |
| 1201 | of Harvey Mudd College. This release includes quite a bit |
| 1202 | of dickering with error handling (see below). |
| 1203 | Back out SMTP transaction if MAIL gets nested 501 error. This |
| 1204 | will only hurt already-broken software and should help |
| 1205 | humans. |
| 1206 | Fix a problem that broke aliases when neither NDBM nor NEWDB were |
| 1207 | compiled in. It would never read the alias file. |
| 1208 | Repair unbalanced `)' and `>' (the "open" versions are already |
| 1209 | repaired). |
| 1210 | Logging of "done" in dropenvelope() was incorrect: it would |
| 1211 | log this even when the queue file still existed. Change |
| 1212 | this to only log "done" (at log level 11) when the |
| 1213 | queue file is actually removed. From John Myers. |
| 1214 | Log "lost connection" in server SMTP at log level 20 if there |
| 1215 | is no pending transaction. Some senders just close the |
| 1216 | connection rather than sending QUIT. |
| 1217 | Fix a bug causing getmxrr to add a dot to the end of unqualified |
| 1218 | domains that do not have MX records -- this would cause |
| 1219 | the subsequent host name lookup to fail. The problem |
| 1220 | only occurred if you had FEATURE(nocanonify) set. |
| 1221 | Problem noted by Rick McCarty of Texas Instruments. |
| 1222 | Fix invocation of setvbuf when passed a -X flag -- I had |
| 1223 | unwittingly used an ANSI C extension, and this caused |
| 1224 | core dumps on some machines. |
| 1225 | Diagnose self-destructive alias loops on RCPT as well as EXPN. |
| 1226 | Previously it just gave an empty send queue, which |
| 1227 | then gave either "Need RCPT (recipient)" at the DATA |
| 1228 | (confusing, since you had given an RCPT command which |
| 1229 | returned 250) or just dropped the email, depending on |
| 1230 | whether you were running VERBose mode. Now it usually |
| 1231 | diagnoses this case as "aliasing/forwarding loop broken". |
| 1232 | Unfortunately, it still doesn't adequately diagnose |
| 1233 | some true error conditions. |
| 1234 | Add internal concept of "warning messages" using 6xx codes. |
| 1235 | These are not reported only to Postmaster. Unbalanced |
| 1236 | parens, brackets, and quotes are printed as 653 codes. |
| 1237 | They are always mapped to 5xx codes before use in SMTP. |
| 1238 | Clean up error messages to tell both the actual address that |
| 1239 | failed and the alias they arose from. This makes it |
| 1240 | somewhat easier to diagnose problems. Difficulty noted |
| 1241 | by Motonori Nakamura. |
| 1242 | Fix a problem that inappropriately added a ctladdr to addresses |
| 1243 | that shouldn't have had one during a queue run. This |
| 1244 | caused error messages to be handled differently during |
| 1245 | a queue run than a direct run. |
| 1246 | Don't print the qf name and line number if you get errors during |
| 1247 | the direct run of the queue from srvrsmtp -- this was |
| 1248 | just extra stuff for users to crawl through. |
| 1249 | Put command line flags on second line of pid file so you can |
| 1250 | auto-restart the daemon with all appropriate arguments. |
| 1251 | Use "kill `head -1 /etc/sendmail.pid`" to stop the |
| 1252 | daemon, and "eval `tail -1 /etc/sendmail.pid`" to |
| 1253 | restart it. |
| 1254 | Remove the ``setuid(getuid())'' in main -- this caused the |
| 1255 | IDENT daemon to screw up. This required that I change |
| 1256 | HASSETEUID to HASSETREUID and complicate the mode |
| 1257 | changing somewhat because both Ultrix and SunOS seem |
| 1258 | to have a bug causing seteuid() to set the saved uid |
| 1259 | as well as the effective. The program test/t_setreuid.c |
| 1260 | will test to see if your implementation of setreuid(2) |
| 1261 | is appropriately functional. |
| 1262 | The FallBackMX (option V) handling failed to properly identify |
| 1263 | fallback to yourself -- most of the code was there, |
| 1264 | but it wasn't being enabled. Problem noted by Murray |
| 1265 | Kucherawy of the University of Waterloo. |
| 1266 | Change :include: open timeout from ETIMEDOUT to an internal |
| 1267 | code EOPENTIMEOUT; this avoids adding "during SmtpPhase |
| 1268 | with CurHostName" in error messages, which can be |
| 1269 | confusing. Reported by Jonathan Kamens of OpenVision |
| 1270 | Technologies. |
| 1271 | Back out setpgrp (setpgid on POSIX systems) call to reset the |
| 1272 | process group id. The original fix was to get around |
| 1273 | some problems with recalcitrant MUAs, but it breaks |
| 1274 | any call from a shell that creates a process group id |
| 1275 | different from the process id. I could try to fix |
| 1276 | this by diddling the tty owner (using tcsetpgrp or |
| 1277 | equivalent) but this is too likely to break other |
| 1278 | things. |
| 1279 | Portability changes: |
| 1280 | Support -M as equivalent to -oM on Ultrix -- apparently |
| 1281 | DECnet calls sendmail with -MrDECnet -Ms<HOST> -bs |
| 1282 | instead of using standard flags. Oh joy. This |
| 1283 | behaviour reported by Jon Giltner of University |
| 1284 | of Colorado. |
| 1285 | SGI IRIX -- this includes several changes that should |
| 1286 | help other strict ANSI compilers. |
| 1287 | SCO Unix -- from Murray Kucherawy of HookUp Communication |
| 1288 | Corporation. |
| 1289 | Solaris running the Sun C compiler (which despite the |
| 1290 | documentation apparently doesn't define |
| 1291 | __STDC__ by default). |
| 1292 | ConvexOS from Eric Schnoebelen of Convex. |
| 1293 | Sony NEWS workstations and Omron LUNA workstations from |
| 1294 | Motonori Nakamura. |
| 1295 | CONFIG: add confTRY_NULL_MX_LIST to set option `w'. |
| 1296 | CONFIG: delete `C' and `e' from default SMTP mailers flags; |
| 1297 | several people have made a good argument that this |
| 1298 | creates more problems than it solves (although this |
| 1299 | may prove painful in the short run). |
| 1300 | CONFIG: generalize all the relays to accept a "mailer:host" |
| 1301 | format. |
| 1302 | CONFIG: move local processing in ruleset 0 into a new ruleset |
| 1303 | 98 (8 on old sendmail). Domain literal [a.b.c.d] |
| 1304 | addresses are also passed through this ruleset. |
| 1305 | CONFIG: if neither SMART_HOST nor MAILER(smtp) were defined, |
| 1306 | internet-style addresses would "fall off the end" of |
| 1307 | ruleset zero and be interpreted as local -- however, |
| 1308 | the angle brackets confused the recursive call. |
| 1309 | These are now diagnosed as "Unrecognized host name". |
| 1310 | CONFIG: USENET rules weren't included in S0 because of a mistaken |
| 1311 | ifdef(`_MAILER_USENET_') instead of |
| 1312 | ifdef(`_MAILER_usenet_'). Problem found by Rein Tollevik |
| 1313 | of SINTEF RUNIT, Oslo. |
| 1314 | CONFIG: move up LOCAL_RULE_0 processing so that it happens very |
| 1315 | early in ruleset 0; this allows .mc authors to bypass |
| 1316 | things like the "short circuit" code for local addresses. |
| 1317 | Prompted by a comment by Bill Wisner of The Well. |
| 1318 | CONFIG: add confSMTP_MAILER to define the mailer used (smtp or |
| 1319 | esmtp) to send SMTP mail. This allows you to default |
| 1320 | to esmtp but use a mailertable or other override to |
| 1321 | deal with broken servers. This logic was pointed out |
| 1322 | to me by Bill Wisner. Ditto for confLOCAL_MAILER. |
| 1323 | Changes to cf/sh/makeinfo.sh to make it portable to SVR4 |
| 1324 | environments. Ugly as sin. |
| 1325 | |
| 1326 | 8.3/8.3 93/07/13 |
| 1327 | Fix setuid problems introduced in 8.2 that caused messages |
| 1328 | like "Cannot create qfXXXXXX: Invalid argument" |
| 1329 | or "Cannot reopen dfXXXXXX: Permission denied". This |
| 1330 | involved a new compile flag "HASSETEUID" that takes |
| 1331 | the place of the old _POSIX_SAVED_IDS -- it turns out |
| 1332 | that the POSIX interface is broken enough to break |
| 1333 | some systems badly. This includes some fixes for |
| 1334 | HP-UX. Also fixes problems where the real uid is |
| 1335 | not reset properly on startup (from Neil Rickert). |
| 1336 | Fix a problem that caused timed out messages to not report the |
| 1337 | addresses that timed out. Error messages are also more |
| 1338 | "user friendly". |
| 1339 | Drop required bandwidth on connections from 64 bytes/sec to |
| 1340 | 16 bytes/sec. |
| 1341 | Further Solaris portability changes -- doesn't require the BSD |
| 1342 | compatibility library. This also adds a new |
| 1343 | "HASGETDTABLESIZE" compile flag which can be used if |
| 1344 | you want to use getdtablesize(2) instead of sysconf(2). |
| 1345 | These are loosely based on changes from David Meyer at |
| 1346 | University of Oregon. This now seems to work, at least |
| 1347 | for quick test cases. |
| 1348 | Fix a problem that can cause duplicate error messages to be |
| 1349 | sent if you are in SMTP, you send to multiple addresses, |
| 1350 | and at least one of those addresses is good and points |
| 1351 | to an account that has a .forward file (whew!). |
| 1352 | Fix a problem causing messages to be discarded if checkcompat() |
| 1353 | returned EX_TEMPFAIL (because it didn't properly mark |
| 1354 | the "to" address). Problem noted by John Myers. |
| 1355 | Fix dfopen to return NULL if the open failed; I was depending |
| 1356 | on fdopen(-1) returning NULL, which isn't the case. This |
| 1357 | isn't serious, but does result in wierd error diagnoses. |
| 1358 | From Michael Corrigan. |
| 1359 | CONFIG: add UUCP_MAX_SIZE M4 macro to set the maximum size of |
| 1360 | messages sent through UUCP-family mailers. Suggested |
| 1361 | by Bill Wisner of The Well. |
| 1362 | CONFIG: if both MAILER(uucp) and MAILER(smtp) are specified, |
| 1363 | include a "uucp-dom" mailer that uses domain-style |
| 1364 | addressing. Suggested by Bill Wisner. |
| 1365 | CONFIG: Add LOCAL_SHELL_FLAGS and LOCAL_SHELL_ARGS to match |
| 1366 | LOCAL_MAILER_FLAGS and LOCAL_MAILER_ARGS. Suggested by |
| 1367 | Christophe Wolfhugel. |
| 1368 | CONFIG: Add OSTYPE(aix3). From Christophe Wolfhugel. |
| 1369 | |
| 1370 | 8.2/8.2 93/07/11 |
| 1371 | Don't drop out on config file parse errors in -bt mode. |
| 1372 | On older configuration files, assume option "l" (use Errors-To |
| 1373 | header) for back compatibility. NOTE: this DOES NOT |
| 1374 | imply an endorsement of the Errors-To: header in any way. |
| 1375 | Accept -x flag on AIX-3 as well as OSF/1. Why, why, why??? |
| 1376 | Don't log errors on EHLO -- it isn't a "real" error for an old |
| 1377 | SMTP server to give an error on this command, and |
| 1378 | logging it in the transcript can be confusing. Fix |
| 1379 | from Bill Wisner. |
| 1380 | IRIX compatibility changes provided by Dan Rich |
| 1381 | <drich@sandman.lerc.nasa.gov>. |
| 1382 | Solaris 2 compatibility changes. Provided by Bob Cunningham |
| 1383 | <bob@kahala.soest.hawaii.edu>, John Oleynick |
| 1384 | <juo@klinzhai.rutgers.edu> |
| 1385 | Debugging: -d17 was overloaded (hostsignature and usersmtp.c); |
| 1386 | move usersmtp (smtpinit and smtpmailfrom) to -d18 to |
| 1387 | match the other flags in that file. |
| 1388 | Flush transcript before fork in mailfile(). From Eric Wassenaar. |
| 1389 | Save h_errno in mci struct and improve error message display. |
| 1390 | Changes from Eric Wassenaar. |
| 1391 | Open /dev/null for the transcript if the create of the xf file |
| 1392 | failed; this avoids at least one possible null pointer |
| 1393 | reference in very wierd cases. From Eric Wassenaar. |
| 1394 | Clean up statistics gathering; it was over-reporting because of |
| 1395 | forks. From Eric Wassenaar. |
| 1396 | Fix problem that causes old Return-Path: line to override new |
| 1397 | Return-Path: line (conf.c needs H_FORCE to avoid |
| 1398 | re-using old value). From Motonori Nakamura. |
| 1399 | Fix broken -m flag in K definition -- even if -m (match only) |
| 1400 | was specified, it would still replace the key with the |
| 1401 | value. Noted by Rick McCarty of Texas Instruments. |
| 1402 | If the name server timed out over several days, no "timed out" |
| 1403 | message would ever be sent back. The timeout code |
| 1404 | has been moved from markfailure() to dropenvelope() |
| 1405 | so that all such failures should be diagnosted. Pointed |
| 1406 | out by Christophe Wolfhugel and others. |
| 1407 | Relax safefile() constraints: directories in an include or |
| 1408 | forward path must be readable by self if the controlling |
| 1409 | user owns the entry, readable by all otherwise (e.g., |
| 1410 | when reading your .forward file, you have to own and |
| 1411 | have X permssion in it; everyone needs X permission in |
| 1412 | the root and directories leading up to your home); |
| 1413 | include files must be readable by anyone, but need not |
| 1414 | be owned by you. |
| 1415 | If _POSIX_SAVED_IDS is defined, setuid to the owner before |
| 1416 | reading a .forward file; this gets around some problems |
| 1417 | on NFS mounts if root permission is not exported and |
| 1418 | the user's home directory isn't x'able. |
| 1419 | Additional NeXT portability enhancements from Axel Zinser. |
| 1420 | Additional HP-UX portability enhancements from Brian Bullen. |
| 1421 | Add a timeout around SMTP message writes; this assumes you can |
| 1422 | get throughput of at least 64 bytes/second. Note that |
| 1423 | this does not impact the "datafinal" default, which |
| 1424 | is separate; this is just intended to work around |
| 1425 | network clogs that will occur before the final dot |
| 1426 | is sent. From Eric Wassenaar. |
| 1427 | Change map code to set the "include null" flag adaptively -- |
| 1428 | it initially tries both, but if it finds anything |
| 1429 | matching without a null it never tries again with a |
| 1430 | null and vice versa. If -N is specified, it never |
| 1431 | tries without the null and creates new maps with a |
| 1432 | null byte. If -O is specified, it never tries with |
| 1433 | the null (for efficiency). If -N and -O are specified, |
| 1434 | you get -NO (get it?) lookup at all, so this would |
| 1435 | be a bad idea. If you don't specify either -N or -O, |
| 1436 | it adapts. |
| 1437 | Fix recognition of "same from address" so that MH submissions |
| 1438 | will insert the appropriate full name information; |
| 1439 | this used to work and got broken somewhere along the |
| 1440 | way. |
| 1441 | Some changes to eliminate some unnecessary SYSERRs in the |
| 1442 | log. For example, if you lost a connection, don't |
| 1443 | bother reporting that fact on the connection you lost. |
| 1444 | Add some "extended debugging" flags to try to track down |
| 1445 | why we get occassional problems with file descriptor |
| 1446 | one being closed when execing a mailer; it seems to |
| 1447 | only happen when there has been another error in the |
| 1448 | same transaction. This requires XDEBUG, defined |
| 1449 | by default in conf.h. |
| 1450 | Add "-X filename" command line flag, which logs both sides of |
| 1451 | all SMTP transactions. This is intended ONLY for |
| 1452 | debugging bad implementations of other mailers; start |
| 1453 | it up, send a message from a mailer that is failing, |
| 1454 | and then kill it off and examine the indicated log. |
| 1455 | This output is not intended to be particularly human |
| 1456 | readable. This also adds the HASSETVBUF compile |
| 1457 | flag, defaulted on if your compiler defines __STDC__. |
| 1458 | CONFIG: change SMART_HOST to override an SMTP mailer. If you |
| 1459 | have a local net that should get direct connects, you |
| 1460 | will need to use LOCAL_NET_CONFIG to catch these hosts. |
| 1461 | See cf/README for an example. |
| 1462 | CONFIG: add LOCAL_MAILER_ARGS (default: `mail -d $u') to handle |
| 1463 | sites that don't use the -d flag. |
| 1464 | CONFIG: hide recipient addresses as well as sender addresses |
| 1465 | behind $M if FEATURE(allmasquerade) is specified; this |
| 1466 | has been requested by several people, but can break |
| 1467 | local aliases. For example, if you mail to "localalias" |
| 1468 | this will be rewritten as "localalias@masqueradehost"; |
| 1469 | although initial delivery will work, replies will be |
| 1470 | broken. Use it sparingly. |
| 1471 | CONFIG: add FEATURE(domaintable). This maps unqualified domains |
| 1472 | to qualified domains in headers. I believe this is |
| 1473 | largely equivalent to the IDA feature of the same name. |
| 1474 | CONFIG: use $U as UUCP name instead of $k. This permits you |
| 1475 | to override the "system name" as your UUCP name -- |
| 1476 | in particular, to use domain-ized UUCP names. From |
| 1477 | Bill Wisner of The Well. |
| 1478 | CONFIG: create new mailer "esmtp" that always tries EHLO |
| 1479 | first. This is currently unused in the config files, |
| 1480 | but could be used in a mailertable entry. |
| 1481 | |
| 1482 | 8.1C/8.1B 93/06/27 |
| 1483 | Serious security bug fix: it was possible to read any file on |
| 1484 | the system, regardless of ownership and permissions. |
| 1485 | If a subroutine returns a fully qualified address, return it |
| 1486 | immediately instead of feeding it back into rewriting. |
| 1487 | This fixes a problem with mailertable lookups. |
| 1488 | CONFIG: fix some M4 frotz (concat => CONCAT) |
| 1489 | |
| 1490 | 8.1B/8.1A 93/06/12 |
| 1491 | Serious bug fix: pattern matching backup algorithm stepped by |
| 1492 | two tokens in classes instead of one. Found by Claus |
| 1493 | Assmann at University of Kiel, Germany. |
| 1494 | |
| 1495 | 8.1A/8.1A 93/06/08 |
| 1496 | Another mailertable fix.... |
| 1497 | |
| 1498 | 8.1/8.1 93/06/07 |
| 1499 | 4.4BSD freeze. No semantic changes. |
| 1500 | |
| 1501 | 6.65/6.34 93/06/06 |
| 1502 | Fix some lintish problems. |
| 1503 | Fix some cases where server SMTP behaved poorly when handed bogus |
| 1504 | input, pointed out by Eric Wassenaar. |
| 1505 | CONFIG: fix some more (sigh) mailertable bugs -- thanks to |
| 1506 | Motonori Nakamura of Kyoto University (again). |
| 1507 | |
| 1508 | 6.64/6.33 93/06/05 |
| 1509 | Don't send 050 (-v) information after the 250 response to a QUIT |
| 1510 | command in srvrsmtp -- clients usually close the connection |
| 1511 | at this point, and it causes bogus error messages. |
| 1512 | Don't send messages that have errors on input (such as unbalanced |
| 1513 | parentheses) during SMTP transactions, since a return |
| 1514 | message has (probably) already been sent. |
| 1515 | Give better diagnostics on timeouts during network reads, including |
| 1516 | information similar to the SMTP phase. |
| 1517 | Fix bug that caused SMTP messages to deliver synchronously; this |
| 1518 | happened after the DATA 250, and hence caused reading the |
| 1519 | next command to be delayed. |
| 1520 | Ignore Errors-To: header unless 'l' (lower case el) header is |
| 1521 | specified. The Errors-To: header violates RFC 1123. |
| 1522 | Errors-To: was only needed to take the place of the |
| 1523 | envelope sender in the days when most Unix mailers |
| 1524 | didn't understand about the two kinds of senders. |
| 1525 | Don't send warning messages in response to automatically generated |
| 1526 | messages (that is, those From:<>). |
| 1527 | CONFIG: fix some rather stupid typos in the mailertable code |
| 1528 | pointed out by Motonori Nakamura of Kyoto University. |
| 1529 | CONFIG: add confUSE_ERRORS_TO configuration option. |
| 1530 | CONFIG: if ALWAYS_ADD_DOMAIN is selected, try to use $M |
| 1531 | (masquerade name) instead of $j. |
| 1532 | CONFIG: don't add dots to relay names (added in 6.29); it breaks |
| 1533 | several things, and can be simulated by dot terminating |
| 1534 | the names of relays. For example, use: |
| 1535 | DBbit.net.relay. |
| 1536 | (note the trailing dot). |
| 1537 | |
| 1538 | 6.63/6.32 93/06/01 |
| 1539 | Fix prototypes to eliminate chars in argument lists -- some |
| 1540 | compilers are pissy about this. |
| 1541 | Log protocol ($r) and body type if set so we can determine if |
| 1542 | the adaptive algorithms are working. |
| 1543 | Pessimize on locking of database files (particularly for NEWDB |
| 1544 | databases) during opens. There were problems with |
| 1545 | processes opening the file while it was rebuilt; since |
| 1546 | NEWDB caches heavily, the reader opened an empty file, |
| 1547 | which is an error. If your system has the ability to |
| 1548 | lock atomically on open, this works properly; otherwise, |
| 1549 | there are race conditions. |
| 1550 | Check mod time on .pag file instead of .dir in NDBM aliases |
| 1551 | because the .dir file doesn't get updated for small |
| 1552 | alias files. From John Gardiner Myers of CMU. |
| 1553 | More Solaris portability -- it now compiles on Solaris, but |
| 1554 | hangs up in gethostbyname(). |
| 1555 | Move setting of RES_DEBUG flag before first myhostname() call |
| 1556 | so we can see name server traffic on that call. |
| 1557 | Fsync() queue files. |
| 1558 | Fix a problem that causes -bi to try to rebuild maps other than |
| 1559 | the alias file(s). |
| 1560 | Fix a problem that caused udb to reject entries from any but |
| 1561 | the first database listed. |
| 1562 | Rearrange doc subdirectory for 4.4BSD release tape. |
| 1563 | CONFIG: put $r into the Received line. This was an oversight. |
| 1564 | CONFIG: fix typo (call to ruleset 99 should have been rulset 90). |
| 1565 | CONFIG: move "auxiliary" subroutines to be in ruleset 90-99 |
| 1566 | range -- in the long run, single digit rulesets may |
| 1567 | become reserved for builtin use by sendmail. |
| 1568 | CONFIG: fix major problem that causes host aliases (that is, |
| 1569 | anything in $=w != $j) to not be recognized. This has |
| 1570 | been around since 6.30. |
| 1571 | |
| 1572 | 6.62/6.31 93/05/28 |
| 1573 | BETA RELEASE |
| 1574 | Fix recursive syserr (if there is an error printing a syserr |
| 1575 | message). This makes the code much less eager to consider |
| 1576 | a write error as serious. This also includes some |
| 1577 | heuristics to be clever about closed connections. |
| 1578 | Lock NEWDB files during gets. This requires version 1.5 or later |
| 1579 | of the db library. If you have an older version, you |
| 1580 | can use -DOLD_NEWDB. This will go away in a few weeks. |
| 1581 | Fix problem causing aliases that use host maps to get overwritten. |
| 1582 | Do appropriate byte swapping on port numbers in ident protocol |
| 1583 | code. Fix from Allan Johannesen of WPI. |
| 1584 | Defer opening of map files to the same time as alias files so that |
| 1585 | the daemon will tend to pick up new versions more promptly. |
| 1586 | Prototype a bunch more functions. |
| 1587 | Some Solaris 2.1 changes (still doesn't link though). |
| 1588 | Try to simplify Makefiles by including more subordinate #defines |
| 1589 | in conf.h (based on OS type). |
| 1590 | CONFIG: check for domains if FEATURE(mailertable) is defined. |
| 1591 | For example, if the host name is "knecht.cs.berkeley.edu" |
| 1592 | it will search the following mailertable keys: |
| 1593 | knecht.cs.berkeley.edu |
| 1594 | .cs.berkeley.edu |
| 1595 | .berkeley.edu |
| 1596 | .edu |
| 1597 | This could be used to replace the special relays for bitnet |
| 1598 | and similar nets. |
| 1599 | |
| 1600 | 6.61/6.30 93/05/24 |
| 1601 | Fix problem that prevented appending dots on canonified host |
| 1602 | names. This breaks tons of config files -- very |
| 1603 | important fix. |
| 1604 | Fix improper pointer dereference in response to HELO command. |
| 1605 | Fix core dump if debugging set in map_rewrite. |
| 1606 | CONFIG: add FEATURE(always_add_domain) to always attach the |
| 1607 | local domain (only impacts local mail). |
| 1608 | CONFIG: try to avoid turning names into $j -- although |
| 1609 | technically a host can only have one "canonical name", |
| 1610 | it seems to be common practice to have several. |
| 1611 | |
| 1612 | 6.60/6.29 93/05/22 |
| 1613 | Major change: merge alias databases with maps. This expands and |
| 1614 | changes the map class interface but fixes a bunch of bugs. |
| 1615 | The important user-visible change is that the file name |
| 1616 | in a K line now does not include the ".db" extension; this |
| 1617 | is added automatically. Also, the -d (NIS domain) flag is |
| 1618 | missing from the K config line; use @domain instead. |
| 1619 | When compiling, the *_MAP names are gone -- just compile |
| 1620 | in NDBM, NEWDB, and/or NIS support. |
| 1621 | Announce mailer/host/user triple on -bv flag -- from Brian |
| 1622 | Bullen of Stirling University. |
| 1623 | Don't send more than one line in response to HELO -- it confuses |
| 1624 | Pony Express, which then behaves very badly. However, |
| 1625 | this change does send two line 220 greetings, with the |
| 1626 | second line reading "ESMTP spoken here". The usersmtp |
| 1627 | module recognizes this and goes into ESMTP mode regardless |
| 1628 | of the setting of the "a" mailer flag. Thus, "a" means |
| 1629 | "always try EHLO". |
| 1630 | AIX portability changes (thanks to Christophe Wolfhugel of |
| 1631 | Herve Schauer Consultants (Paris) for providing me with |
| 1632 | an INSA account for this purpose). Lightly tested. Use |
| 1633 | -D_AIX3. This probably breaks compatibility with some |
| 1634 | older systems (e.g., 4.2bsd) but still works on SunOS |
| 1635 | 4.1.2, Ultrix 4.2A, HP-UX 8.07, OSF/1 T1.3, and AIX 3.2.3. |
| 1636 | Fix a problem causing an error message loop if the output channel |
| 1637 | is hosed. |
| 1638 | Add the Makefiles that I use for various environments -- some are |
| 1639 | Berkeley make versions and some are old make versions. |
| 1640 | My makefile for the NeXT box has gotten lost, alas! |
| 1641 | PRALIASES: support for printing NEWDB databases. From |
| 1642 | Michael J. Corrigan of U.C. San Diego. |
| 1643 | CONFIG: don't pass pseudo-domains to $[ ... $] (if you have |
| 1644 | a wildcard MX it can have wierd results). From |
| 1645 | Christophe Wolfhugel. |
| 1646 | CONFIG: dot terminate relay hostnames in S0. From Christophe |
| 1647 | Wolfhugel. |
| 1648 | |
| 1649 | 6.59/6.28 93/05/13 |
| 1650 | Log version with SMTP daemon startup message. |
| 1651 | Adjust setproctitle to work on NetBSD and BSD/386. |
| 1652 | Fix null pointer reference in MX fallback code. |
| 1653 | A bunch of minor fixes from Eric Wassenaar: |
| 1654 | If deliver cannot execv the mailer, return EX_OSERR |
| 1655 | instead of EX_TEMPFAIL (to give better |
| 1656 | error messages). |
| 1657 | Consistently malloc e_message. |
| 1658 | Catch degenerate case of calling returntosender() |
| 1659 | with an empty returnq. |
| 1660 | MIME reformatting. |
| 1661 | |
| 1662 | 6.58/6.28 93/05/13 |
| 1663 | Fix bug that can cause incorrect verbose display of user smtp |
| 1664 | messages. |
| 1665 | Disable SMTP VERB command if PRIV_NOEXPN is set (since this |
| 1666 | could reveal the same information. |
| 1667 | Allow failure when reading SMTP greeting message to go on to |
| 1668 | next MX host. |
| 1669 | Add "MIME-Version: 1.0" header if using MIME (this was NOT |
| 1670 | included in RFC 1344, but Bill King of Allan-Bradley |
| 1671 | Company forwarded me email from Nathaniel Borenstein |
| 1672 | claiming that it was an inadvertent omission). |
| 1673 | Don't use Content-Type: X-message-header. According to John |
| 1674 | Myers of CMU, many MIME readers will completely ignore |
| 1675 | the data if they don't recognize it. Instead, just |
| 1676 | add a blank line to make it a legal (empty) message. |
| 1677 | Fix problem causing dots to keep getting appended to cached |
| 1678 | hostnames. This can cause buffer overrun conditions. |
| 1679 | The problem was found by Erik Forsberg of Retix, |
| 1680 | although I used a different bug fix than he provided. |
| 1681 | Fix parsing of split header/envelope rewriting specs -- from |
| 1682 | Eric Forsberg. |
| 1683 | Fix from Eric Wassenaar to correct To: lists in error messages. |
| 1684 | |
| 1685 | 6.57/6.28 93/05/11 |
| 1686 | Fix minor glitch causing extra ctladdrs to be output to queue |
| 1687 | file. Just an annoyance. |
| 1688 | Cache results of name server canonification lookups to avoid |
| 1689 | backed up queue runs. |
| 1690 | Major rewrite of alias.c: considerable cleanup, plus sample |
| 1691 | (untested) support for NIS aliases. The "A" option |
| 1692 | can now be a comma separated list (or be repeated) -- |
| 1693 | that is, you can have multiple alias databases. Each |
| 1694 | database can have the syntax ``class:file''; if no class |
| 1695 | is specified, the "implicit" class is assumed. Implicit |
| 1696 | searches through a list of compiled in types -- hash, |
| 1697 | dbm, nis, and stab. Alias files are searched in the |
| 1698 | order they are listed. For example: |
| 1699 | OAhash:/etc/aliases.local,/etc/aliases |
| 1700 | OAnis:mail.aliases@my.nis.domain |
| 1701 | first searches the hash database /etc/aliases.local, |
| 1702 | then the regular /etc/aliases database, then the NIS |
| 1703 | map "mail.aliases" in the NIS domain "my.nis.domain". |
| 1704 | If in Verbose mode (probably from VERB command) run SMTP job |
| 1705 | in foreground and don't do RCPT optimizations. |
| 1706 | Add udb :mailsender as equivalent to owner- for regular aliases. |
| 1707 | Delete option 8; add option 7 that means the opposite. That is, |
| 1708 | default to 8-bit mode; a special option is needed to |
| 1709 | force sendmail into 7 bit mode. |
| 1710 | Send error messages in encapsulated MIME format. |
| 1711 | New compile flag "NIS" that turns on NIS alias and NIS map |
| 1712 | support. |
| 1713 | Add "j" option to send error messages in MIME (RFC 1341) |
| 1714 | encapsulated message format per RFC 1344. The |
| 1715 | syntax is pretty ugly if you don't have MIME-aware |
| 1716 | user agents. |
| 1717 | Clean up message handling (for display in mailq output). |
| 1718 | New setproctitle implementation for 4.4bsd. |
| 1719 | Create files (such as ~/dead.letter) using mode FileMode (the |
| 1720 | F option value) instead of 0666. |
| 1721 | Fix bug causing output of EXPN command to not be fully qualified. |
| 1722 | This may cause some problems with UUCP addresses that |
| 1723 | will require some config file assistance -- specifically, |
| 1724 | the $: part has to include the host name for this output |
| 1725 | to make sense. |
| 1726 | Fix a problem that sometimes diagnosed errors and still sent the |
| 1727 | message if the header syntax was bad. |
| 1728 | Fix a bug that caused an error message to be emailed when sendmail |
| 1729 | was operating in -bv mode. |
| 1730 | Add "ListenQueueSize" keyword to daemon options option (OO) to |
| 1731 | set the queue size parameter passed to listen(). You |
| 1732 | will normally have to tweak your kernel to up this. |
| 1733 | Strip spaces off of beginning of message-id before logging (in |
| 1734 | case it was folded across lines). |
| 1735 | Tweak compile flags in daemon.c -- there were some cases where |
| 1736 | it wouldn't work without NETINET. |
| 1737 | Change *file* mailer to output all the usual default headers |
| 1738 | (From, Date, Message-Id). It gets used when sending |
| 1739 | back error messages. |
| 1740 | CONFIG: explicitly catch and diagnose list:; syntax in ruleset |
| 1741 | zero -- this is not a valid recipient syntax according |
| 1742 | to RFC 821. |
| 1743 | CONFIG: add confMIME_FORMAT_ERRORS to send error messages in |
| 1744 | MIME format. Defaults to on. |
| 1745 | CONFIG: add SMTP_MAILER_FLAGS and UUCP_MAILER_FLAGS to augment |
| 1746 | the flags for those mailers. |
| 1747 | |
| 1748 | 6.56/6.27 93/05/01 |
| 1749 | Fix problem that causes the fallback mail to postmaster |
| 1750 | (case ESM_POSTMASTER in savemail()) to not look at |
| 1751 | aliases (ugh). |
| 1752 | Some more HPUX tweaking (compile flag hpux => __hpux so it |
| 1753 | still works in ANSI mode). |
| 1754 | Don't try to flock non-regular files when mailing to a file. |
| 1755 | In particular, this was a problem if you tried to |
| 1756 | send to /dev/null. |
| 1757 | Fix a wierd bug that can cause senders to be queued as |
| 1758 | recipients if the name server is down when the mail |
| 1759 | is initially sent. This hack just ignores sender |
| 1760 | deletion (essentially, it sets the MeToo flag) if there |
| 1761 | is a TEMPFAIL during processing of the sender address. |
| 1762 | Obscure. |
| 1763 | Fix a dangling else problem -- from Brian Bullen from University |
| 1764 | of Stirling, UK. |
| 1765 | Add the "b" mailer flag to force a blank line on the end of |
| 1766 | messages. Some brilliant versions of /bin/mail insist |
| 1767 | on this but do not add it themselves. |
| 1768 | Add the "g" mailer flag to prevent user SMTP from sending |
| 1769 | "MAIL From:<>". This is only intended to be a |
| 1770 | transitional gesture, and should not be used if at |
| 1771 | all possible. It appears that Berkeley and IDA |
| 1772 | config files have always handled this properly; the |
| 1773 | UK config kit apparently does not. |
| 1774 | Don't lowercase and then capitalize header field names -- leave |
| 1775 | them with original capitalization. Fixes from Bill |
| 1776 | King of Allen-Bradley Company. |
| 1777 | Further cleanup and improved reporting of error messages, |
| 1778 | particularly conditions that cause messages to be |
| 1779 | requeued for future delivery. |
| 1780 | Tweak syslog priorities in some cases. |
| 1781 | CONFIG: clean up route-addr on UUCP addresses. |
| 1782 | |
| 1783 | 6.55/6.25 93/04/27 |
| 1784 | HPUX 8.07 compatibility changes in getla() -- I had to make |
| 1785 | these changes to get it to work at Berkeley, although |
| 1786 | others seem to have been working before (???). |
| 1787 | Various patches to XLA code. |
| 1788 | Fix problem that causes setuid bit on files to be ignored from |
| 1789 | SMTP or in queue runs. Problem noted by Jason Ornstein |
| 1790 | of Under The Wire, Inc. |
| 1791 | Fix problem that can cause CNAMEs to be ignored. |
| 1792 | Generalize getmxrr to match local host in $=w instead of a |
| 1793 | single name passed in. |
| 1794 | Some cleanup from Eric Wassenaar: |
| 1795 | Use FileMailer instead of ProgMailer in two places. |
| 1796 | Eliminate duplicate 8th-bit stripping in commaize. |
| 1797 | Fix a problem with mis-parsing of backslash escapes |
| 1798 | under some circumstances. |
| 1799 | NIS map fix (was always including trailing null character) |
| 1800 | from Mike Glendinning of Ingres UK. |
| 1801 | Add "a" mailer flag to try using ESMTP. It tries the EHLO |
| 1802 | command and if that fails falls back to regular SMTP. |
| 1803 | Also parses EHLO option keywords. If host supports |
| 1804 | SIZE extension, this is added to the MAIL FROM: |
| 1805 | command. |
| 1806 | Extend "b" option to include a second value which is the |
| 1807 | maximum message size this server is willing to accept. |
| 1808 | For example, a value of "10/1000000" says that there |
| 1809 | must be ten blocks free, and sendmail will reject |
| 1810 | any message larger than one megabyte. |
| 1811 | Some portability hooks for NeXT (this could be applicable |
| 1812 | to Mach in general). You have to create an empty |
| 1813 | file called "unistd.h" to get it to compile. |
| 1814 | Adjust config values (MAXLINE, MAXATOM, and PSBUFSIZE) to |
| 1815 | be more generous. |
| 1816 | Add X400-Received: to the list of headers tagged with H_TRACE |
| 1817 | in conf.c. From Bill King, Allen-Bradley Co. |
| 1818 | |
| 1819 | 6.54/6.25 93/04/19 |
| 1820 | Fix problem that caused redefinition of SMTP and QUEUE compile |
| 1821 | flags. Pointed out by Jon Forrest of the Sequoia 2000 |
| 1822 | project at Berkeley. |
| 1823 | Properly handle \! hack -- it was treating host\!user as one |
| 1824 | token (host!user) instead of three (host, !, user). |
| 1825 | Fix from Eric Wassenaar of NIKHEF-H. |
| 1826 | Fix compilation problem in getauthinfo() if IDENTPROTO is off. |
| 1827 | Turn off DEFNAMES and DNSRCH when getting the hostsignature |
| 1828 | (i.e., MX records) in level 1 configuration files; this |
| 1829 | matches the old behaviour. From Motonori Nakamura of |
| 1830 | Kyoto University. |
| 1831 | Improve error message printing -- if sent through an alias, |
| 1832 | error messages include the name of the alias in the |
| 1833 | message. Unfortunately, in order to make this work |
| 1834 | properly in queue runs, this changes the format of the |
| 1835 | C line in the qf file. The relatively uselessness of |
| 1836 | the previous information was pointed out to me by |
| 1837 | Allan E Johannesen of WPI. |
| 1838 | Add XLA compile flag to add hooks to Christophe Wolfhugel's |
| 1839 | extended load average code. This is still in very early |
| 1840 | form. For information regarding the guts of the xla |
| 1841 | code, contact Christophe.Wolfhugel@grasp.insa-lyon.fr. |
| 1842 | Additional hooks for detecting tempfails in rewriting rules |
| 1843 | (that is, in map lookups). |
| 1844 | |
| 1845 | 6.53/6.25 93/04/15 |
| 1846 | Properly diagnose ruleset zero returning null (instead of a mailer |
| 1847 | triple). From Motonori Nakamura of Kyoto University. |
| 1848 | More generalization of socket code for other protocols. |
| 1849 | Shorten timeouts on reverse name lookups -- since they are done |
| 1850 | during connection establishment, long timeouts here can |
| 1851 | cause higher level timeouts. This mainly serves to accept |
| 1852 | mail from hosts that do not have proper reverse (PTR) DNS |
| 1853 | records set up. |
| 1854 | Reset e_statmsg before each mailer invocation to avoid bogus |
| 1855 | messages in the log. |
| 1856 | Redefine $r, $s, and $_ in error envelopes so you don't get |
| 1857 | incorrect cruft in the error message. Problem noted by |
| 1858 | Motonori Nakamura of Kyoto University. |
| 1859 | Fix a problem that can cause failure to return errors to Postmaster |
| 1860 | in certain cases. From Motonori Nakamura. |
| 1861 | Fix a problem that can cause some systems to give duplicate error |
| 1862 | messages when a bad syntax address such as "<a" is presented |
| 1863 | to an SMTP server. It doesn't seem to occur on all |
| 1864 | machines. From Motonori Nakamura. |
| 1865 | Default IDENTPROTO off for Ultrix and HPUX, which apparently have |
| 1866 | the interesting "feature" that when they receive a "Host |
| 1867 | unreachable" message they closes all open connections to |
| 1868 | that host. However, some firewall gateways send this message |
| 1869 | if you try to connect to an unauthorized port, such as the |
| 1870 | IDENT port (113). Thus, no email can be received from such |
| 1871 | hosts. There is some evidence that versions of Ultrix before |
| 1872 | 4.3 do not have this problem. Thanks to Tom Ivar Helbekkmo |
| 1873 | for pointing out this behaviour to me and to Michael Corrigan |
| 1874 | of U.C. San Diego for informing me about the HPUX problem. |
| 1875 | Allow IPC mailers to return a colon-separated list of hosts in the |
| 1876 | $@ clause; these are searched in order as though they were |
| 1877 | MX records. |
| 1878 | When sending an error report, print the list of addresses tagged |
| 1879 | as bad. Requested by Allan E Johannesen of WPI. |
| 1880 | Change map function calls to return a status code. This gets |
| 1881 | passed back as the result of rewrite. Parseaddr marks |
| 1882 | the address as a QUEUEUP address if the return code is |
| 1883 | EX_TEMPFAIL. All this to queue properly if the name |
| 1884 | server is down. This code is not well tested. This code |
| 1885 | changes the interface to map lookup functions (a fifth |
| 1886 | parameter, int *statp, is added). Feature requested by |
| 1887 | Dan Oscarsson. |
| 1888 | Don't delete quotes (in the dequote map) if there are spaces in |
| 1889 | the string, since this would cause them to be replaced by |
| 1890 | the SpaceSub character. |
| 1891 | Accept BODY=8BITMIME on SMTP MAIL command. This isn't advertised |
| 1892 | because the 8BIT to 7BIT translation doesn't exist yet. |
| 1893 | This does add a "bodytype" field to both envelope and |
| 1894 | queue file and a -B command line flag to pass the type in |
| 1895 | during direct invocations. |
| 1896 | Discard return error messages only on responses to responses to |
| 1897 | responses, not on responses to responses. That is, the |
| 1898 | algorithm is to try return to sender, then return to |
| 1899 | postmaster, then discard. Previously it discarded |
| 1900 | immediately if the return to sender pass failed. |
| 1901 | CONFIG: back out change to hide unqualified hostnames behind %-hack. |
| 1902 | This screws up local aliases and .forward files. |
| 1903 | CONFIG: add FEATURE(nocanonify) to turn off calls to $[ ... $]; |
| 1904 | some sites only handle completely canonified names. |
| 1905 | Requested by John Gardiner Myers of CMU. |
| 1906 | CONFIG: some UUCP code was still included even if FEATURE(nouucp) |
| 1907 | was specified. |
| 1908 | |
| 1909 | 6.52/6.24 93/04/10 |
| 1910 | Clean up some minor glitches on error return messages pointed out |
| 1911 | by Motonori Nakamura of Kyoto University. |
| 1912 | Fix reply() to not reset SmtpReplyBuffer on fatal errors; this |
| 1913 | was supposed to reset SmtpMsg Buffer. This makes the |
| 1914 | client side code virtually useless. Reported by Allan |
| 1915 | E Johannesen of WPI and Phil Brandenberger of Swarthmore. |
| 1916 | Better debug messages if fuzzy is disabled, suggested by Allan |
| 1917 | E Johannesen of WPI. |
| 1918 | Offset SmtpReplyBuffer by four in usersmtp when checking for |
| 1919 | loopback. From Eric Wassenaar. |
| 1920 | Don't set $s until after runinchild in srvrsmtp -- otherwise |
| 1921 | it gets cleared. From Eric Wassenaar. |
| 1922 | Implement IDA-style $&x for deferred macro expansion. |
| 1923 | More POSIX compatibility. |
| 1924 | CONFIG: Hide unqualified hostnames behind %-hack using $s as the |
| 1925 | actual sender. This is only done if $r is non-null, that |
| 1926 | is, if this is not locally submitted mail. |
| 1927 | CONFIG: Add FEATURE(bitdomain) allowing mapping of BITNET host |
| 1928 | names to internet domains. A program contributed by |
| 1929 | John Gardiner Myers of CMU to create the maps is included |
| 1930 | in the contrib directory (in the "misc" tar file). |
| 1931 | CONFIG: Add FEATURE(uucpdomain) for a similar mapping for UUCP |
| 1932 | hosts. There is currently no tool to create this map. |
| 1933 | |
| 1934 | 6.51/6.23 93/04/04 |
| 1935 | Add D= mailer flag to specify a path of possible working directories |
| 1936 | in which to execute the mailer. This is intended for the |
| 1937 | prog mailer; some shells can get upset if they don't have |
| 1938 | access to the current directory. |
| 1939 | Add RFC 1413 (IDENT) protocol support. This is only very loosely |
| 1940 | tested. This adds a $_ macro to be the authenticated |
| 1941 | info (in ``user@domain [address]'' form) and debug flag |
| 1942 | 9 to trace the protocol. |
| 1943 | Check for loopbacks in usersmtp instead of srvrsmtp -- there is no |
| 1944 | reason for a local agent to not be talking to the localhost |
| 1945 | (although the inverse is not true). |
| 1946 | Add a few hooks for automated map rebuilding. This is certainly |
| 1947 | not done yet. |
| 1948 | CONFIG: Have prog mailer specify a path of ``D=$z:/'' -- that is, |
| 1949 | user's home directory then the root. |
| 1950 | CONFIG: Log RFC 1413 identification in Received: line. |
| 1951 | |
| 1952 | 6.50/6.22 93/04/01 |
| 1953 | Fixes to requeueing code to make it compute priority, nrcpts, |
| 1954 | and the like properly. |
| 1955 | |
| 1956 | 6.49/6.22 93/04/01 |
| 1957 | Diagnose incorrect privacy flags. Suggested by Bryan Costales |
| 1958 | of ICSI. |
| 1959 | Some ANSI C fixes. |
| 1960 | Arrange to quote backslashes as well as other special characters |
| 1961 | in the phrase part of a route-addr. |
| 1962 | Some fixes to FallBackMX code suggested by Motonori Nakamura of |
| 1963 | Kyoto University. |
| 1964 | More vigorous zeroing of CurHostAddr to avoid logging of bogus |
| 1965 | host addresses when you are actually just printing |
| 1966 | information from the MCI structure; problem noted by |
| 1967 | Michael Corrigan of U.C. San Diego. |
| 1968 | Don't ignore rest of queue if any job is not runnable. This can |
| 1969 | also cause an incorrect job to be lost. Fix from |
| 1970 | Eric Wassenaar. |
| 1971 | Always respond "quickly" to RCPT command; do alias expansion and |
| 1972 | the like later. This also means that mail for lists that |
| 1973 | have errors will be acccepted, and an error sent back |
| 1974 | later. This is done by instantiating the queue file |
| 1975 | and then immediately running and requeueing it. |
| 1976 | |
| 1977 | 6.48/6.22 93/03/30 |
| 1978 | Fix incorrect diagnosis of infinite loop in ruleset. Problem noted |
| 1979 | by several people. |
| 1980 | Improve information printed when infinite loops are discovered. |
| 1981 | Zero CurHostAddr to fix erroneous internet addresses in log when no |
| 1982 | addresses can be bound. Pointed out by Motonori Nakamura |
| 1983 | of Kyoto University. |
| 1984 | "Probe" SMTP connections using RSET instead of NOOP "just in case". |
| 1985 | Suggested by John Gardiner Myers of CMU. |
| 1986 | Don't warn about -f if you are setting sender to yourself. |
| 1987 | |
| 1988 | 6.47/6.22 93/03/29 |
| 1989 | Fix incompatible call to endmailer in smtpquit which causes core |
| 1990 | dumps. Noted by Allan E Johannesen of WPI. |
| 1991 | HPUX portability changes from Michael J. Corrigan of UC San Diego. |
| 1992 | Require MAIL before RCPT command in srvrsmtp.c. This had been |
| 1993 | intentional from the 821 draft days when the order wasn't |
| 1994 | clear, but is silly now. |
| 1995 | Fix bug in nis_magic routine that was initializing parameters |
| 1996 | incorrectly. Fix from Takahiro Kanbe of Fuji Xerox |
| 1997 | Information Systems Co., Ltd. |
| 1998 | Change default for PrivacyFlags in conf.c to 0 -- since it always |
| 1999 | "or"s in new values, there was no way to turn off the |
| 2000 | AuthWarning stuff. |
| 2001 | Add O option to set SMTP daemon options. |
| 2002 | Add V option to set fallback MX host. This always sorts at lower |
| 2003 | priority than anything it gets from the name server. It |
| 2004 | should only be used for environments with very bad network |
| 2005 | connectivity. Requested by several people. |
| 2006 | Log sending info. It's not clear this is a good idea. |
| 2007 | CONFIG: fix typo in mailertable code. Noted by Phil Brandenberger |
| 2008 | of Swarthmore. |
| 2009 | CONFIG: add confDAEMON_OPTIONS and confFALLBACK_MX to set options |
| 2010 | O and V, respectively. |
| 2011 | |
| 2012 | 6.46/6.21 93/03/26 |
| 2013 | Fix botch in server SMTP that broke transactions that did not |
| 2014 | use HELO first (like MH). Fix from Michael Corrigan |
| 2015 | of U.C. San Diego. |
| 2016 | Fall back to other MX records if there is an error anywhere |
| 2017 | in delivery (actually on MAIL or DATA -- RCPT is harder). |
| 2018 | Suggested by John Gardiner Myers and Motonori Nakamura. |
| 2019 | Revert to non-prototypes -- it turns out that our ANSI C |
| 2020 | compiler is more forgiving than most others about |
| 2021 | mixing prototyped extern declarations with non-prototyped |
| 2022 | function definitions. |
| 2023 | Fix a problem with multi-word class matching pointed out by |
| 2024 | Neil Rickert. Given: |
| 2025 | CX b a.b.c |
| 2026 | R$+ $=X $+ $: $1 < $2 > $3 |
| 2027 | the input "user@a.b.c" failed instead of being properly |
| 2028 | rewritten as "user@a.<b>.c". |
| 2029 | Neil also convinced me that it was correct that $~ should match |
| 2030 | only one token -- the problem is that it's always possible |
| 2031 | to add another token, so $~ matches far too eagerly. |
| 2032 | |
| 2033 | 6.45/6.21 93/03/25 |
| 2034 | Implement multi-word classes (properly!). |
| 2035 | |
| 2036 | 6.44/6.21 93/03/25 |
| 2037 | Add X-Authentication-Warning: headers to clue users into possible |
| 2038 | attempts to forge mail. This is on the authwarnings |
| 2039 | privacy flag, but is the default. Suggested by Bryan |
| 2040 | Costales of ICSI. |
| 2041 | Pass default units for convtime in so they can be more reasonable. |
| 2042 | Allow config files to always add a new Comments: header (i.e., |
| 2043 | they will be added even if an old one already exists). |
| 2044 | Suggested by Bryan Costales of ICSI. |
| 2045 | Allow config files to delete an existing Return-Path: header. |
| 2046 | These should only be added at final delivery. Suggested |
| 2047 | by Bryan Costales of ICSI. |
| 2048 | Some debugging additions. Suggested by Bryan Costales of ICSI. |
| 2049 | Clean up logging of Family 0 addresses. Noted by David Muir |
| 2050 | Sharnoff and others. |
| 2051 | Add a "dequote" map class. This allows config files to strip |
| 2052 | quotes off of addresses. Note that this is not a builtin |
| 2053 | map, just a class -- so you have to define the map |
| 2054 | using the K line. |
| 2055 | Fix a bug in the queueup() loop getting a locked tf where in |
| 2056 | very odd cases it can fall off the bottom and core dump. |
| 2057 | Of course, it was P{r Emanuelsson who found it.... |
| 2058 | Open a new transcript when splitting an envelope. Problem found |
| 2059 | by Allan E Johannesen of WPI. |
| 2060 | Improved error output in endmailer if the mailer core dumps. |
| 2061 | CONFIG: Fix typo in UUCP mailer definition. |
| 2062 | CONFIG: Default several of the new options on: eight bit input, |
| 2063 | privacy flags set to "authwarnings", and message warning |
| 2064 | set to 4h. |
| 2065 | CONFIG: Use dequote map. |
| 2066 | |
| 2067 | 6.43/6.20 93/03/23 |
| 2068 | Fix problem with assumption of an sa_len field in a generic |
| 2069 | sockaddr -- it turns out that most vendors haven't |
| 2070 | picked up this (very important) fix. |
| 2071 | Change compilation flags for daemon code -- select one or both |
| 2072 | of NETINET or NETISO, but don't ever set DAEMON manually. |
| 2073 | CONFIG: add FEATURE(mailertable) to do IDA-style mailertables. |
| 2074 | |
| 2075 | 6.42/6.19 93/03/19 |
| 2076 | Use Postmaster as default fallback return address, not root. |
| 2077 | POSIX changes for file descriptor handling. |
| 2078 | Diagnose errors writing new queue file. |
| 2079 | If you change the owner using an owner- alias, also change the |
| 2080 | error mode to EM_MAIL so that errors don't get dropped |
| 2081 | into an inappropriate directory. Problem noted by |
| 2082 | Allan E Johannesen of WPI. |
| 2083 | If you are su'ed to root, send email as who you really are, not |
| 2084 | as root. From Brian Kantor of U.C. San Diego. |
| 2085 | Allow warning messages to be sent after a configurable interval |
| 2086 | has passed without delivery. The message is sent only |
| 2087 | once per envelope. This changes the format of the qf |
| 2088 | file to have an F line, and the format of the T option |
| 2089 | to accept take the format "return/warn" (both intervals). |
| 2090 | Don't force all local names to lower case -- this was left over |
| 2091 | from the wierd handling of case mapping on aliases. It |
| 2092 | is now driven (as expected) by the "u" mailer flag. |
| 2093 | Problem noted by P{r Emanuelsson. |
| 2094 | Fix problem that caused headers on returned email to be trashed; |
| 2095 | they were getting freed, but are still accessible via |
| 2096 | BlankEnvelope. |
| 2097 | Fix problem that caused bogus ids to be created on returned |
| 2098 | mail. |
| 2099 | Add support for ISO and other non-INET networking. This is by |
| 2100 | no means finished yet. This does assume a lot of other |
| 2101 | system support, like a version of gethostbyname that |
| 2102 | returns non-AF_INET addresses. |
| 2103 | CONFIG: change default on prog mailer to keep upper case in |
| 2104 | user names (i.e., in the program command line). |
| 2105 | CONFIG: strip trailing dots off of hosts in uucp mailer before |
| 2106 | convert to bang format. |
| 2107 | CONFIG: create new "relay" mailer for $R (LOCAL_RELAY) and $H |
| 2108 | (MAIL_HUB) delivery that doesn't add local domain. Note |
| 2109 | that this violates 821, but is probably "more correct" |
| 2110 | for what we are trying to do. Problem pointed out by |
| 2111 | Michael Graff of Iowa State. |
| 2112 | |
| 2113 | 6.41/6.18 93/03/18 |
| 2114 | Clean up unnecessary creates of queue ids (i.e., empty qf files) |
| 2115 | when not needed, such as when starting up an SMTP |
| 2116 | connection. |
| 2117 | Fix problem where split envelopes aren't instantiated in the queue. |
| 2118 | This is quite a serious bug. |
| 2119 | Owner- aliases had problems with leading spaces causing a |
| 2120 | premature delimitation. |
| 2121 | |
| 2122 | 6.40/6.18 93/03/18 |
| 2123 | Have ending 250 (after DATA) include the id; suggested by |
| 2124 | Brian Kantor of UC San Diego. |
| 2125 | Add logging on envelope splitting. |
| 2126 | Change queue ids to have one more letter encoding the hour of |
| 2127 | the day so that during a single day there is a greater |
| 2128 | likelihood of uniqueness; requested by Brian Kantor. |
| 2129 | |
| 2130 | 6.39/6.18 93/03/18 |
| 2131 | Fix minor compile problem if LOCKF is defined. |
| 2132 | Define size of tobuf in conf.h. Observed by Toshinari Takahashi |
| 2133 | of Toshiba. |
| 2134 | Restore e_sender -- this is equivalent to e_from.q_paddr without |
| 2135 | decorations such as angle brackets and comments. |
| 2136 | OSF/1 on Alpha changes from Allan E Johannesen of WPI. |
| 2137 | CONFIG: fix typo in S3 for list syntax (;: => :;). Thanks to |
| 2138 | Christopher Hoover for noting the problem. |
| 2139 | |
| 2140 | 6.38/6.17 93/03/17 |
| 2141 | Pass envelope to disconnect to avoid another use of CurEnv, which |
| 2142 | can apparently end up being null at inopportune times. |
| 2143 | Log "received from" as "relay=" for consistency (suggested by |
| 2144 | John Gardiner Myers). |
| 2145 | Fix major bug in header handling: if no From: line existed in |
| 2146 | the header (so sendmail inserts one), and the sender is |
| 2147 | an alias that has an owner, the From: line shows the |
| 2148 | owner (as well as the envelope). Fixed by early binding |
| 2149 | the headers (which will change debugging output). |
| 2150 | HPUX portability patches from Michael J. Corrigan of UC San Diego. |
| 2151 | Some attempts to adapt better to out of open file conditions. |
| 2152 | Some changes to ctladdr handling in queue files. |
| 2153 | |
| 2154 | 6.37/6.17 93/03/16 |
| 2155 | MAJOR CHANGE: delete e_sender and e_returnpath (why are these |
| 2156 | different from e_from?) and $< macro. |
| 2157 | Log correct IP address in relay= field even if the connection |
| 2158 | times out. |
| 2159 | Log "received from [RESPONSE]" on EF_RESPONSE messages (from |
| 2160 | John Gardiner Myers). |
| 2161 | Fixes to SysExMsg logging (sometimes just got "message: %s" |
| 2162 | instead of "message: error message"), noted by Eric |
| 2163 | Wassenaar. Also reported by Motonori Nakamura. |
| 2164 | Improvements to MX piggybacking code, from Motonori Nakamura. |
| 2165 | Fix case where CurHostName points to an auto variable that has |
| 2166 | been deallocated (from Motonori Nakamura). |
| 2167 | Fix bug causing newlines to be included in aliases if option |
| 2168 | "n" (check alias RHS) is set; bug noted by David Muir |
| 2169 | Sharnoff. |
| 2170 | Fix problem causing user names that should be mapped to lower |
| 2171 | case to not be mapped if they are sent during a queue |
| 2172 | run. This greatly simplifies the case mapping code. |
| 2173 | Problem noted by Allan E Johannesen of WPI. |
| 2174 | Don't do recipient address rewriting in buildaddr. This |
| 2175 | improperly did recipient rewriting on sender addresses, |
| 2176 | and just seems bogus in general -- but the change could |
| 2177 | break some .cf files. |
| 2178 | Pass TZ envariable to child processes for System V. |
| 2179 | CONFIG: allow LOCAL_RULE_1 and LOCAL_RULE_2 if you want to |
| 2180 | define those rulesets. |
| 2181 | KNOWN PROBLEM: I have seen some problems on SunOS that causes |
| 2182 | the User Data Base to give errors on some addresses. I |
| 2183 | have tracked the problem back at least as far as 93.02.15 |
| 2184 | (version 6.22). Running with debugging on makes it |
| 2185 | go away, so I conclude that it is referencing uninitialized |
| 2186 | stack data. I haven't been able to track this down yet. |
| 2187 | |
| 2188 | 6.36/6.16 93/03/08 |
| 2189 | Allow local mailer to specify $@host -- this lets you assign the |
| 2190 | "foo" part of jgm+foo to $h for passing in to the local |
| 2191 | mailer. |
| 2192 | Additional debug printing in getcanonname (show query type). |
| 2193 | Don't add the e_fromdomain on sender addresses -- this interacts |
| 2194 | wierdly with the owner- code. |
| 2195 | Improve delivery logging to not log obvious or meaningless stuff. |
| 2196 | Include numeric IP address in Received: lines per RFC 1123 section |
| 2197 | 5.2.8. |
| 2198 | Fixed a bug in checking stat() return value if restrictmailq is |
| 2199 | set. Also, check the entire group set instead of just the |
| 2200 | primary group. Both from John Gardiner Myers. |
| 2201 | Don't have usrerr automatically print errno, since this is often |
| 2202 | misleading. |
| 2203 | Use transienterror() in makeconnection after connect() fails and |
| 2204 | in openmailer after execve() fails (from Eric Wassenaar). |
| 2205 | Also moved transienterror() from util.c to conf.c. |
| 2206 | Clean up from= logging on response messages. |
| 2207 | Undo patch allowing prescan to return a null vector -- it breaks |
| 2208 | too many things. |
| 2209 | Config: FEATURE(notsticky) lets you use UDB for everything coming |
| 2210 | in to the machine, even if it is specifically targetted |
| 2211 | to this machine. Without it, UDB is bypassed if the user |
| 2212 | name is fully qualified. |
| 2213 | Config: fix another minor botch with <> (local mailer wasn't |
| 2214 | mapping them properly). |
| 2215 | |
| 2216 | 6.35/6.15 93/03/05 |
| 2217 | Fix getrealhostname to return null if sinlen <= 0 -- this can |
| 2218 | occur if stdin is a pipe. |
| 2219 | Avoid infinite loop in getcanonname if name server return |
| 2220 | NO_DATA (for example). |
| 2221 | Config: avoid having C flag qualify list syntax and error syntax. |
| 2222 | |
| 2223 | 6.34/6.14 93/03/05 |
| 2224 | Fix logging in deliver to not pass too many parameters to Ultrix |
| 2225 | versions of syslog. |
| 2226 | Don't write the pid file until after the daemon has actually |
| 2227 | opened and conditioned the connection. |
| 2228 | Consider addresses "different" if their q_uids differ (so that |
| 2229 | two users forwarding to the same program will be seen |
| 2230 | as different, rather than the same). |
| 2231 | Fix problem with bad parameters in main() -- they set ExitStat |
| 2232 | but don't exit. |
| 2233 | Fix null pointer references through RealHostName -- painfully |
| 2234 | discovered by Allan E Johannesen of WPI. |
| 2235 | Fix bug causing user@@localhost to core dump (yuch). |
| 2236 | Config: don't put two @host.dom.ain on users in $=E in SMTP |
| 2237 | mailer. Also, catch user@ (no host) in ruleset 0. |
| 2238 | |
| 2239 | 6.33/6.13 93/03/03 |
| 2240 | Config: add confCW_FILE as the name of the cw configuration file |
| 2241 | (defaults to /etc/sendmail.cw). From P{r Emanuelsson. |
| 2242 | Allow prescan to return a pointer to an empty list -- this is |
| 2243 | not an error. Also, clean up error reporting to avoid |
| 2244 | double errors (prescan reports once, then the caller |
| 2245 | reports again). |
| 2246 | Changes to avoid trusting T_ANY queries -- run them, but if you |
| 2247 | don't get the info you expected, do T_A and T_MX queries |
| 2248 | anyhow. This also fixes an oversight where _res.options |
| 2249 | bits were being ignored. |
| 2250 | If PRIV_NOVRFY is set, use 252 response code instead of 502 per |
| 2251 | RFC 1123 section 5.2.3. It's not 100% clear that this |
| 2252 | is correct, but it probably works better with stupid |
| 2253 | mailers that do a VRFY and only check the first digit. |
| 2254 | |
| 2255 | 6.32/6.12 93/03/02 |
| 2256 | Fix uninitialized variable "protocol" in smtp code. |
| 2257 | Include <unistd.h> in sendmail.h -- move towards POSIX/ANSI. |
| 2258 | Additional hooks for RFC 1427 (ESMTP SIZE extension). This |
| 2259 | includes requiring that enoughspace() know the system |
| 2260 | block size, which will undoubtedly break most ports. |
| 2261 | Trace flag 19 in use for srvrsmtp.c. |
| 2262 | Additional logging -- notably the sending mailer name. This |
| 2263 | also changes the delivery logging to strict field=value |
| 2264 | syntax. |
| 2265 | Fix some problems with messages getting sent even to addresses |
| 2266 | that had been marked bad -- from Eric Wassenaar. |
| 2267 | More WIDE changes: accept host name inside [...] as non-MXed |
| 2268 | host. This is intended ONLY for use inside firewalled |
| 2269 | environments, where the MX points at the gateway. |
| 2270 | Change .cf file conventions so that mapping for <> addresses |
| 2271 | don't have an @ in them (to avoid confusing the C mailer |
| 2272 | flag). Pointed out by Neil Rickert. |
| 2273 | Config extensions for Sam Leffler's FlexFAX software. |
| 2274 | |
| 2275 | 6.31/6.10 93/02/28 |
| 2276 | Fix some more bugs in alias owner code -- there were some wierd |
| 2277 | cases where an error in a non-aliased name would override |
| 2278 | the return info in an aliased name with an owner. |
| 2279 | Changes from WIDE Project, forwarded to me by Motonori Nakamura: |
| 2280 | Log actual delivery host (after MX et al); from |
| 2281 | yasuhiro@dcl.co.jp. |
| 2282 | Log daemon startup. |
| 2283 | Deliver Postmaster copies without a body. |
| 2284 | Better logging of SMTP senders. |
| 2285 | Send all program email as daemon even when local. |
| 2286 | As requested in various forms from many people, accept -qIstring |
| 2287 | to limit queue runs to jobs with queue-id matching string. |
| 2288 | Similarly for -qRstring for recipients, -qSstring for |
| 2289 | senders. |
| 2290 | Initial hooks for ESMTP support (see RFC 1425). |
| 2291 | Fixed a syntax error in the UUCP mailer specification that caused |
| 2292 | core dumps on startup. |
| 2293 | Check for missing A= or P= arguments in mailer definitions. |
| 2294 | |
| 2295 | 6.30/6.10 93/02/27 |
| 2296 | Require FROZENCONFIG compilation flag to include frozen |
| 2297 | configuration code. Frozen configuration is really |
| 2298 | not a very good idea any more, particularly in shared |
| 2299 | library environments. |
| 2300 | Do better checking of errno after opens of :include: and .forward |
| 2301 | files to defer delivery on network and other transient |
| 2302 | errors. Suggestion from Craig Everhart. |
| 2303 | Fix minor botch in read timeout macro processing. |
| 2304 | Add FEATURE(nouucp) to config files for sites that know absolutely |
| 2305 | nothing about UUCP. |
| 2306 | Add built cf files to distribution tape and clarify how to build |
| 2307 | them if you don't have the Berkeley make. |
| 2308 | Some sizeof(long) portability changes for the Alpha, from Allan |
| 2309 | E Johannesen. |
| 2310 | Add "restrictmailq" privacy flag -- if set, only people in the same |
| 2311 | group as your queue directory can print the queue. If you |
| 2312 | set this, be sure you also restrict access to log files.... |
| 2313 | Fix another bug in owner-list stuff that can cause data files to |
| 2314 | be "lost". |
| 2315 | Fix a bug with queue runs that cause forwards to yourself to go |
| 2316 | into alias/forwarding loops. I'm still iffy about this |
| 2317 | fix. |
| 2318 | Fix from Eric Wassenaar for suppression of return message code. |
| 2319 | |
| 2320 | 6.29/6.9 93/02/24 |
| 2321 | Fix yet another problem in alias owner code -- put the wrong return |
| 2322 | address on the enclosed return-to-sender letter. |
| 2323 | |
| 2324 | 6.28/6.9 93/02/24 |
| 2325 | Fix botch in alias owner code that caused it to not operate if the |
| 2326 | error was detected locally. |
| 2327 | |
| 2328 | 6.27/6.9 93/02/24 |
| 2329 | M_LOCAL => M_LOCALMAILER to avoid conflict with Ultrix include |
| 2330 | file <sys/mount.h>. |
| 2331 | Miscellaneous bug fixes from Eric Wassenaar: |
| 2332 | sendmail -bv -t logs the from line even though in verify |
| 2333 | mode only. |
| 2334 | sendmail -v can go into queue mode if shouldqueue returns |
| 2335 | TRUE. |
| 2336 | Add route-addr pruning per RFC 1123 section 5.3.3. This can be |
| 2337 | disabled using the "R" option. |
| 2338 | Delete (always undocumented) -R flag (save original recipients); |
| 2339 | there are ways to syslog(3) these now. |
| 2340 | Clean up SMTP reply codes -- specify them as needed in the code, |
| 2341 | instead of in conf.c -- this was needed during the NCP to |
| 2342 | TCP transition, but seems silly now. This also changes |
| 2343 | parameters to message and nmessage. |
| 2344 | Have mailstats read the .cf file to find the sendmail.st file and |
| 2345 | get text versions of mailer names. An initial version of |
| 2346 | this code was provided by Tuominen Keijo (although the |
| 2347 | comments indicate the good bits were written by "E.V."). |
| 2348 | Add yet more System V compatibility hacks. |
| 2349 | Fix bug in VRFY code (assumes everything must be a local user). |
| 2350 | Allow specification of any of the hard-wired pathnames in the |
| 2351 | Makefile. |
| 2352 | Delete concept of "trusted users" -- this really didn't provide |
| 2353 | any security anyway, and caused some problems. |
| 2354 | Delete last vestige of support for the word "at" as an equivalent |
| 2355 | to the character "@". |
| 2356 | Propagate owner-foo alias information into the envelope sender. |
| 2357 | Based on code from John Gardiner Myers. This is a major |
| 2358 | semantic change -- beware! |
| 2359 | Allow $@ on LHS to indicate "match zero" -- this is used to match |
| 2360 | the null expression. |
| 2361 | |
| 2362 | 6.26/6.8 93/02/21 |
| 2363 | Don't "lose" queue runs. Very important fix from (who else?) |
| 2364 | Eric Wassenaar. |
| 2365 | Completely reset state on RSET command -- from Eric Wassenaar. |
| 2366 | Send error messages and return receipts using an envelope sender |
| 2367 | of <> regardless of the setting of $n. Rewriting rules |
| 2368 | can undo this if they feel the necessity, as might be |
| 2369 | needed for networks that don't understand the syntax. |
| 2370 | This is permitted by RFC 821 section 3.6 and required by |
| 2371 | RFC 1123 section 5.3.3. THIS REQUIRES VERSION 4 CONFIG |
| 2372 | FILES because the rulesets must be able to parse <> |
| 2373 | properly. |
| 2374 | Don't ever send error messages to "<>" -- they will get sent to |
| 2375 | the local postmaster or dumped in /usr/tmp/dead.letter |
| 2376 | instead. Per RFC 1123 section 5.3.3. |
| 2377 | Explicitly check for email to yourself as a dotted quad. You |
| 2378 | have to call $[ [ ... ] $] to get this. |
| 2379 | Up the message timeout to five days per RFC 1123 section 5.3.1.1. |
| 2380 | Make all read timeouts individually configurable, as strongly |
| 2381 | recommended by RFC 1123 section 5.3.2. |
| 2382 | Use f_bavail (blocks available to regular users) instead of f_bfree |
| 2383 | (blocks available to superuser) in free block checks. |
| 2384 | Change $d macro to be the current time, not the origination time, |
| 2385 | since this is consistent with how it is used now. |
| 2386 | Generalization of enoughspace from Eric Wassenaar covering |
| 2387 | SGI, Apollo, HPUX, Ultrix, and SunOS. |
| 2388 | Ignore process group signals -- some front ends can do this if |
| 2389 | you kill a window too quickly. From Eric Wassenaar. |
| 2390 | Change umask to 022. |
| 2391 | |
| 2392 | 6.25/6.8 93/02/20 |
| 2393 | Close all cached connections before calling mailers and after |
| 2394 | forking for delivery (caused double closes which resulted |
| 2395 | in false errors). |
| 2396 | Add FEATURE(redirect) in config files -- this allows you to alias |
| 2397 | old addresses to a pointer to the new address that will |
| 2398 | give a 551 error message, but not deliver the mail. |
| 2399 | Some code changes to make the 551 errors look pretty. |
| 2400 | Names of M4 program paths in config files have changed -- they |
| 2401 | are all XXX_MAILER_PATH now, to match XXX_MAILER_FLAGS. |
| 2402 | Fix a bug in the QSELFREF code having to do with empty .forward |
| 2403 | files, reported by Eric Wassenaar. |
| 2404 | Add option "p" (privacy flags); this allows you to tune how |
| 2405 | picky the SMTP server will be. This also adds the |
| 2406 | confPRIVACY_FLAGS M4 macro in the config files. |
| 2407 | Add option "b" (minimum blocks free). If there are fewer than |
| 2408 | this number of blocks free on the filesystem containing |
| 2409 | the queue directory, the SMTP MAIL command will return |
| 2410 | a 452 response and ask you to try again later. This |
| 2411 | also adds the confMIN_FREE_BLOCKS M4 macro in the config |
| 2412 | files. |
| 2413 | Made VRFY just verify (doesn't expand aliases and .forward files); |
| 2414 | EXPN does full expansion. RCPT in queue-only mode also |
| 2415 | doesn't chase aliases and .forward. |
| 2416 | |
| 2417 | 6.24/6.7 93/02/19 |
| 2418 | Increase the number of domain search entries in domain.c to allow |
| 2419 | for the extra "" entry indicating the root domain. |
| 2420 | Reported by Motonori Nakamura of Kyoto U. |
| 2421 | Add a "SMART_HOST" in the configs for UUCP-connected sites that |
| 2422 | want to forward all mail with extra "@"s to that site. |
| 2423 | Also allows SMART_HOST, LOCAL_RELAY, and MAIL_HUB to |
| 2424 | be specified as ``mailer:hostname'' to use an alternate |
| 2425 | mailer. |
| 2426 | Clarified and updated some wording in the Operations Guide. |
| 2427 | Add the "c" mailer flag -- this suppresses all comment parts of |
| 2428 | addresses (requested by John Curran of NEARnet). |
| 2429 | Have -v print prompts in -bt mode even if stdin is not a terminal |
| 2430 | (default behaviour is to be silent if not reading from |
| 2431 | a terminal). Suggested by Bryan Costales, ICSI. |
| 2432 | Move the metacharacters from C0 space (\001-\037) into C1 space |
| 2433 | (\201-\237). This also fixes a bunch of potential bugs |
| 2434 | with G1 characters (\240-\276) in headers relating to |
| 2435 | negative numbers passed to isspace() et al. |
| 2436 | Add YP_LAST_MODIFIED and YP_MASTER_NAME to DBM version of alias |
| 2437 | database if YPCOMPAT is #defined. Enhancement from |
| 2438 | Takahiro Kanbe of Fuji Xerox Information Systems Co., Ltd. |
| 2439 | Add "list" Precedence (-30); this can be used with old sendmails |
| 2440 | which will map to precedence 0 (which will return error |
| 2441 | messages). Suggested by Stephen R. van den Berg. |
| 2442 | Many bug fixes from Eric Wassenaar of the National Institute for |
| 2443 | Nuclear and High-Energy Physics, Amsterdam: |
| 2444 | Clear timeouts properly on open failures in include(). |
| 2445 | Don't dereference through NULL if no home directory found. |
| 2446 | Re-establish SIGCHLD signal on System 5 in reapchild(). |
| 2447 | Avoid NULL pointer reference on -pFOO flag. |
| 2448 | Properly handle backslash escapes in comments. |
| 2449 | Correctly check reply status on SMTP NOOP command. |
| 2450 | Properly save SMTP error message if peer gives |
| 2451 | "Service Shutting Down" message. |
| 2452 | Avoid writing to the transcript if it couldn't be opened. |
| 2453 | Signal errors in SMTP children to parent properly. |
| 2454 | Handle self references in a list more globally (include a |
| 2455 | QSELFREF bit in the address flags). This enhancement |
| 2456 | was suggested by Eric Wassenaar. |
| 2457 | Use initgroups() in hpux, even though it's System-V based. The |
| 2458 | HASINITGROUPS compile flag can set this on other systems. |
| 2459 | This HPUX behaviour was pointed out by Eric Wassenaar. |
| 2460 | |
| 2461 | 6.23/6.6 93/02/16 |
| 2462 | Clean up handling of LogLevel to make it easier to figure out |
| 2463 | what's on what level. |
| 2464 | Change log levels to have some consistency: |
| 2465 | 1 serious system failures, security problems |
| 2466 | 2 lost communications, protocol failures |
| 2467 | 3 other serious failures |
| 2468 | 4 minor errors |
| 2469 | 5 message collection |
| 2470 | 6 vrfy logging, creation of return-to-sender |
| 2471 | 7 delivery failures |
| 2472 | 8 delivery successes |
| 2473 | 9 delivery tempfails (queue ups) |
| 2474 | 10 database expansion |
| 2475 | >64 debugging |
| 2476 | Allow IDA-style separated processing on S= and R= in Mailer |
| 2477 | definition lines. Note that rulesets 1 and 2 are |
| 2478 | still used for both addresses as before. Bruce Lilly |
| 2479 | gave a convincing argument that RFC976 insists on |
| 2480 | this behaviour. |
| 2481 | Added some time zones to arpatounix -- they may not be in the |
| 2482 | standards, but they are in use. However, I may delete |
| 2483 | arpatounix entirely -- there appears to be no reason |
| 2484 | for it to exist. |
| 2485 | Change to UUCP mailer (in cf directory) to try to do a saner job. |
| 2486 | I'm still not certain about this mailer in general. |
| 2487 | |
| 2488 | 6.22/6.5 93/02/15 |
| 2489 | Fix bug that prevents saving letters in ~/dead.letter. |
| 2490 | Don't add angle brackets in VRFY command if angle brackets already |
| 2491 | exist in the address. |
| 2492 | Fix bogus error message in udbexpand. |
| 2493 | Null terminate host buffers in buildaddr (broken in 6.21) -- |
| 2494 | IMPORTANT FIX!! |
| 2495 | |
| 2496 | 6.21/6.5 93/02/15 |
| 2497 | Fix another incorrect error message in alias.c, found by Azuma |
| 2498 | Okamoto. |
| 2499 | Fix a couple of problems in the more-configurable config files, |
| 2500 | found by Tom Ivar Helbekkmo. |
| 2501 | Fix problem with quoted :include: entries. |
| 2502 | Don't duplicate the filename on verbose printing of .forward and |
| 2503 | :include: contents. |
| 2504 | Extend size of prescan buffer (to allow bigger addresses). Also, |
| 2505 | detect some buffer overflows. |
| 2506 | Log user SMTP protocol errors (log level 4). |
| 2507 | |
| 2508 | 6.20/6.4 93/02/14 |
| 2509 | Fix another problem in the MCI state machine caused when there |
| 2510 | were errors generated from the other end to commands |
| 2511 | other than RCPT. |
| 2512 | |
| 2513 | 6.19/6.4 93/02/14 |
| 2514 | Include load average support for DEC Alpha running OSF/1. |
| 2515 | Fix multiple-response problem with errors in MAIL From: line. |
| 2516 | Fix SMTP reply codes for invalid address syntaxes (give 501; |
| 2517 | never give multiple error messages for a single message). |
| 2518 | Fix problem where a cached connection timeout rejects all |
| 2519 | later connects to that host. |
| 2520 | Fix incorrect error message if alias.c is compiled with DBM only. |
| 2521 | Additional changes to fix nested conditionals (from Bruce Lilly). |
| 2522 | Recover more gracefully from operating system failures, particularly |
| 2523 | NULL returns from openmailer (from Noritoshi Demizu, |
| 2524 | OMRON Corporation). |
| 2525 | Log forward, alias, and userdb expand operations on log level 10; |
| 2526 | concept suggested by P{r (Pell) Emanuelsson. |
| 2527 | Changes for HPUX 8.07 compatibility. |
| 2528 | |
| 2529 | 6.18/6.4 93/02/12 |
| 2530 | Allow any config option to be set using an M4 define. |
| 2531 | Change UNAME compile flag to HASUNAME for IDA compatibility |
| 2532 | (besides, it's a better name). |
| 2533 | Note in README that on SunOS it must be linked -Bstatic. |
| 2534 | Fairly major change in domain.c to handle wildcard MX records |
| 2535 | more rationally. NOTE: the "w" option (no wildcard MX |
| 2536 | records match local domain) has been eliminated. |
| 2537 | Fix some unset variable references pointed out by Bruce Lilly. |
| 2538 | Fix host name in process titles when using cached connection. |
| 2539 | |
| 2540 | 6.17/6.3 93/01/28 |
| 2541 | Fix System 5 compatibility changes to be compatible with the rest |
| 2542 | of the world. |
| 2543 | |
| 2544 | 6.16/6.3 93/01/28 |
| 2545 | Experimental fix for problem handling errors in the SMTP |
| 2546 | protocol in conjunction with connection caching. |
| 2547 | System 5 compatibility changes. |
| 2548 | |
| 2549 | 6.15/6.3 93/01/26 |
| 2550 | Fix a bug that causes local mail delivered using -odq to be |
| 2551 | eliminated as a duplicate (because it matched the |
| 2552 | ctladdr, now passed in as a C line). These changes |
| 2553 | are pretty tricky...... |
| 2554 | |
| 2555 | 6.14/6.3 93/01/25 |
| 2556 | Add debugging for some MCI errors. |
| 2557 | |
| 2558 | 6.13/6.3 93/01/22 |
| 2559 | Fix -e compatibility flag to take a value. |
| 2560 | Fix a couple of minor compilation warnings on Sun cc. |
| 2561 | Improve error messages in a few cases to be more self-explanatory. |
| 2562 | |
| 2563 | 6.12/6.3 93/01/21 |
| 2564 | Fix yet-another problem with environment handling, pointed out |
| 2565 | by Yoshitaka Tokugawa and Tom Ivar Helbekkmo. |
| 2566 | Some heuristics to try to limit resource exhaustion problems |
| 2567 | if a downstream host has been down for a long time. |
| 2568 | Fix problem with incorrect host name being logged in "Connection |
| 2569 | timed out" messages (from Tom Ivar Helbekkmo). |
| 2570 | Fix some ANSI C problems (from Takahiro Kanbe). |
| 2571 | Properly log message sender on returned mail during queue run. |
| 2572 | Count number of recipients properly. |
| 2573 | Fix a problem in yp map code. |
| 2574 | Diagnose "message timed out" (from Motonori Nakamura). |
| 2575 | |
| 2576 | 6.11/6.3 93/01/20 |
| 2577 | Fix problem with address delimitor inside quotes. |
| 2578 | Define $k and $=k to be the UUCP name (from the uname call) |
| 2579 | based on code from Bruce Lilly. |
| 2580 | |
| 2581 | 6.10/6.2 93/01/18 |
| 2582 | Implement arpatounix (largely code from Bruce Lilly). |
| 2583 | Log more info (suggested by John Myers). |
| 2584 | Allow nested $?...$|...$. (inspired by code from Bruce Lilly of |
| 2585 | Sony US). |
| 2586 | POSIX compatibility (noted by Keith Bostic). |
| 2587 | Handle SMTP MAIL command errors properly (urged by several people, |
| 2588 | notably John Myers of CMU). |
| 2589 | Do early diagnosis of .cf errors (notably referencing a RHS |
| 2590 | substitution that isn't on the LHS). |
| 2591 | Adjust checkpointing to better handle batched recipients, suggested |
| 2592 | by John Myers. |
| 2593 | Fix miscellaneous bugs. |
| 2594 | (config files:) Implement MAIL_HUB for all local mail (to handle |
| 2595 | NFS-mounted directories) as urged by Tom Ivar Helbekkmo |
| 2596 | of the Norwegian School of Economics. |
| 2597 | |
| 2598 | 6.9/6.1 93/01/13 |
| 2599 | Environment handling simplification/bug fix -- child processes |
| 2600 | get a minimal, fixed environment. This avoids different |
| 2601 | behaviour in queue runs. |
| 2602 | Handle commas inside comments properly. |
| 2603 | Properly limit large messages submitted in -obq mode. |
| 2604 | |
| 2605 | 6.8/6.1 93/01/10 |
| 2606 | Check mtime of thaw file against .cf and sendmail binary, based on |
| 2607 | code from John Myers. |
| 2608 | |
| 2609 | 6.7/6.1 93/01/10 |
| 2610 | MX piggybacking, based on code from John Myers@CMU. |
| 2611 | Allow checkcompat to return -1 to mean tempfail. |
| 2612 | Bug fix in m_mno computation. |
| 2613 | |
| 2614 | 6.6/6.1 93/01/09 |
| 2615 | Tuning of queueing functions as recommended by John Gardiner Myers. |
| 2616 | Return mail headers (no body) on messages with negative precedence. |
| 2617 | Minor other bug fixes. |
| 2618 | |
| 2619 | 6.5/6.1 93/01/03 |
| 2620 | Fix botch causing queued headers to have ?XX? prefixes. |
| 2621 | |
| 2622 | 6.4/6.1 93/01/02 |
| 2623 | Changes to recognize special mailer types (e.g., file) early. |
| 2624 | |
| 2625 | 6.3/6.1 93/01/01 |
| 2626 | Pass timeouts to sfgets. |
| 2627 | Check for control characters in addresses. |
| 2628 | Fixed deferred error reporting. |
| 2629 | Report duplicate aliases. |
| 2630 | Handle mixed case recursive aliases. |
| 2631 | Misc bug fixes. |
| 2632 | |
| 2633 | 6.2/6.1 92/12/30 |
| 2634 | Put return-receipt-to on a conf.c flag (but don't set it). |
| 2635 | Fix minor syslog problem. |