1 Only the last entry is complete, the others might have been condensed. 2 31990/12/07: v1.00 41990/12/12: v1.01 51991/02/04: v1.02 61991/02/13: v1.10 71991/02/21: v1.20 81991/02/22: v1.21 91991/03/01: v1.30 101991/03/15: v1.35 11 Started using RCS to manage the source 121991/06/04: v1.99 131991/06/10: v2.00 141991/06/11: v2.01 151991/06/12: v2.02 161991/06/20: v2.03 171991/07/04: v2.10 181991/07/12: v2.11 191991/10/02: v2.20 (never released) 201991/10/18: v2.30 21 Reached the doubtful milestone of having a source file (regexp.c) 22 which provokes a compiler error on an old compiler 23 (if using the optimiser) 241991/10/22: v2.31 251991/12/05: v2.40 261991/12/13: v2.50 271992/01/22: v2.60 281992/01/31: v2.61 291992/04/30: v2.70 301992/07/01: v2.71 31 Gave procmail, formail, lockfile and mailstat a more verbose 32 command line help (called up by -h or -?) 331993/02/04: v2.80 34 Started using CVS to manage the source (god's gift to programmers) 35 Changes to the installation scripts: 36 - the autoconf script now performs a reliability test on kernel 37 locking support 38 - reached the doubtful milestone of consistently crashing the 39 kernel on a Convex by running the locktst program 401993/02/19: v2.81 411993/06/02: v2.82 (never really released, was only available as prerelease 4) 42 Worked my way around the !@#$%^&*() POSIX setgid() semantics (if 43 your OS supports setrgid() or setregid()) 441993/07/01: v2.90 45 Condition lines in recipes can now be started with a leading `*', 46 there is no longer a need to count condition lines, simply 47 set the number to zero, and let procmail find out by itself 481993/07/02: v2.91 49 Reached the doubtful milestone to sometimes crash an Ultrix 50 machine (due to the lockingtests, not procmail itself) 511994/06/14: v3.00 52 Changes to procmail: 53 - Changed the semantics of the TRAP keyword. In order to 54 make procmail accept the exitcode it returns, you now have 55 to set EXITCODE="" 56 - It was still occasionally trying to lock /dev/null, which 57 is of course silly, fixed that 58 - Taught it about `nesting recipes'; they allow parts of 59 an rcfile to be grouped hierarchically 60 - Fixed a discrepancy with /bin/sh backquote expansion in 61 environment assignments (preserving all spaces) 62 - Logs its pid and a timestamp when VERBOSE=on 63 - Caused the regular TIMEOUT to break a `hanging' kernel lock 64 - SIGUSR1 and SIGUSR2 can be used to turn on and off verbose 65 logging 66 - Worked around a bug in the `ANSI'-compiler of Domain/OS 67 - Procmail and lockfile now inherit any ignore status of most 68 regular signals (fixes a problem with some buggy shells) 69 - Optionally reads in a global rcfile (/etc/procmailrc) 70 before doing regular delivery (which includes the new 71 keyword: DROPPRIVS) 72 - Can pipe the mail to stdout on request 73 - Moved the "Reiterating kernel lock" diagnostic into the 74 "extended" (i.e. VERBOSE=on) section 75 - Tightened the loop when skipping comments in rcfiles (for 76 a slight speedup) 77 - Added support for filesystems not capable of creating 78 hardlinks 79 - Tightened the security check on initial absolute rcfiles 80 (they sometimes can't be world writable) 81 - Weighted scoring on conditions 82 - Ability to inline parse ${var-text} and ${var:-text} 83 - Ability to inline parse ${var+text} and ${var:+text} 84 - Skipping spaces after "!" and "$" on condition lines 85 - Implicit delivery somehow got broken: fixed 86 - Default umask is always 077 now for deliverymode 87 - Extended ^FROM_DAEMON and ^FROM_MAILER macro regexps again 88 - The -f option became less strict, everyone can use it now, 89 except that unpriviliged users will get an additional >From_ 90 they didn't bargain for (in order to make fakes identifiable) 91 - The date on the From_ line can now be refreshed with -f- 92 - Introduced new recipe flags: E and e (else and error) 93 - Nested blocks clone procmail on a 'c' flag 94 - Introduced the EXITCODE special variable 95 - Implicit delivery mode is now entered if argv[0] doesn't start 96 with the word `procmail' 97 - Fixed the BSD support for kernel-locking only operation 98 - Taught the regexp engine about \< and \> 99 - Fixed bug present on some systems; caused the body to be 100 munged when filtering headers only 101 - Added -o option (makes procmail override the From_ lines, like 102 it used to) 103 - -p and -m together shrink the set of preset variables to the 104 bare minimum 105 - -p is not supported alongside -d anymore 106 - /etc/procmailrcs/ is the place for optional privileged 107 rcfiles in -m mailfilter mode 108 - Switched the meanings of SIGUSR1 and SIGUSR2 109 - The 'a' flag didn't work correctly after filter recipes 110 - Changed the permissions on the lockfile, writing zero in it 111 - Check the permissions on the existing system mailbox, correct 112 them if necessary 113 - Clean up zombies more often 114 Changes to formail: 115 - Fixed a sender-determination-weight problem, it mixed up 116 the weights when autoreplying and when regenerating the From_ 117 line (and thus didn't always pick the optimal field) 118 - Pays attention to the exitcode of the programs it started 119 - Accepts simultaneous -X and -k options 120 - Fixed a bug introduced in v2.82 in formail when using 121 the -x and the -k options simultaneously 122 - Rearranged the weights for "-rt" (made From: more important) 123 - Parsed return-addresses starting with a \ incorrectly 124 (causing it to coredump on occasion) 125 - Supports the -s option withouth a program argument 126 - Recognise extra UUCP >From_ lines 127 - Introduced the -B option to split up BABYL rmail files 128 - It regards and generates a FILENO variable (for easy 129 numbering) 130 - Moved the idcheck functionality into formail -D (due to 131 popular demand), for eliminating duplicate mails 132 - It terminates early now if it only needs the header 133 - The -n option can now sustain itself by reaping children 134 if it can't fork() immediately 135 - It supports incomplete field specifications which match 136 any field starting similarly 137 - Introduced the -u and -U options 138 - -a Message-ID: and -a Resent-Message-ID: to make it generate 139 new ones 140 - Keep the X-Loop: field when generating autoreplies 141 - Lowered the negative weight for .UUCP reply addresses 142 - Honour Content-Length: fields, also speeds up processing of 143 lengthy messages 144 - Clean up zombies more often 145 - Handle bangpath reconstruction 146 - Made -q the default, use -q- to disable 147 Miscellaneous changes: 148 - Detecting and dodging buggy zshs everywhere 149 - Slightly adjusted autoconf for the new non-standard 386BSD 150 and NeXTStep 3.1 environments 151 - Extended the FAQ 152 - Extended and fixed the procmailex man page 153 - Updated the crontab script recommendation in the procmail 154 man page 155 - Fixed the "procmail"-mailer definition in the procmail man 156 page 157 - Created a new procmailsc man page 158 - Fixed a bug in lockfile, the exitcode was not correct if 159 you used -! with more than one file 160 - Including <limits.h> now, some (old) architectures seem to 161 insist on this 162 - Revamped the library search code 163 - Provided a faster (than most libraries) strstr() routine 164 - Created the setid program (to be used by the SmartList 165 installation) 166 - Checking for fstat() in autoconf 167 - Avoiding i/o-redirection on subshells 168 - Provided for the ability to hotwire the lockingtests 169 - Autoconf asks if you'd like to use the existing autoconf.h 170 - Autoconf determines MAX_argc (for choplist) 1711994/06/14: v3.01 172 No changes, version number bump to keep in sync with SmartList 1731994/06/16: v3.02 174 Made formail quiet (by default) about Content-Length mismatches 175 The version number in patchlevel.h for this version was incorrect 176 and still displayed v3.01 (yes, silly, I know) 1771994/06/30: v3.03 178 Limit the no. of retries on lockfiles if the recipient is over 179 quota (procmail & lockfile) 180 Removed some superfluous "procmail:" prefixes in the middle of 181 an error message 182 Utilise a syslog daemon (if present) to log some critical errors 183 (mostly attempted security violations and errors which are 184 fatal but can't occur (like an unwritable /dev/null)) 185 Reconstruct and respect Content-Length: in procmail 186 (if you need the >From lines, you'll have to take any existing 187 Content-Lenght: field out of the header) 188 Reformatted the source code to match the changed conventions 189 Procmail always defaulting the umask to 077 for deliverymode broke 190 some systems, reverting back to the old method of allowing group 191 access on the system mailbox if necessary 1921994/08/02: v3.04 193 Changes to procmail: 194 - Support some non-BSD compatible syslog() implementations 195 - Even if the Content-Length is zero, write it out (some 196 programs can't deal with the empty field) 197 - Drop the safety margin on Content-Length calculations, some 198 programs can't deal with those 199 - Truncate folders to their former length if delivery was not 200 successful 201 - Fine-tuned the ^FROM_MAILER and ^FROM_DAEMON macros again 202 - The -v option lists the locking strategies employed 203 - Will create the last member of the mail spool directory if 204 found missing 205 Forgot to define closelog() away if syslog support is missing 206 Worked around the old syslog() interface 207 Worked around a compiler bug old HP compilers (pointer-unsigned), 208 caused the Content-Length: field to be mangled on some older 209 HP/UX systems (not on every mail) 210 Worked around compilation problems on SCO and old versions of IRIX 211 Some fixes to the man pages 212 Changes to formail: 213 - Mistakenly turned X-Loop: fields into Old-X-Loop: when 214 autoreplying 215 - Allow wildcard -i when autoreplying 216 - Renaming short fields to longer fields didn't always work 217 - Renaming with a wildcard source/destination is possible now 218 - -rk didn't behave correctly if a Content-Length: field was 219 present 220 Extended the sendmail directions in examples/advanced, it includes 221 a direct example on how to make use of the -a feature 222 Using EXIT_SUCCESS instead of EX_OK 223 Both procmail and formail take the -Y option, for traditional 224 Berkeley format mailboxes (ignoring Content-Length:) 225 Some NCR machines didn't have WNOHANG defined 2261994/08/04: v3.05 227 Formail v3.04 didn't remove the From_ line if given the -I 'From ' 228 option, changed that back, allowing for -a 'From ' 229 Procmail sometimes didn't reliably count the number of matches on 230 a weighted recipe, fixed 231 Some minor manpage adaptations 2321994/08/30: v3.06 233 Groff -mandoc macros managed to display the man pages incorrectly, 234 hacked my way around the .TH dependency to fix it 235 Split up string constant FM_HELP, it exceeded some compiler limits 236 Changes to procmail: 237 - Fixed a bug which was present since v2.30: 'z' was always 238 handled case sensitive (seems like not many people use 239 that letter :-) in regular expression conditions 240 - The ^^ anchor can now also be used to anchor the end of 241 a regular expression 242 - The -m flag will now unset ORGMAIL and will make 243 procmail omit the check for a system mailbox 244 - Allow easy reconfiguration of the default rcfile location 245 - Extend the list of internals displayed with -v 246 - The mail fed to the TRAP command contained some spurious 247 nul characters, fixed 248 Optionally allow the automatic installation of compressed man pages 249 Formail v3.00 and later occasionally seemed to hang if used in 250 a chain of pipes and fed with more text than it needed, fixed 251 Updated the FAQ 252 Updated the man pages (among others: vacation example changed) 253 Sharpened the autoconf const check, AIX 3.2.3 managed to slip past 254 it again 255 Made sure that "make -n" with any make works as expected 2561994/10/31: v3.10 257 Changes to procmail: 258 - Minor corrections to the semantics of the 'a' and 'e' flags 259 - Minor correction to the semantics of the -o option 260 - Slight regular expression engine speedup 261 - Regexp matching of environment variables is possible now 262 - Due to popular demand: LOGABSTRACT=all logs *all* successful 263 delivering-recipes executed 264 - Enforce secure permissions on /etc/procmailrcs if used 265 - Take sgid bit in the system mail spool dir into account 266 even if it is world writable 267 - The regexp engine can return matches now (new token "\/", 268 new variable "MATCH") 269 - New recipe flag 'r', raw mode, so procmail doesn't try 270 to ensure the mail ends in an empty line 271 - Success and failure of a filter recipe is well defined now 272 - Procmail v3.06 prepended a bogus "." to explicit rcfile names 273 searched relative to the home directory, fixed 274 - Carved out two subroutines from main() to get it below the 275 optimisation threshold 276 - Eliminated duplicate error messages when procmailrcless 277 delivery fails 278 - Logging "Quota exceeded" messages when appropriate 279 - Truncate notification suppressed when logfile not opened 280 - Truncating didn't always work when delivering across NFS 281 - The $_ special variable was wrong when wasn't set 282 Changes to formail: 283 - New option: -z (zap whitespace and empty fields) 284 - Reading from stdin doesn't require the silly three EOFs 285 anymore 286 - -D with -r cache reply addresses now 287 - Carved out one subroutine from main() to get it below the 288 optimisation threshold 289 - -R with -x didn't work reliably 290 - -r with -i or -I sometimes had unexpected effects (in v3.06) 291 - The nil-Return-Path-override was broken, fixed 292 Updated the man pages, new subsection to procmailrc(5) summarising 293 procmail regexp syntax 294 Expanded on the sendmail.cf $#local example in the 295 examples/advanced file again 296 Revised detection of hard-link incapable filesystems during the 297 installation 298 Fixed bug in lockfile, the exitcode was not correct if 299 you used -! (I hope this finally fixes this -! problem) 300 Using execv() instead of execve() 3011995/05/17: v3.11pre3 302 Changes to procmail: 303 - varname ?? < nnn conditions didn't have the expected effect 304 - Regression bug since v3.06, procmail -m /etc/procmailrcs 305 didn't allow any arguments to be passed, fixed 306 - Eliminated a superfluous fork() when processing TRAP 307 - "lockfile ignored" warning was generated inappropriately at 308 times 309 - Renamed testb() into testB() to avoid conflict with Solaris 310 - Eliminated spurious extra / in default MAILDIR value 311 - Whole line comments among the conditions are recognised 312 - Embedded empty lines in a recipe are tolerated 313 - $\name regexp safe variable expansion 314 - Delay searching for bogus From_ lines until writeout time 315 (speeds up filtering and writes to /dev/null) 316 - Finally fixed this mess with transparent backup to kernel 317 locking methods when the spool directory is not writable 318 - Avoid the one second NFS_ATIME_HACK under heavy load 319 - The 'r' flag had some undesirable side effects at times 320 - Dotlocks which fail due to permissions are not retried anymore 321 - Made the USER_TO_LOWERCASE_HACK run-time adapting 322 - /usr/spool/mail perm 1777, procmail setgid mail, procmail 323 could not read .procmailrc files in 700 $HOME dirs, fixed 324 - If called with -d option and not running with enough 325 privileges, procmail will bounce the mail (instead of 326 delivering to the invoker, as it used to) 327 - Severe tweaking on ^FROM_MAILER and ^FROM_DAEMON to reduce 328 false matches 329 - Allow for broken From_ lines with a missing sender address 330 Changes to formail: 331 - Slightly extended the number of known header fields 332 - Eliminated the conflict with the 4.4BSD daemon libidentifier 333 - In an MMDF environment formail -b didn't behave correctly 334 - Extracted another function from main() to make it smaller 335 - Process address groups correctly 336 - Process From_ lines with embedded commas correctly 337 Changes to autoconf: 338 - Catch NeXTstep 3.2 missing DIR definition 339 - Detect & work around Ultrix 4.3 "ANSI" C compiler 340 - A defined DEFsendmail or SYSTEM_MBOX caused some "s to be 341 omitted in autoconf.h 342 - Refined preliminary setsid() checks (2.4 x86/sunpro cc 343 managed to break it) 344 - Worked around a HERE document quoting bug in some shells 345 - Fixed the empty argument "shift" problem 346 - Detect & work around BSD 4.4 brain damaged setrgid() 347 New Makefile variable VISIBLE_BASE 348 Added support for a parallelising make 349 Changed manconf.c to cater for broken systems that have a 100 line 350 limit for sed (instead of a 100 command limit) 351 Fixed some portability problems with the Makefiles for the OSF make 352 Worked around old shells not supporting negated classes 353 Extended the FAQ 354 Updated examples/advanced docs for meta-argument setup in 355 a traditional v5.* sendmail setup 356 Fixed potential memory corruption bug for machines that have 357 sizeof(off_t)>sizeof(off_t*) (has been around for ages) 358 The man pages were remade upon every make, fixed 3591995/10/29: v3.11pre4 360 Changes to procmail: 361 - Avoid the NFS delay on directory and MH folders 362 - KEEPENV didn't work reliably for more than one variable 363 - New macro ^TO_, delimits addresses more accurately than ^TO 364 - Don't try to fix the system mailbox permissions too soon, 365 this should put a stop to the numerous confusion reports 366 - SENDMAILFLAGS, new environment variable 367 - Support -y as a substitute kludge for -Y 368 - Fixed parsing of $@' when not doublequoted 369 Changes to formail: 370 - Return failure if the autoreply could not find a proper 371 return address 372 - Multiple -U options sometimes had unfortunate side effects 373 - When splitting and a maximum number of messages was being 374 specified, formail erroneously returned EX_IOERR 375 - Avoid splitting empty messages 376 Changes to autoconf: 377 - If running on a system with good old BSD semantics for 378 setrgid(), use the extra features offered 379 Changed the Mprocmail example, use $g instead of $f 3801997/04/28: v3.11pre7 381 Changes to procmail: 382 - Cater for a race condition that occurs if two procmails 383 try to create an empty system mailbox (bogus BOGUS.* files) 384 - SysV autoforwarding mailboxes didn't work, regression bug in 385 v3.10 386 - Autocreating the last dirmember of the spooldir didn't 387 (always?) work due to the trailing / 388 - Kernel lockf() method doesn't change the position of the 389 filepointer anymore (results in more accurate lockingtests) 390 - Multiple directory folders are assigned to LASTFOLDER 391 - Don't strip trailing \n in a $MATCH 392 - Refuse to open directories for INCLUDERC files 393 - Syslog failed -o attempts 394 - Don't log non-delivering recipes, even with 'c' flag 395 Changes to formail: 396 - Skip leading spaces when checking for duplicates (will break 397 checks with old id-databases) 398 Worked around an nroff-coredumping problem with IRIX 399 Corrected the last(?) "make -n" glitch 400 Fixed library detection loop for some Solaris 2.[3-5] setups 401 Changes to procmail and lockfile: use the authenticate library 402 for easier integration with custom authentication and mailbox 403 locations 4041999/03/02: v3.12 405 Changes to procmail: 406 - Use BOGUS.$LOGNAME.inode for bogus files to ease recovery 407 - Define RESTRICT_EXEC to restrict execution of programs 408 - Perform continuous checks on heap overflow, everywhere 409 If overflow is occurs then new variable PROCMAIL_OVERFLOW 410 is set 411 - Catch overly long rcfile names 412 - New variable PROCMAIL_VERSION 413 - LOGABSTRACT=all no longer logs filtering or variable capture 414 actions 415 - Don't strip leading \n in a $MATCH 416 - Worked around a compiler bug in Sun C compiler 4.2 (fdefault 417 cached past function calls) 418 - Tempfile names would grow on retry 419 - Open or reopen rcfiles as the user to prevent peeking when 420 not in privileged mailfilter mode 421 - Don't use $HOME/.procmailrc if it's group-writable or in a 422 group-writable directory, unless it's the user's default group 423 and GROUP_PER_USER is set in config.h 424 - hardlink in a an NFS-resistant manner 425 Worked around a compiler bug old HP compilers (pointer-unsigned), 426 caused the Content-Length: field to be mangled on some older 427 HP/UX systems (not on every mail) 428 Changes to formail: 429 - Generated Message-IDs don't contain "s anymore 430 - Fix off-by-one error when zapping whitespace 431 - -z option allows for leading tab instead of space 432 Changes to formail and lockfile: 433 - -v option displays version information 434 Changes to autoconf: 435 - Detect & work around inefficient realloc() implementations 436 Mailstat returns grand totals as well now 437 Update FAQ and docs to reflect default placing of procmail 438 in /usr/bin instead of /usr/local/bin 4391999/03/31: v3.13 440 Mailstat was too loose in its awk syntax 441 Changes to formail: 442 - Formail was ignoring the exitcode of all but the last 443 invocation (or last several, if -n was in effect) 444 Changes to procmail: 445 - Variable expansion of builtin numeric variables in 446 conditions could overwrite the condition (broke SmartList) 447 - weights<1 didn't work if floats changed accuracy when stored 448 Worked around a bug in the Dunix 4.0e compiler (pointer addition 449 not commutative) 4501999/11/22: v3.14 451 Changes to procmail: 452 - Some zero-length extractions using \/ could core dump 453 - Missed a couple possible overflows 454 - Eliminated the conflict with the C9x `restrict' keyword 455 - Support delivery to maildir mailboxes 456 - Support all styles of mailbox for the mail spool 457 - Don't use a locallockfile on $DEFAULT if it's a directory 458 - Set LINEBUF in the environment on startup 459 - Avoid renaming over old messages in directory folders 460 - New variable SWITCHRC performs `tail call' 461 - Refuse to open anything but regular files with INCLUDERC 462 and SWITCHRC 463 - Indicate whether GROUP_PER_USER was defined in the -v output 464 - Stopped depending on parens to stop function macros (they 465 don't under SunOS 4.x cc) 466 - Small heap compilation would fail on nomemerr() in pipes.c 467 - Worked around Tru64 UNIX V4.0E and V4.0F compilers 468 (strcpy() builtin doesn't always return pointer type) 469 - Warn about using 'c' flag with 'f' flag or on variable 470 capture recipes 471 - Warn about using 'h', 'b', 'i', or 'r' flags on nested 472 block recipes. 473 - Test for allowing rcfiles in sticky directories iff chown 474 is restricted was reversed 475 - LASTFOLDER wasn't correctly set when delivering to multiple 476 folders 477 - -f- couldn't find the timestamp if the address contained a 478 space 479 - SENDMAIL and SENDMAILFLAGS are now split in forwarding actions 480 - Variable capture actions now see the variable's current value 481 and restore it if the action fails. Previously unset 482 variables will remain unset. 483 - fsync() mailboxes before closing them 484 - Actually suppress the 'E' and 'a' flags when combined with 485 the 'e' flag instead of just saying so 486 - Avoid some calls to alarm() 487 - Overflows at certain times would confuse procmail 488 - dyna_long code now meets strict ANSI restrictions 489 - 'W' flag changes "Program failure" to "Non-zero exitcode" 490 - Nested blocks must open and close within the same rcfile 491 - Root owned lockfiles aren't bogus 492 - A lone trailing '$' wasn't terminated properly when expanded 493 Changes to formail: 494 - Replies without the -t flag go to the envelope sender 495 - Replies without "-a Resent-" and -t flag ignore the 496 Resent-* headers 497 - Prevent corrupt idcaches by suppressing the -n option when 498 splitting with the -D option 499 - Accept and strip whitespace between the fieldname and colon 500 - Renaming from a wildcard to nothing now works 501 Changes to mailstat: 502 - Work around the detab done on checkin to CVS 503 - Recognize maildir mailboxes 504 - Don't use a tempfile 505 Changes to autoconf: 506 - Don't assume realloc(0,size) works (doesn't under SunOS 4) 507 Stopped using `implicit int' (for C9x) 508 Cache gethostname() and uname() output 509 Changed the form of tempfile names to make them `more' unique 510 and deal with filename length limits more gracefully 511 Updated the FAQ and the list of mirrors in the README 512 Documented the exact behavior of lockfile's -! flag 513 Documented the suggested usage of -r vs -rt 5142000/08/25: v3.15 515 Changes to procmail: 516 - v3.14 broke compilation on systems without lstat() or 517 that didn't declare it 518 - Rewrite folder type parsing: corrects handling of MH and 519 maildir style spools 520 - v3.14 changed '!' actions too much: revert to v3.13 behavior 521 but continue to split SENDMAILFLAGS 522 - Contents of skipped nested blocks could affect 'E', 'e', 'a', 523 and 'A' flags when they shouldn't have 524 - Prevent peeking into buffers on "Out of memory" errors 525 - Unquoted $\var expansions could alter the interpretation of 526 the following whitespace 527 - Prevent attempts to set LINEBUF to really huge values 528 - Optimize SWITCHRC = $_ 529 - Use a secure PATH when processing /etc/procmailrc 530 - Prevent attempts to exercise a Linux kernel security hole 531 - Use 2^31-1 as the maximum score, even if LONG_MAX is larger 532 Changes to formail: 533 - Allow -n with -D and -s again -- corruption couldn't happen 534 after all 535 - Don't strip pre-colon whitespace until header is identified 536 - Properly handle NULs in the body when generating an autoreply 537 that keeps the body (could coredump) 538 Changes to autoconf: 539 - Avoid coredump on systems where sprintf() calls getenv() 540 Documented that $\var expansions are never split on whitespace 541 More manpage tweaks 542 Worked around linkers that don't support compile-time stripping 543 (for MacOS X) 544 Removed ':' and '@' from list of characters that can appear in 545 tempfile names 546 Called nice() when shouldn't have 547 Workaround SunOS 4.x compiler again 5482001/06/28: v3.20 549 Changes to procmail: 550 - SECURITY: don't do unsafe things from signal handlers: 551 - ignore TRAP when terminating because of a signal 552 - resolve the host and protocol of COMSAT when it is set 553 - save the absolute path form of $LASTFOLDER for the comsat 554 message when it is set 555 - only use the log buffer if it's safe 556 - Support LMTP for delivery mode (not enabled by default) 557 - Preliminary support for using mmap() for `large' messages 558 (this doesn't work yet) 559 - SWITCHRC=zero-length-file didn't always abort the current 560 rcfile 561 - A race to create the mailspool would bounce one of the 562 messages due to an internal error 563 - LC_ in KEEPENV would preserve only the first LC_foo variable 564 - Strip runtime linker variables (LD_*) from environment on 565 all platforms 566 - Drop duplicate and malformed environment entries 567 - Multiple -a options will now set $2, $3, etc 568 - Command line assignments to INCLUDERC and SWITCHRC no longer 569 have any effect 570 - Worked around AIX 4.3.3 xlc compiler (incorrect file-scope 571 variable initialization) 572 - When delivering to a maildir, don't force the message to end 573 with an empty line 574 - Be more paranoid about leaking information between recipients 575 - Unset LOCKFILE if we can't actually lock it 576 - Set MAILDIR to '.' if the chdir fails 577 - LASTFOLDER was sometimes set by '?' conditions 578 - Buffer the log more efficiently 579 - Use the `standard' format for maildir filenames and retry 580 on name collision 581 - Rename by linking to prevent lossage 582 - Avoid dangling pointers when variable capture actions fail 583 Changes to autoconf: 584 - Check for enum support 585 - Warn people that non-ISO/ANSI C compilers might not be 586 supported in the future 587 - IRIX compiler (7.3.1) failed the const check from warnings 588 Changes to lockfile: 589 - Include the system mailbox lockfile path in the -v output 590 - Resist attempts to use a setuid lockfile command 591 - Fix infinite loop on -l, -r, or -s flag with no value 592 Documented formail's treatment of >From_ lines as continuations 593 of the From_ line and warned of problems caused by non-RFC822 594 field names like 'Old-From ' 595 Clarified procmail's treatment of $@ and $# 596 Fixed a man page formatting problem 597 Use long, not off_t, with fseek()/ftell() 598 Increase our paranoia: start to use strlcat() 599 The default MAILDIR is now configurable separately from the 600 default rcfile location 601 Include an RPM spec file in the examples directory for automated 602 builds 603 Include and use mkinstalldirs 604 Called nice() when shouldn't have (this time for sure!) 6052001/06/29: v3.21 606 Changes to procmail: 607 - Incorrect prototype broke compilation on Tru64 UNIX 608 - INCLUDERC was broken by trying to be fancy and not fully 609 succeeding when support for multiple -a options was added 6102001/09/10: v3.22 611 Changes to procmail: 612 - Regression bugs from 3.20: 613 - Broke compilation with K&R compilers 614 - procmail -p -m was overridding PATH 615 - maildir delivery included garbage in filenames 616 - Mismatched HOST in last rcfile didn't discard the message 617 - COMSAT wasn't turned off by an rcfile on the command line 618 - Catch overly long command line variable assignments 619 - If a command expansion is truncated, set PROCMAIL_OVERFLOW 620 and don't trim trailing (really middle) newlines 621 - If the comsat host can't be resolved, set COMSAT to "no" 622 Some fixes to the man pages 623 More paranoia: start to use strlcpy() 624 Generate safe temp and maildir filenames when the hostname 625 contains / or : by mapping them to \ooo 626