From d4895031664211a9a0096c016a359fb62a2d9518 Mon Sep 17 00:00:00 2001 From: Nigel Metheringham Date: Tue, 29 Mar 2005 20:14:02 +0000 Subject: [PATCH] Removed old changelogs - the conversion has not been kept up. May reconvert these later when scripting written --- changelogs/ChangeLog-2.10.html | 417 --------------------- changelogs/ChangeLog-2.11.html | 112 ------ changelogs/ChangeLog-2.12.html | 61 --- changelogs/ChangeLog-3.00.html | 297 --------------- changelogs/ChangeLog-3.01.html | 27 -- changelogs/ChangeLog-3.10.html | 660 --------------------------------- 6 files changed, 1574 deletions(-) delete mode 100644 changelogs/ChangeLog-2.10.html delete mode 100644 changelogs/ChangeLog-2.11.html delete mode 100644 changelogs/ChangeLog-2.12.html delete mode 100644 changelogs/ChangeLog-3.00.html delete mode 100644 changelogs/ChangeLog-3.01.html delete mode 100644 changelogs/ChangeLog-3.10.html diff --git a/changelogs/ChangeLog-2.10.html b/changelogs/ChangeLog-2.10.html deleted file mode 100644 index febf349..0000000 --- a/changelogs/ChangeLog-2.10.html +++ /dev/null @@ -1,417 +0,0 @@ -Version 2.10 ------------- - -1. The log message for a skipped syntax error in a filter file needed tidying. - -2. After a "foranyaddress" condition succeeds in a filter file, the value of -$thisaddress is available in the commands. It holds whatever what the last -value tested. - -3. Another adjustment to the FreeBSD makefile to make it work in ports and -non-ports environments. - -4. scripts/Configure-Makefile was testing for PERL_COMMAND in the local -configuration without anchoring the check to the start of a line. - -5. Give the error "no local part" instead of "missing colon in route" for -addresses like <@abcd>. - -6. Nested ${lookup} and ${if} items in expanded strings were not working -correctly if "fail" was present in one of the internal items. - -7. A macro expansion at the start of a continuation line of a string was -getting ignored. - -8. Escapes such as \n are now handled conventionally in string expansions. - -9. Added numeric comparisons to string expansions. - -10. Changed the space checking to use the f_bavail field returned by the -stat(v)fs function instead of f_bfree, thus testing non-superuser space only. -Also, for those OS which have it, changed from f_ffree to f_favail for checking -the number of inodes. - -11. Errors in expanding the name of a perl function or its arguments were not -being passed back correctly. - -12. The count of lines in a message (which is used for computing the value for -the SIZE option on outgoing messages) was not being correctly set for incoming -non-local SMTP mail. - -13. If no_smtp_check_spool_space is set, Exim refrains from checking that there -is enough space in the spool partition when it receives a SIZE setting on an -incoming message. - -14. Added message_size_limit_count_recipients. - -15. Implemented quota_warn_threshold in appendfile. - -16. Running exim with -q but without -bd could cause it to crash. - -17. In the delivery log line, don't print the original address in <> if the -only difference from the original address is in the case of the domain(s). - -18. Removed the "debug" transport as I haven't used it for years and it is -simply clutter. - -19. Write a log line when a message is abandoned because of a ridiculously long -header line. - -20. If an error is detected while receiving a batch SMTP message (using -bS) -the error message that is sent now contains information about the sender and -recipients, and a copy of the headers, when such information has been read -before the error was detected. - -21. If errors_to was set in forwardfile, and a headers_add option used -$local_part or any other address-specific expansion, the expansion went wrong. -(The verification of the errors_to address was clobbering the values.) This -could have applied to other directors and routers too. - -22. The smtp_log_connections option should really be called -log_smtp_connections to fit in with other naming. Added the "correct" name as -a synonym, and hide the old one in displays. - -23. If daemon_smtp_service was set to a named service on a machine with a byte -order different to network byte order, Exim listened on the wrong port. This -might have been introduced by change 12 of 2.03. - -24. helo_verify wasn't working in the case where the helo argument was a valid -(but incorrect) host name. - -25. Missing information in log for failures from multiple remote hosts. - -26. If a malformed response to an SMTP command contained newlines, they were -written verbatim to the log. They are now converted to \n (and other -non-printing characters are also escaped). - - -Version 2.054 -------------- - -1. Insert missing fflush() if starting an SMTP session is rejected. - -2. In the default configuration, changed the retry specification to - - * * F,2h,15m; G,16h,1h,1.5; F,4d,8h - -The difference is that after trying every 15 minutes for 2 hours, it next tries -one hour later rather than two hours later. - -3. Remove the definition of os_strsignal from the FreeBSD os.h, as it seems it -doesn't have it (ditto BSDI) and also from OpenBSD, just in case. My assumption -that it's on all BSD systems (based on NetBSD) is clearly false. - -4. Updated exim_tidydb so that with the -f flag, it checks for the continued -presence of a message that has a message-specific retry record. - -5. Fix exiqsumm so that it correctly recognizes domain literals in recipient -addresses. - -6. The install script should now install the Texinfo documentation if -INFO_DIRECTORY is defined, and the source is available. - -7. If a screwed-up host sent an SMTP response that contained LF characters, -they got left as LFs when included in the retry database. This could mess up -the format of the output from exim_dumpdb. They are now converted into \n. - -8. Multiline responses from a remote host are better formatted when -d is set -for the smtp transport. - -9. Fixed a very low-probability file descriptor leak in eximon; if a -J file -existed and reading the -H file failed, the -J file didn't get closed. - -10. Added to the FreeBSD makefile, on Sheldon Hearn's recommendation: - -.if ${PORTOBJFORMAT} == "elf" -XLFLAGS+=-Wl,-rpath,${X11BASE}/lib -.endif - -It allows eximon to be built on FreeBSD ELF systems. - -11. Fixed bug in libident/support.c causing crashes on malformed ident data. -Also fixed another typo bug in libident. - -12. If headers_sender_verify was set and there was a syntax error in a header, -the error message just said "no valid sender". Now it gives details of the -syntax error. - -13. If the expansion of headers_add for pipe and smtp transports failed, the -reason for the failure was not included in the error message (it was for -appendfile). - -14. Added the "check_local_user" magic to {current,home}_directory in -forwardfile. - -15. Changed the way the Makefile works when embedding Perl. The user need now -specify only EXIM_PERL=perl.o. The Makefile builder sets default values for the -other parameters at the top of the file, using the setting of PERL_COMMAND to -run Perl, when EXIM_PERL is set. - -16. When an alias lookup defers because no addresses generated, include the -syntax error message in the message. - -17. In the forwardfile director, the skip_syntax_errors option now applies to -filter files as well as to conventional .forward files. Added -syntax_errors_text option to forwardfile and aliasfile. - -18. Fixed potential segfault crash in MBX delivery (while computing the -timestamp). - -19. Added $parent_domain, $parent_local_part, $address_file, $address_pipe. - -20. The router and director options "domains", "local_parts", "senders", and -their matching "except_" partners are now expanded. - -21. The -bp option wasn't reading messages' -J files, and so wasn't marking -addresses "delivered" as early as it could. - -22. Added the queue_only_file option. - -23. The autoreply transport now has a reply_to option, and the "mail" command -in filters supports "from" and "reply-to" keywords. - -24. Pedantic message correction: "all its recipients" => "all of its -recipients". - -25. Added default definition of EX_CONFIG for systems that don't have it. - -26. Set no_expn on the forwardfile director in the default configuration. - -27. Skip logwrite in filter files when run as a result of EXPN. - -28. Allow leading dots in local parts. Exim is already extended to allow null -components inside or at the end of local parts (e.g. a..b.@xyz) so it doesn't -seem worth making this extension specifically configurable. - -29. Added rbl_log_rcpt_count and rbl_log_headers. - -30. The setting of KEEPALIVE on an incoming socket was not being bypassed when --bh was in use, leading to a warning message. - -31. There was a long-standing problem with queue runners when a delivery that -was started by a queue runner passed on one or more TCP/IP connections to -another process. The problem was that the queue runner did not know this, and -went on to start more deliveries. If there were a large number of messages -queued for one host, this could cause too many delivery processes to be -running. The queue runner process is now told about additional descendent -processes, and it waits for them all to finish before moving on to the next -message. - - - -Version 2.053 -------------- - -1. Reword message for not-found driver to emphasize which kind of driver. - -2. Give pid and ppid in message about process creation failure. - -3. If addresses on the command line for a -t message cause all included -addresses to get deleted, give a special "no recipients" error, mentioning the -cause. (Previously the message just never got delivered to anybody.) - -4. If a user's filter file has "seen finish" with no significant deliveries, -write a log line of the form "=> discarded
D=director" to indicate -what has happened. - -5. Added match_directory to forwardfile. - -6. If match_directory was set on localuser, and it was an expanded string, and -the resulting pattern was a regular expression, and more than one address was -processed by this director such that the expansions gave differing patterns, -then things went wrong because the first pattern was used every time owing to -caching of the compiled regular expression. - -7. When doing a 2-stage queue run (using the -qq option) a message about -queue_smtp was written to each individual message log (though suppressed on the -main log). - -8. If the log level is set less than 5, messages about retry time not reached -are no longer written to individual message logs. - -9. If the replacement string for a rewrite rule is "*" then addresses matching -the patterns and the flags are not rewritten, and no further rules are tried. - -10. Added -bpr, -bpru, -bpra which are like the versions without the 'r', but -display the list in random order. - -11. Added log_smtp_syntax_errors. - -12. Added ${uc:} operator. - -13. Added ignore_fromline_nets and ignore_fromline_local. - -14. After SMTP transport errors such as "connection reset by peer" the text of -the error appeared twice in the log line. - -15. Added :unknown: for use in alias files. - -16. Give full search_type in debugging info for aliasfile. - -17. Added generic transport option message_size_limit. - -18. Added quota_filecount to appendfile, to apply when delivering into a -directory. - -19. When delivering into a directory and quota was exceeded, the "time since -last read" field, which applies to individual mailboxes, was getting set to to -junk values, and could cause a retry record to time out prematurely. - -20. Show sender address in debugging output. - -21. Allow non-trusted users to use -f when running -bt or -bv. - -22. If a transport returns PANIC, Exim used to panic log and die. Now it just -panic logs - so other addresses do get processed. - -23. In aliasfile and forwardfile, the *_transport options can now be expanded -strings. If the result isn't a named transport, the address gets deferred, and -the message gets frozen. - -24. Expanded transport names on directors and routers are now checked only if -the driver handles the address. - -25. Bug introduced in new SMTP temporary problem handling meant that the -wait-smtp database wasn't always updated when it should have been. - -26. Added support for MBX mailboxes (a) the format and (b) the locking. -Upgraded exim_lock. - -27. Added body_only and headers_only generic transport options. - - -Version 2.052 -------------- - -1. Added return_path generic option to the transports. This can re-expand the -return path at transport time and do things like sticking in the recipient's -address (i.e. it makes VERP support possible). - -2. If, during a remote parallel delivery in a subprocess, an SMTP error -response had a humongously long text associated with it, Exim crashed. - -3. When there are no deferred addresses, convert any message-specific retry -record updates into deletes. This does some useful tidying in cases when one -host produces such an error and a subsequent one succeeds or fails hard. - -4. If retry_include_ip_address was set false in an SMTP transport, then the -retrying was not searching for a rule keyed on the domain in addition to a rule -keyed on the host. - -5. Added "rewrite" option to smartuser, cf aliasfile and forwardfile. - -6. When verifying or testing an address, if both a director and router are set, -show both in the output, as is done on log lines for deliveries. - -7. Implemented lookup_open_max for controlling the maximum number of cached -lookup opens for lookup types that use real files. - - -Version 2.051 -------------- - -1. Added bsdi4.0 as an os-type, equivalent to BSDI. - -2. Removed definition of DN_EXPAND_ARG4_TYPE as u_char * for IRIX 6.5, as that -release of IRIX is now compatible with most other OS so the default is OK. - -3. The exiwhat script no longer uses "cut" to fish the process numbers out of -"ps" output because it doesn't work on all systems. (IRIX 6.5 has longer pids.) -It now uses awk instead, to get the first field, whatever length it is. - -4. Installed PCRE version 2.01 (Perl 5.005 compatible). - -5. Revamped the way the working makefile in the build directory is created. -This also involved some modification to some of the files in the scripts -directory. At the top level one still runs "make" on its own, but this no -longer involves a nested call to "make" in order to create the lower-level -makefile (which is now called Makefile with a capital M). If run from within -the build directory, it is no longer capable of re-building itself. Further -revampings were done to ensure that the behaviour is the same on IRIX as on -other systems with regard to rebuilding. The "make" program on IRIX behaves -differently in regard to targets that are forced but don't actually rebuild the -file of that name. - -6. The source has been tidied in places as a result of a -fullwarn run on the -IRIX 6.5 compiler. In Exim itself, one set of warnings, in store.c, remains; I -haven't been able to find a way to write the code so that it doesn't generate -them. In the Exim monitor, there are warnings for the modified StripChart and -TextPop modules taken from the Athena widgets. - -7. LFLAGS has been set to -Wl,-LD_MSG:off=85 for IRIX 6.5. This suppresses the -warning about StripChart and TextPop overriding those in the Xaw library when -linking eximon.bin. - -8. Unwanted \n at end of log message for too many message in one connection -removed. - -9. Log entries for queued messages on a single SMTP connection other than the -first such message were incorrectly given as if the queueing was for too many -SMTP connections, instead of for too many messages or load average too high. - -10. Changed the OS/Makefile-FreeBSD setting to X11=$(X11BASE) instead of -X11=/usr/X11. - -11. Improved the output for host testing with the -bh option; more detail of -the order of testing accept/reject lists etc. is now given. - -12. The pipe transport now gives the signal name in the log message when its -child is ended by signal. For Solaris 2, BSD-derived systems, and Linux, the -strsignal() function is called. For the rest, there is a built-in function that -covers the most important signals. - -13. The pipe transport now attempts to give a possible explanation when its -child is ended by a non-zero exit code. As these aren't standardised, it has to -use the uncertain phrase "could mean". - -14. Helo_accept_junk_hosts wasn't allowing the junk to start with [. - -15. Remove trailing spaces from Local/Makefile when building Makefile, as -they can cause trouble in some of the sed commands for building scripts. - -16. A new test for options settings threw up two obscure ones that were out of -alphabetical order in the source. Also some poorly worded configuration error -messages. - -17. The domainlist router wasn't accepting the route_queries option if -route_list wasn't set, complaining "either route_list or route_file or -route_query required". - -18. The queryprogram router had options called "user" and "group" which -conflicted with the generic options of the same name (which got invented -later, for 1.929). The options for queryprogram have been renamed -"command_user" and "command_group". - -19. When the -t option was set, Exim was barfing at header lines like - - To: Recipient list not shown:; - -and complaining about "empty address", even if there were valid addresses in -the Cc or Bcc headers. - -20. The second part of change 10 for 2.05 was a disaster in the case of -temporary errors after MAIL FROM, DATA, and ".", because it meant that one -dodgy message could hold up other mail for the recipients involved. Backed it -out. However, the action after RCPT TO is OK, and remains. - -21. If a listening daemon was run without a -q option to start queue-runners, -it could occasionally crash when a message-accepting process ended. - -22. Added smtp_accept_max_per_host. Required smtp_accept_max to be set if this -or smtp_accept_queue is set. - -23. Added keepalive options for incoming and outgoing SMTP. - -24. Reworded the message that is output at the end of filter testing, as it was -confusing to users. (It wasn't clear that 'delivered is false' meant that the -message would be delivered normally.) - -25. Bug in handling exceedingly long configuration lines fixed. - -26. Added Malcolm Beattie's patch for calling Perl from string expansion. - -27. A new approach to handling temporary errors in the smtp transport. Details -documented in NewStuff. - -28. Bug in exiqsumm showed up under Perl 5.005; the sorting wasn't working -correctly. diff --git a/changelogs/ChangeLog-2.11.html b/changelogs/ChangeLog-2.11.html deleted file mode 100644 index 3cce25d..0000000 --- a/changelogs/ChangeLog-2.11.html +++ /dev/null @@ -1,112 +0,0 @@ -Version 2.11 ------------- - -1. Adjustment of code for catching over-long multi-line SMTP responses to -do a better job in the case of packets not ending in \r\n. - -2. Ignore any user-supplied whitespace (in particular, newlines) at the end of -smtp_banner; previously it was starting a continuation response, and then never -completing it, as there was nothing left. - -3. Eximstats: computed incorrect total size of local deliveries. - -4. If NO_SYSEXITS is set, don't make assumptions about the existence of exit -definitions in the strexits() function in os.c. - -5. Tweak DGUX os.h file for strsignal and add HAVE_MMAP. - -6. If a bounce message was constructed without any directing/routing having -occurred, Exim crashed. This could be provoked by -Mg, or if routing/directing -was deferred until the message retry time was exceeded. The bounce message -could be sent multiple times in the latter case, and did not contain a copy of -the original. - -7. Don't insist on a transport for the domainlist router if verify_only is set. - -8. The count of lines in messages read from stdin with the -i option (ended -only by EOF) was not getting set correctly. - -9. When calling itself to send an error or a warning message, Exim wasn't -setting the -oi option, thus causing truncation of any enclosed text such as a -copy of the incoming message or the output of a pipe if it contained a line -with only a full stop in it. - -10. Added dns_check_names_pattern to provide control over the syntax check. - -11. If a DNS MX lookup fails the syntax check, don't go on to look for an A -record; and if called from lookuphost, don't go on to try widening the name. - -12. Add the identity of the RBL domain to the log when in RBL warning mode, -and also to the messages output during -bh testing. - -13. Do not stop scanning the list of RBL domains when one matches in warning -mode; ensure that X-RBL-Warning headers are added for all that match. - -14. When testing with -bh, output a reminder after the final 250 after "." that -this is not for real. - -15. Added max_username_length. - -16. The log phrase "Error while handling error message" has been made more -accurate by changing it to "Error while reading a message with no usable sender -address", and a reference to the generating message added if there is one. - -17. If -oee was set and the sender of a malformed incoming message was <>, so -that no error message could be sent, the return code was zero rather than 1 -(i.e. it wasn't noticing it hadn't sent an error message). - -18. If a non-SMTP message contains no recipients and error reporting is by mail -and no error message can be sent, the return code from Exim is now 2 instead of -1. This is so it can detect this case in the autoreply transport. - -19. If the autoreply transport detects return code 2 for the message it has -submitted (no recipients) it no longer defers delivery. This means that -autoreplies to $sender_address when that is <> just get ignored (but there is -an entry on the log for the error). - -20. Improved the error message that is given when an alias file or route list -file has the wrong mode, since this seems to confuse people. - -21. Treat disconnection after end of data as a message error rather than a host -error. - -22. Expanded the "file has wrong uid/gid" message to include the uids or gids -which don't match. - -23. Installed PCRE 2.02 (minor tidies). - -24. If a system filter discarded a message (by "seen finish" or similar) then -the log said "original recipients ignored", but had no => line. Now it contains -"=> discarded (message_filter)" instead, to be like the logging that happens -when a user filter discards a message. - -25. Exinext was not displaying routing delays for specific addresses if the -domain successfully routed to a remote host. These can now exist in these -circumstances after temporary recipient-specific errors. Likewise it was not -capable of picking out message-specific retry data when given a message id. - -26. Pipe delivery timeouts were not working if the writes to the pipe got -blocked (they only worked while waiting for the process to complete after doing -all the writing). Furthermore, after a timeout Exim just killed the process it -had created; if that process created further subprocesses they got left -running. It now makes the created process a process group leader, and kills the -whole process group, which will catch simple cases that don't themselves start -new process groups. Also, after detecting a timeout and killing the subprocess, -the third process that was reading from the output pipe didn't always die -immediately. The reading process is now forcibly killed along with the timed -out process group. - -27. If a queryprogram process timed out, Exim wasn't killing it. It now kills -the whole process group, as for pipes (see 26 above). - -28. If a pipe produced output, any error message was omitted from the bounce -message (this was to avoid "output message generated"), but this omitted -information about timeouts. The error information is now included except for -DEFER and OK returns. - -29. Added "hosts_override" to the smtp transport. - -30. Fixed two code infelicities in mailstore format delivery: (a) after opening -RDONLY, a stream of type "w+" was made (this fails on Linux), and the call to -fdopen() was not checked for errors; (b) the fd was closed directly, instead of -the stream. diff --git a/changelogs/ChangeLog-2.12.html b/changelogs/ChangeLog-2.12.html deleted file mode 100644 index e72337e..0000000 --- a/changelogs/ChangeLog-2.12.html +++ /dev/null @@ -1,61 +0,0 @@ -Version 2.12 ------------- - -1. Adjusted scripts/os-type to cope with IRIX 6.5.2m which annoyingly has to be -treated as a different OS. - -2. Removed #define SYSCTL_IP_INTERFACES from OS/os.h-IRIX, because this feature -is only in IRIX versions greater than or equal to 6.2. - -3. Removed the optimization for copying routing from one address to another -with the same domain. This should have been cut out as soon as the possibility -of using $local_part in router configurations was recognized. Also, using -"unseen" on a router causes problems as well. - -4. The use of "unseen" on a router or director was not working properly if -there was a deferment of delivery. Whichever of the unseen/real deliveries -deferred did not get tried again because Exim thought it had delivered the -original address. - -5. Error message when remote closed connection had spurious ": NULL" on the end -of it. - -6. Eximon: if a message had no undelivered addresses, Eximon was omitting it -from its queue listing. - -7. The name of a driver was not being macro-expanded. - -8. Remove the old "expiring address" code from smartuser, as it hasn't been -compiled for a long time, and was throwing up comments in Y2K testing. - -9. Added USE_DB=yes to the FreeBSD Makefile, since all versions come with -Berkeley DB. - -10. Added /usr/include/mit in the XINCLUDE for Ultrix, since some versions need -it. - -11. Modified the arch-type script to call uname -m if uname -p returns -"unknown", which apparently happens on some Linux systems. - -12. If a forward file contained an unterminated quote or comment, it caused the -address not to be terminated at the end of the line, thus swallowing subsequent -lines. - -13. Split the HP-UX configuration files into HP-UX-9 for release 9 and HP-UX -for the current release, which is more POSIX compliant. This has been tested on -release 11.00. Anybody using release 10 may have to fiddle with them. - -14. Changed tests on __hpux in the libident library to tests on hpux. This -picks out the pre-POSIX releases of HP-UX where different argument types are -required for select(). In the current release, hpux is, quite correctly, not -defined (__hpux is defined). - -15. Fiddled with the dummy functions in various places to stop the picky HP-UX -ANSI compiler from complaining that they were infinite loops. - -16. Fixed problem which occurred when a source-routed address was routed to the -local host. It should get rewritten with the first host stripped off; this was -screwing up the original address, causing problems with (a) logging and (b) the -contents of the header file if the delivery was deferred. - -17. Added qualify_single and search_parents options to domainlist router. diff --git a/changelogs/ChangeLog-3.00.html b/changelogs/ChangeLog-3.00.html deleted file mode 100644 index 93faa7e..0000000 --- a/changelogs/ChangeLog-3.00.html +++ /dev/null @@ -1,297 +0,0 @@ - - - - exim changelogs - Version 3.00 (previous main release 2.12) - - - -

Exim changelog for Version 3.00 (previous main release 2.12)

- -

Version 3.00

- -
    -
  1. - The documentation has been brought up-to-date for release - 3.00. -
  2. -
  3. - The -oMr option is documented as working for non-SMTP and - batch SMTP input. It was being ignored for batch SMTP. This - has been fixed. -
  4. -
  5. - Add #define DN_EXPAND_ARG4_TYPE u_char * to OS/os.h-SCO - because it seems that it is one of the operating systems that - defines the fourth argument of dn_expand this way. -
  6. -
- - -

Version 2.954

- -
    -
  1. - Log reception of the SMTP "debug" command. -
  2. -
  3. - Bug introduced by 2.950/15: Exim was incorrectly assuming a - dropped SMTP call if the message's data contained a byte with - the value 255. (Signed character problem in the private - "getc()" code. Sigh.) -
  4. -
- - -

Version 2.953

- -
    -
  1. - Typo in filter.c fixed; some compilers didn't like it, while - others were happy. -
  2. - Make "fail_soft" for the "self" and host_find_failed domainlist - options override a generic setting of no_more. -
  3. - Set $self_hostname when self=fail_soft in a router. -
  4. - Added /warn and /reject to rbl_domains. -
  5. - Reject messages with too many headers instead of just silently - pushing the rest into the body. -
  6. - Recoded handling of multiple headers in expansion to be - (hopefully) more efficient in store usage. -
  7. - Restrict the amount of store used by a $h_ expansion to 64K (to - catch lunatic messages with a zillion To: headers). -
  8. - Add the operator "escape" to string expansions: it escapes all - non-printing characters in its argument. -
  9. - Make HEADER_MAXHEADERS into a config.h macro to match - HEADER_MAXLENGTH so it can be changed easily. -
  10. - If Exim reads EOF on an incoming SMTP connection, it assumes a - broken connection, but neverthless writes an error response. This - was erroneously using a 554 error code instead of 421. -
  11. - The private "getc()" code for TCP/IP inputs had the feof and - ferror tests the wrong way round (but it shouldn't have mattered - much). -
  12. - Blank lines were getting written to the log after some "no - immediate delivery" messages. -
  13. - Increase the maximum length of RBL TXT record data that Exim reads - from 127 to 511. -
  14. - Include IP address in RBL rejection message. -
  15. - To aid in debugging "unexpected disconnection" errors, if the - result of read() is negative, the errno message is now added to - the logged error. -
  16. -
- -

Version 2.952

- -
    -
  1. - White space was not being ignored after a search type ending in - "*" or "@*" in a lookup expression in an expansion. -
  2. - If the smtp waiting database failed to open, the error message - wasn't printing out the interpretation of the value of errno. -
  3. - The negative item "!@" was not being correctly handled in a host - list. -
  4. - Changed the expansion of $tod_full so that the day number is - always given as two digits (to match the times, and it helps for - regression testing). -
  5. -
- -

Version 2.951

- -
    -
  1. - Installed PCRE 2.05 (anchoring bug fix). -
  2. - Retrying was not timing out properly when a message suffered a - temporary address error. This could result in retrying every queue - run after the time when it should have bounced. -
  3. - Implemented once_repeat option for the autoreply transport, and a - corresponding "once_repeat" option for the mail and vacation - commands in mail filters. The vacation command now defaults - once_repeat to 7 days. -
  4. - Added $message_body_size. -
  5. -
- -

Version 2.950

- -
    -
  1. - Big, INCOMPATIBLE re-arrangement of the handling of - domain/host/net/address lists by adding negation and reducing the - number of options. -
  2. - Remove a number of obsolete features; another INCOMPATIBLE change. -
      -
    1. - Obsolete options - see README.UPDATING. -
    2. - No longer allow for pre-0.57 spool files without their names - at the top. -
    3. - No longer cater for spool files that don't have a -body_linecount - setting. This came in at 1.91, but affects only SIZE for - smtp output, so older spool files might still work. -
    4. - No longer ignore commas and semicolons for driver options. -
    5. -
    -
  3. - Installed PCRE 2.04 - bug fixes and tidies. -
  4. - - The API of DB 2 changed at release 2.5.x by adding an - additional option field to the function for starting a - cursor. Fixed dbfn.h to cope with both styles - luckily the - version number is defined by macros. -
  5. - The LDAP library in Solaris 7 has yet another way of handling - errors from the search functions - different from either UMich - LDAP or the Netscape LDAP SDK. (A pity, since everything else - appears to be source-compatible.) It does not seem to be - possible to detect the differences automatically. There was a - previous fudge to distinguish UMich and Netscape, but I - haven't found out how to extend it. Anyway, it gets messier - and messier. Instead, there is now a configuration option - LDAP_LIB_TYPE which the builder of Exim must set. (If not, the - current heuristic still applies.) -
  6. - Some tidies in the smtp transport; some error status - information might have got lost when debugging was turned on - (failing to preserve errno). -
  7. - Host names used as part of keys in the retry database were not - getting lower cased; consequently if a host appeared in two - differently-cased forms (e.g. in MX records, or in a - domainlist rule), separate retry records were being created. -
  8. - Improve wording of some expansion errors. -
  9. - Exim now takes note of the list of alias host names when it - uses gethostbyaddr() to look up a host name. Host checks for - relaying etc. now check against the alias list as well as - against the primary name. -
  10. - In the smtp transport, Exim was relying on errno remaining - zero after a valid read() call, though one shouldn't really - look at its value except in cases of error. It was getting set - on at least one OS. -
  11. - Because "service" is not what people expect, add "port" as a - synonym to all the relevant options. -
  12. - The -bh option wasn't giving any commentary on the testing of - the sender address (or any other address testing). -
  13. - - Lower case local parts as well as domains when doing tests of - address lists, but allow for exception with +caseful. -
  14. - - Make scripts/os-type recognize "sunos4*" instead of just - "sunos4". -
  15. - - When reading from an incoming SMTP call, Exim was always - flushing the output after every command. This causes an - unnecessary number of TCP/IP packets to be used when the - remote client is using pipelining. Instead of using the - standard C library functions (getc() etc.) in this case, Exim - now reads directly from the socket, and flushes the output - only when it needs to refill its input buffer. - -16. Re-vamp of the handling of incoming batch SMTP, as suggested by Ian -Jackson: (i) sender_verify_batch defaults false. (ii) Always give up entirely -on encountering any error while receiving, writing to stdout/stderr and setting -a return code. (iii) EOF is now an error. - -17. Make -R[f] and -qf skip frozen messages by default, and implement -Rff -etc to force thawing. - -18. Log ETRN from hosts that are not in the permitted list. - -19. The use of log_level to cut out "retry time not reached" from the message -log file now applies only to second and subsequent delivery attempts. This -means that during the first attempt, something gets written to the file for all -addresses, both toplevel ones and generated ones. - -20. Added START_SMALL to monitor build-time configuration to start up with -small sized window. - -21. Added $interface_address to hold the incoming interface address, and -oMi -to force it. - -22. Cast uids and gids to long int when [s]printf-ing them. - -23. Typo in source: if an alias file used :fail: for an address that was being -verified, a 450 rather than a 550 error was given. - -24. Log (main and reject logs) when a VRFY or EXPN command is rejected on -policy grounds. Also log (on main log) when an accepted VRFY command fails to -verify the address - this is already done for failing verification of RCPT. - -25. For RBL rejections, if prohibition_message is set, use it, with the RBL -text in $rbl_text. Otherwise show the text as before. - -26. Implemented $message_body_end. In the process, fixed a possible bug -involved with $message_body - the data was being put into non-permanent store, -so if the variable was used more than once, there could have been problems. - -27. If the pattern in a route_list item in the domainlist router is a lookup, -the data looked up is now available as $value in the hostlist item. - -28. Added the "environment" option to the pipe transport. - -29. If -odi is set (synchronous delivery), pass it on to any re-execs or other -calls of Exim (e.g. to send error messages). This helps with automatic testing. - -30. The converter to Texinfo format was turning @sc{xxx} into actual capital -letters in section headings, but not in menu items that refer to them. The -latest version of Texinfo picks this up. Menu items are now also capitalized. - -31. The change that forces euid=uid when Exim is called by root broke the -special processing when CONFIGURE_FILE_USE_EUID is set. This has been fixed. - -32. If an LDAP lookup found an entry, but it had no attributes, it was -returning junk. Now it behaves as if the entry was not found. - -33. During a -qq run, delay warnings were being sent after the first pass. - -34. Access to headers in expansion strings is documented only via the syntax -$h_name: or $header_name: but *not* using {}. For example, ${h_to} is not -documented as legal; by accident it used to work, but ${h_to:} did not because -it was taken as an invalid abbreviation for ${hash_to:}. The "accident" has -been undone. - -35. Patch to scripts/os-type to cater for Unixware 7 and 7.1. - -36. Changed SCO_SV configuration (for SCO 5) using Tony Earnshaw's information. - -37. Created a Unixware7 configuration using James FitzGibbon's information. - -**** -
  16. -
-
-
$Id: ChangeLog-3.00.html,v 1.2 1999/05/25 20:46:06 nigel Exp $
- - - diff --git a/changelogs/ChangeLog-3.01.html b/changelogs/ChangeLog-3.01.html deleted file mode 100644 index 729cfe1..0000000 --- a/changelogs/ChangeLog-3.01.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - exim changelogs - Version 3.01 - - - -

Exim changelog for Version 3.01

- -
    -
  1. - Exim wasn't always handling (i.e. ignoring) white space - following an exclamation mark introducing a negative item in a - domain, host, or address list. -
  2. -
  3. - Exim was failing to compile under SunOS4 because on that OS - getc, ungetc, feof, and ferror are defined only as macros and - not as assignable functions (which Exim now needs). A suitable - lash-up has been provided for this operating system. -
  4. -
-
-
$Id: ChangeLog-3.01.html,v 1.2 1999/05/25 20:46:06 nigel Exp $
- - - diff --git a/changelogs/ChangeLog-3.10.html b/changelogs/ChangeLog-3.10.html deleted file mode 100644 index a992b8c..0000000 --- a/changelogs/ChangeLog-3.10.html +++ /dev/null @@ -1,660 +0,0 @@ - - - - exim changelogs - Version 3.10 - - - -

Exim changelog for Version 3.10 - last non-testing release was 3.03

- -

New Features and user visible changes

- -
    - -
  1. The option log_queue_run_level specifies the log level for the -messages "Start queue run" and "End queue run". The default is 0.
  2. - -
  3. Addition of forbid_lookup, forbid_existstest and forbid_perl to -the forwardfile director.
  4. - -
  5. All directors except smartuser had current_directory and -home_directory options, to set values used at transport time. These -options have now been made generic, so now apply to all -directors.
  6. - -
  7. If SUPPORT_MOVE_FROZEN_MESSAGES is set at compile time, the new -option move_frozen_messages causes frozen messages and their message -logs to be moved from the input and msglog directories on the spool to -Finput and Fmsglog. There is currently no support in Exim or the -standard utilities for handling such moved messages and they won't -show up in lists generated by -bp or eximon.
  8. - -
  9. If no transport is specified for a smartuser director, the -new_address field may now specify a comma-separated list of new -addresses, and :blackhole:, :defer: and :fail: can also be used -there. In otherwords, new_address is like a line from an alias file -(except that :include: is not supported).
  10. - -
  11. The exigrep utility now automatically zcats any log file whose -name ends in COMPRESS_SUFFIX, using ZCAT_COMMAND, as defined in -Local/Makefile.
  12. - -
  13. The expansion condition first_delivery is true for the first -delivery attempt on a message; queue_running is true when a delivery -attempt is caused by a queue runner.
  14. - -
  15. When log_refused_recipients is set, each log line now has a reason -for refusal such as "(RBL)" or "(sender_reject_recipients)".
  16. - -
  17. The magic string "+warn_unknown" behaves like "+allow_unknown", -but it writes a log line every time it lets through a host whose name -can't be looked up.
  18. - -
  19. If EXIMON_LOG_FILE_PATH is set in the environment when eximon -starts up, it overrides the configuration setting. This makes it -possible to have eximon tailing log data that is written to syslog, -provided that MAIL.INFO messages are routed to a separate file.
  20. - -
  21. Policy rejections of recipients can now be overridden for certain -senders by setting recipients_reject_except_senders.
  22. - -
  23. When all deferred addresses have the same domain, it is set in -$domain during the expansion of delay_warning_condition. For pipes, -files, or autoreplies, this is the domain of the parent.
  24. - -
  25. -Rr (and -Rrf, -Rrff) treat the string as a regular -expression.
  26. - -
  27. Added -S (with all variations), which works like -R except that it -checks the message's sender instead of the undelivered recipients. If -both -R and -S are given, both conditions must be satisfied.
  28. - -
  29. The new expansion variable $message_age contains the length of -time since the message was received as a number of seconds.
  30. - -
  31. The syntax of LDAP queries has been extended to allow the passing -of more information than is available in the LDAP URL. An LDAP query -may now consist of a URL preceded by any number of "name=value" -settings, separated by spaces. If a value contains spaces it must be -enclosed in double quotes, and when double quotes are used, backslash -is interpreted in the usual way inside them. The following names are -recognized: -
    -
    USER
    set the DN for authenticating the LDAP bind
    -
    PASS
    set the password
    -
    SIZE
    set the limit for the number of entries returned
    -
    TIME
    set the maximum waiting time for a query
    -
    -
  32. - -
  33. Callers whose gid is Exim's gid are now automatically trusted -(only the uid was looked at previously).
  34. - -
  35. There's a new option called admin_groups. If the current or any of -the supplementary groups of the caller is in this list, the caller has -admin user privileges.
  36. - -
  37. There is now support for PAM (Pluggable Authentication Modules), a -facility which is available in the latest releases of Solaris and in -some GNU/Linux distributions (see - http://ftp.at.kernel.org/pub/linux/libs/pam/).
  38. - -
  39. The file that the exiwhat mechanism uses for process status -information is no longer bundled with the log files. Instead, -"exim-process.info" in the spool directory is used.
  40. - -
  41. Exim can now be configured to log to syslog as well as or instead -of to local log files.
  42. - -
  43. There's a new expansion operator called "mask" which converts an -IP address to binary, masks off the least significant bits, and -converts the result back to text, with mask appended. For example: -${mask:10.111.131.206/28} returns the string -"10.111.131.192/28".
  44. - -
  45. There exist some rare networking situations (for example, packet -radio) where it is helpful to be able to translate IP addresses -generated by normal routing mechanisms into other IP addresses, thus -performing a kind of manual IP routing. This should be done only if -the normal IP routing of the TCP/IP stack is inadequate or -broken. Exim now has this capability.
  46. - -
  47. A new option called retry_data_expire (default 7d) specifies that -retry data older than this should be ignored. This means that if, for -example, a host hasn't been tried for 7 days, Exim will behave as if -it had no knowledge of past failures.
  48. - -
  49. To help with formulating lookup queries, there is a new expansion -operator - -${quote_:} - -which quotes the characters of the string in a lookup-specific way. For -example, the safest way to write a NIS+ query is - -[name="${quote_nisplus:$local_part}"] -
  50. - -
  51. The from_hack option in the appendfile and pipe transports has -been replaced by two string options, check_string and -escape_string. When set, the start of each line is tested for matching -check_string, and if it does, those characters are replaced by the -contents of escape_string.
  52. - -
  53. The appendfile transport has a new option called file_format, -defaulting unset. If set, it requests the transport to check the -format of an existing file before adding to it.
  54. - -
  55. There is a new expansion condition called crypteq, which is -automatically available if Exim is built to support any authentication -mechanisms. Otherwise, it is necessary to define SUPPORT_CRYPTEQ to -get it included in the binary. The crypteq condition has two -arguments. The first is encrypted and compared against the second, -which is already encrypted. Two encryption types are currently -supported: -
      -
    • md5 first computes the MD5 digest of the string, and - then expresses this as printable characters by means of the - base64 encoding.
    • - -
    • crypt calls the crypt() function as used for encrypting - login passwords.
    • - - -
    • There is now support for the AUTH extension to SMTP (RFC 2554), -both as a client and as a server.
    • - -
    • The -bv option now runs interactively, like -bt, if no addresses -are given on the command line.
    • - -
    • There is a new option called -be which is for testing string -expansion. If no arguments are given it runs interactively. It simply -does a string expansion on arguments (or data lines) and outputs the -result.
    • - -
    • The GNU/Hurd operating system is now supported.
    • - -
    • If quota is specified on an appendfile transport, then -quota_warn_threshold may optionally be specified as a percentage.
    • - -
    • There's an alternative hashing function for expanded strings, -called "nhash" for "numeric hash". An item of the form -${nhash_:string} produces a number in the range 0-n, while an item -of the form ${nhash__:string} produces two numbers, separated by -a '/', in the ranges 0-n and 0-m respectively, using a div/mod -hash.
    • - -
    • The expansion variable $host_lookup_failed contains "1" if there -has been an attempt to look up the sending host's name from its IP -address, and this has failed to find the name. Otherwise -$host_lookup_failed contains "0".
    • - -
    • The exim_dbmbuild utility now warns if it encounters a duplicate -key. By default, only the first of a set of duplicates is used - this -is a change from the previous state, but it does make it compatible -with lsearch lookups. There is an option -lastdup which causes it to -use the last instead, which is compatible with what it did -before. There is also an option -nowarn, which stops it listing -duplicate keys to stderr. If any duplicates are encountered, the -return code is 1. For other errors, where it doesn't actually make a -new file, the return code is 2.
    • - -
    • There is a new option called ldap_default_servers which can be -used to supply a colon-separated list of replicated LDAP servers. If -an LDAP lookup has no server mentioned in the URL, that is, the URL -begins "ldap:///...", and ldap_default_servers is set, then the query -is passed to each of the listed servers in turn.
    • - -
    • There is now a variant of the dbm lookup type called dbmnz, which -does not include a trailing binary zero in the keystring that is -looked up.
    • - -
    • Support for MYSQL is now available when LOOKUP_MYSQL is -defined.
    • - -
    • In a system filter file (but not in a user filter) a "deliver" -command may now be followed by "errors_to " in order to -change the envelope sender (and hence the error reporting) for that -delivery.
    • - -
    • The number can now be omitted from host list net searches, in -which case the IP address is looked up without masking and without any -additional text. For example, if an item in a host list is -net-lsearch;/some/file and the calling host has IP address 10.9.8.7 -then the key that is used in the lookup is "10.9.8.7".
    • - -
    • When IPv6 addresses are used in net lookups, the separator between -the components is "." rather than the conventional ":" because colon -is the key terminator in lsearch files. The full, unabbreviated IPv6 -address is always used.
    • - -

      Changelogs

      - -

      Version 3.10

      -
      -
      -1. Exim was crashing when lookup_open_max was exceeded if the type of file
      -being closed was different to the type of file being opened.
      -
      -2. Some further tidies of the os-type and arch-type scripts.
      -
      -3. ENOSPC is not treated in the same way as a quota error for the purposes of
      -retrying.
      -
      -4. The revised exigrep (3.091/26) had "gz" and "Z" built in. Change it to check
      -for COMPRESS_SUFFIX.
      -
      -5. If a reverse lookup done within a message failed because the name looked up
      -had no matching forward lookup, the error text for this got obliterated at the
      -end of the message, and so if it was needed for a subsequent message on the
      -same SMTP connection, junk got logged.
      -
      -
      -Version 3.093
      --------------
      -
      -1. The -bP option wasn't recognizing "authenticator xxx". It was recognizing
      -"auths" and "auth_list", but this abbreviation seems unexpected, so changed
      -those to use the full word.
      -
      -2. Removed a now (since 2.12/3) useless optimization in the code for checking
      -whether two addresses have the same list of hosts.
      -
      -3. After some calls to execv() the failure code wasn't being output.
      -
      -4. Increased field widths in eximstats, as the numbers can be quite big on busy
      -systems.
      -
      -5. Arrange for X-RBL-Warning: headers to be inserted when recipients are
      -allowed through by an exception list from an RBL domain that is set to reject.
      -
      -6. Tidied error messages from -brw. Also, if an SMTP rewrite happens and the
      -source address isn't syntactically valid, just skip the other rewrites. Skip
      -them in any case if there are no rules with non-S flags. If there are no rules
      -at all, say so.
      -
      -7. Reworded "no valid sender in message headers" error message, because it has
      -confused people. Tidied some related messages as well.
      -
      -8. Added USE_DB=yes to the OpenBSD configuration.
      -
      -9. Ignore check_log_space if log_file_path just contains "syslog".
      -
      -10. Add closelog() to the function that closes all log files. The important
      -case of this is the call just before the daemon closes all file descriptors,
      -because otherwise it is closing the syslog one behind the system's back.
      -
      -11. Two "frozen" messages were getting written to the message log in some
      -circumstances.
      -
      -12. Bug in 3.091/23 (fixing an earlier bug) caused a crash if a list of MX
      -records with some identical host names came in a specific order (so it only
      -showed now and again).
      -
      -13. In the arch-type script, when uname -p gives something containing spaces,
      -try uname -m. (Previously it did this only for "" or "unknown".)
      -
      -14. Recognize i686 in scripts/arch-type.
      -
      -15. Re-organize the os-type and arch-type scripts so that $OSTYPE and $ARCHTYPE
      -are now tried after uname rather than before, as many shells set silly values
      -in them. Manual overrides are now provided by EXIM_OSTYPE and EXIM_ARCHTYPE.
      -
      -
      -Version 3.092
      --------------
      -
      -1. Serious bug caused by 1-character typo: In very long messages, characters
      -could occasionally be lost (e.g. 3 lost in a 1.5M file). This bug was
      -introduced in the changes made for 3.033, so it was never in a main release.
      -
      -
      -Version 3.091
      --------------
      -
      -1. Exim was not reporting the actual error if there was an I/O error while
      -reading a message or writing the spool file during message reception. Nor was
      -it logging anything.
      -
      -2. Some reorganization and tidying up of code for handling errors while writing
      -the spool header file.
      -
      -3. When showing log messages for debugging, display the DIE flag when set.
      -
      -4. Add logging of SMTP AUTH information to the "message received" log line.
      -
      -5. Added forbid_lookup, forbid_existstest, forbid_perl to forwardfile (later
      -changed to better names forbid_filter_lookup etc.).
      -
      -6. create_file = belowhome in appendfile could be defeated by the use of /../
      -in the name. Sigh. I'm not devious enough... Symbolic links could also defeat
      -it. These are now checked for by means of realpath(), which all the Unixes I've
      -checked do have. Also, Exim was creating any necessary directories before
      -checking create_file. It now creates directories only if it is permitted to
      -create the file.
      -
      -7. Add more code to ldap to remember when a bind was done and with what
      -credentials so that it doesn't repeat the bind for a subsequent lookup with the
      -same credentials.
      -
      -8. If create_directory was set on appendfile and the directory creation failed
      -for some reason, the error was not reported, so it appeared as if
      -create_directory had been ignored.
      -
      -9. All directors except smartuser had current_directory and home_directory
      -options, to set values used at transport time. These options have now been made
      -generic, so now apply to all directors.
      -
      -10. If a local delivery failed and created message longer than 256 characters,
      -it got truncated when logged.
      -
      -11. Change "all" to "one or more" in bounce and delay messages.
      -
      -12. The convert43t conversion utility didn't work for driver names containing
      -capital letters.
      -
      -13. Change autoreply and other generated messages to use "Reply-To" instead of
      -"Reply-to" because that's the "suggested" form in RFC 822.
      -
      -14. Pulled some common code out of aliasfile and forwardfile and made it into a
      -separate function which they each call.
      -
      -15. The function for writing the -H file tried to create the directory if it
      -didn't exist, but it always will, because the -H file isn't written until the
      --D file has been successfully written. So we can save a bit of code (which in
      -fact was buggy because it didn't support sub-directories).
      -
      -16. Added move_frozen_messages, but only if SUPPORT_MOVE_FROZEN_MESSAGES
      -is defined. There is no current support for handling such messages.
      -
      -17. If queue_smtp or queue_remote got set via queue_only_file for an incoming
      -SMTP message received by the daemon, the flag was not being passed on to the
      -delivery process.
      -
      -18. An explanation to the long-standing problem of eximon menus not working
      -when num-lock is set has been received, and a workaround implemented.
      -
      -19. Address rewrites that happened during delivery (typically on new addresses
      -from forward or filter files) were causing an X-rewrote-address dummy header to
      -be added to the message each time it happened. This could get embarrassing if
      -retrying went on for a long time.
      -
      -20. Only write "children all complete" to the msglog file if the address has no
      -parent address with the same original address. Otherwise (e.g. in cases where
      -xxx is aliased to xxx and other things, and the new xxx gets further aliased by
      -another director) it can be confusing.
      -
      -21. After successful directing, the debugging line showed the transport field
      -from the original address, which could be misleading if copied address had been
      -queued (e.g. by smartuser). As the general queuing function now outputs this
      -info, remove it at top level.
      -
      -22. Smartuser was showing the old rather than the new address in its debugging
      -output.
      -
      -23. If a broken MX list contained the same host more than once, Exim was coded
      -to keep only the lowest precedence, but if it saw a lower value after a higher
      -one, and had seen precedences between the two values, it screwed up the
      -sorting.
      -
      -24. The revision of RFC 822 increases the encouragement for collapsing source
      -routed addresses from the MAY of RFC 1123 to SHOULD. I have therefore cut out
      -all the source route handling code, with the exception of parsing and
      -collapsing. The option collapse_source_routes now has no effect - they are
      -always collapsed. This has made it possible to make some tidies in various
      -places.
      -
      -25. Rewrote the smartuser director - if no transport is specified, the
      -new_address option may now specify a list of addresses, and it may also specify
      -:blackhole:, :defer:, or :fail:.
      -
      -26. Upgraded exigrep so that it automatically zcats compressed file.
      -
      -27. Added expansion conditions first_delivery and queue_running.
      -
      -28. When log_refused_recipients is set, give a reason in each log line.
      -
      -29. Implemented +warn_unknown.
      -
      -30. Allow EXIMON_LOG_FILE_PATH to override in eximon - useful when syslog is in
      -use.
      -
      -31. -Mg was not forcing a thaw of frozen messages (an unwanted side effect of
      -change 17 in version 2.950).
      -
      -32. -M and other delivery forcers (e.g. -qf) were not overriding
      -queue_remote_domains and queue_smtp_domains.
      -
      -33. Added recipients_reject_except_senders.
      -
      -34. When all deferred addresses have the same domain, it is set in $domain
      -during the expansion of delay_warning_condition. For pipes, files, or
      -autoreplies, this is the domain of the parent.
      -
      -35. Changed the default configuration file to lock out domain literal support.
      -This is strictly contrary to the RFCs, but people don't understand about it and
      -it has been abused by spammers seeking open relays.
      -
      -36. -Rr (and -Rrf, -Rrff) treat the string as a regular expression.
      -
      -37. Added -S, which works like -R except that it checks the message's sender.
      -
      -38. Added $message_age.
      -
      -39. Make Exim ignore -n (no aliasing), and make -oitrue the same as -oi.
      -
      -40. Typo in ldap code could cause junk to appear in the error message if a
      -search call failed (which it normally doesn't).
      -
      -41. Source tidies to get rid of compiler warnings for possibly uninitialized
      -variables.
      -
      -
      -Version 3.040
      --------------
      -
      -1. Added additional parameters to LDAP lookups.
      -
      -
      -Version 3.039
      --------------
      -
      -1. Callers who have exim's gid as the current gid are now trusted.
      -
      -2. Added new option admin_groups.
      -
      -3. There was a bug in store handling for expansions involving very large
      -strings, e.g. if message_body_size was set large and was the subject of a
      -"match" filter condition. The symptom was a bus error.
      -
      -4. Exim wouldn't build if LOG_FILE_PATH was set to any of the new syslog
      -variations.
      -
      -5. A couple more compile-time tweaks for netBSD (default USE_DB=yes and look
      -for chown in /usr/sbin).
      -
      -
      -Version 3.038
      --------------
      -
      -1. Added support for PAM authentication.
      -
      -
      -Version 3.037
      --------------
      -
      -1. When forwardfile defers because it doesn't like the file's permissions,
      -include the offending bits in the error message.
      -
      -2. General tidy of error messages from directors to remove duplicated
      -information. (e.g. director names, because they are also shown in the D= item
      -of log lines).
      -
      -3. Pulled some general outgoing SMTP code out of transports/smtp.c and put it
      -in functions in smtp_out.c. This is also used by client authenticator code; the
      -interface is now cleaner.
      -
      -4. Added log_queue_run_level.
      -
      -5. When a message with very long headers was rejected, and the reflection of
      -the headers to the rejectlog filled up the log buffer, the terminating
      -separator line got lost, and the entry didn't necessarily end with \n. It now
      -always puts in the separator, and adds "*** truncated ***" if something has
      -been chopped off.
      -
      -6. Updated eximon to cope with cases when syslog is being used. If only syslog
      -is being used, eximon cannot tail a log - omit that part of its window.
      -
      -7. Updated exicyclog to cope with cases when syslog is being used. If only
      -syslog is being used, exicyclog can't cycle anything.
      -
      -8. Fixed bug in base64 decoding function that was messing up CRAM-MD5
      -authentication for certain lengths of user name.
      -
      -
      -Version 3.036
      --------------
      -
      -1. Moved the logging of a message's freezing to just before the -H file is
      -updated, to minimize cases when the logging happens but the file doesn't get
      -updated (an incident was observed when a system was being shut down).
      -
      -2. Ignore SIGTERM during the tidying-up phase at the end of a delivery, to
      -minimize the chances of things being half done.
      -
      -3. Don't bother doing an RBL lookup if the host has already matched
      -host_reject_recipients.
      -
      -4. Added "sort | uniq" into the exiwhat script, to cut out duplicates, which
      -sometimes happen in "ps" output.
      -
      -5. Changed the file exiwhat uses to spool/exim-process.info instead of a log
      -file. This is so that it will continue to work when syslog logging is used.
      -
      -6. Added support for syslog, configured in log_file_path.
      -
      -
      -Version 3.035
      --------------
      -
      -1. The debug_print option wasn't working for the smtp transport.
      -
      -2. The responses to AUTH commands weren't being copied to debug output.
      -
      -3. Changed the condition handling in the plaintext authenticator to allow for
      -forced DEFER returns ("", "0", "no", "false" => FAIL, "1"; "yes", "true" => OK;
      -anything else defers, text is message).
      -
      -4. Added ${mask:} expansion operator.
      -
      -5. Added translate_ip_address.
      -
      -
      -Version 3.034
      --------------
      -
      -1. When a header syntax check failed, a humungously long address that was too
      -much for string_sprintf to fit in the error message caused a panic exit. This
      -could happen, for example, if a double quote was omitted in a very long list of
      -addresses in a header. It now reflects just the first 1K of the address. Put a
      -similar limit on sender addresses in verify failed messages.
      -
      -
      -Version 3.033
      --------------
      -
      -1. Arrange for crypt.h to be included only on those OS that have it (Solaris,
      -IRIX 6, modern Linux), and for -lcrypt to be set up for those OS that need it
      -(FreeBSD, NetBSD, modern Linux).
      -
      -2. Made MAXINTERFACES changeable in Local/Makefile.
      -
      -3. When sending a delay warning message, quote the top-level original address
      -only, saying "an address generated from" if the actual problem is with a child.
      -
      -4. Set a default for delay_warning_condition to skip precedence bulk/list/junk.
      -
      -5. Allow for spaces around colons in temp_errors setting in smtp transport.
      -
      -6. The "personal" test in filter files now checks for "list" and "junk" as well
      -as "bulk" in the Precedence: header.
      -
      -7. Added retry_data_expire.
      -
      -8. If a key in a partial match was very long (longer than the buffer for
      -string_sprintf()), Exim couldn't handle it.
      -
      -9. Added expansion operator ${quote_xxx:} where xxx is a search type. Each
      -search type has its own (optional) quoting function. Added suitable functions
      -for NIS+, LDAP, and MYSQL.
      -
      -10. Internal revision of the way the "From hack" and SMTP dot escaping is done
      -in preparation for extending appendfile. They are now unified, and are
      -therefore mutually exclusive.
      -
      -11. The "From hack" was failing if the string "From " happened to be split
      -between two buffers when transporting the message.
      -
      -12. If a non-SMTP message that was being read without -oi ended with "\n."
      -(no following NL) then the "." got lost.
      -
      -13. Ensure that all non-SMTP messages have a final NL at input time, instead of
      -testing at delivery time. This simplifies the delivery code.
      -
      -14. Replaced from_hack in appendfile and pipe by check_string and escape_string.
      -
      -15. Added file_format to appendfile.
      -
      -
      -Version 3.032
      --------------
      -
      -1. If remove_headers contained a "fail" expansion, it caused a crash.
      -
      -2. The generic headers_remove option in transports is now expanded. (Seems to
      -have been an oversight.)
      -
      -3. Changed $host_authenticated to $sender_host_authenticated (oversight).
      -
      -4. Added server_set_id generic option to authenticators and $authenticated_id
      -for accessing it.
      -
      -
      -Version 3.031
      --------------
      -
      -1. Removed unnecessary #ifdefs from lookups which don't have private header
      -files.
      -
      -2. Added crypteq as a new expansion condition.
      -
      -3. Make it recognise "netbsd" as equivalent to "NetBSD".
      -
      -4. Updated the FSF's address in LICENCE and NOTICE files.
      -
      -5. Code tidies for SMTP input to remove repetition of real and debugging
      -output by using a subroutine.
      -
      -6. Added support for AUTH.
      -
      -7. Source tidies of a lot of unnecessarily complicated calls to
      -string_nextinlist().
      -
      -8. Source tidies in lookup handling.
      -
      -9. Set XLFLAGS empty for IRIX6 as it doesn't seem to need anything.
      -
      -10. Typo in code for decoding quota_
      - -
      -
      $Id: ChangeLog-3.10.html,v 1.3 1999/11/28 21:00:42 nigel Exp $
      - - - -- 2.30.2