1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
4 <title>exim changelogs - Version 3.00 (previous main release 2.12)</title>
7 <body bgcolor="#FFFFBF" text="#00005A" link="#000060" alink="#E8700D" vlink="#003050">
8 <h1>Exim changelog for Version 3.00 (previous main release 2.12)</h1>
14 The documentation has been brought up-to-date for release
18 The -oMr option is documented as working for non-SMTP and
19 batch SMTP input. It was being ignored for batch SMTP. This
23 Add #define DN_EXPAND_ARG4_TYPE u_char * to OS/os.h-SCO
24 because it seems that it is one of the operating systems that
25 defines the fourth argument of dn_expand this way.
30 <h2>Version 2.954</h2>
34 Log reception of the SMTP "debug" command.
37 Bug introduced by 2.950/15: Exim was incorrectly assuming a
38 dropped SMTP call if the message's data contained a byte with
39 the value 255. (Signed character problem in the private
45 <h2>Version 2.953</h2>
49 Typo in filter.c fixed; some compilers didn't like it, while
52 Make "fail_soft" for the "self" and host_find_failed domainlist
53 options override a generic setting of no_more.
55 Set $self_hostname when self=fail_soft in a router.
57 Added /warn and /reject to rbl_domains.
59 Reject messages with too many headers instead of just silently
60 pushing the rest into the body.
62 Recoded handling of multiple headers in expansion to be
63 (hopefully) more efficient in store usage.
65 Restrict the amount of store used by a $h_ expansion to 64K (to
66 catch lunatic messages with a zillion To: headers).
68 Add the operator "escape" to string expansions: it escapes all
69 non-printing characters in its argument.
71 Make HEADER_MAXHEADERS into a config.h macro to match
72 HEADER_MAXLENGTH so it can be changed easily.
74 If Exim reads EOF on an incoming SMTP connection, it assumes a
75 broken connection, but neverthless writes an error response. This
76 was erroneously using a 554 error code instead of 421.
78 The private "getc()" code for TCP/IP inputs had the feof and
79 ferror tests the wrong way round (but it shouldn't have mattered
82 Blank lines were getting written to the log after some "no
83 immediate delivery" messages.
85 Increase the maximum length of RBL TXT record data that Exim reads
88 Include IP address in RBL rejection message.
90 To aid in debugging "unexpected disconnection" errors, if the
91 result of read() is negative, the errno message is now added to
96 <h2>Version 2.952</h2>
100 White space was not being ignored after a search type ending in
101 "*" or "@*" in a lookup expression in an expansion.
103 If the smtp waiting database failed to open, the error message
104 wasn't printing out the interpretation of the value of errno.
106 The negative item "!@" was not being correctly handled in a host
109 Changed the expansion of $tod_full so that the day number is
110 always given as two digits (to match the times, and it helps for
115 <h2>Version 2.951</h2>
119 Installed PCRE 2.05 (anchoring bug fix).
121 Retrying was not timing out properly when a message suffered a
122 temporary address error. This could result in retrying every queue
123 run after the time when it should have bounced.
125 Implemented once_repeat option for the autoreply transport, and a
126 corresponding "once_repeat" option for the mail and vacation
127 commands in mail filters. The vacation command now defaults
128 once_repeat to 7 days.
130 Added $message_body_size.
134 <h2>Version 2.950</h2>
138 Big, INCOMPATIBLE re-arrangement of the handling of
139 domain/host/net/address lists by adding negation and reducing the
142 Remove a number of obsolete features; another INCOMPATIBLE change.
145 Obsolete options - see README.UPDATING.
147 No longer allow for pre-0.57 spool files without their names
150 No longer cater for spool files that don't have a -body_linecount
151 setting. This came in at 1.91, but affects only SIZE for
152 smtp output, so older spool files might still work.
154 No longer ignore commas and semicolons for driver options.
158 Installed PCRE 2.04 - bug fixes and tidies.
161 The API of DB 2 changed at release 2.5.x by adding an
162 additional option field to the function for starting a
163 cursor. Fixed dbfn.h to cope with both styles - luckily the
164 version number is defined by macros.
166 The LDAP library in Solaris 7 has yet another way of handling
167 errors from the search functions - different from either UMich
168 LDAP or the Netscape LDAP SDK. (A pity, since everything else
169 appears to be source-compatible.) It does not seem to be
170 possible to detect the differences automatically. There was a
171 previous fudge to distinguish UMich and Netscape, but I
172 haven't found out how to extend it. Anyway, it gets messier
173 and messier. Instead, there is now a configuration option
174 LDAP_LIB_TYPE which the builder of Exim must set. (If not, the
175 current heuristic still applies.)
177 Some tidies in the smtp transport; some error status
178 information might have got lost when debugging was turned on
179 (failing to preserve errno).
181 Host names used as part of keys in the retry database were not
182 getting lower cased; consequently if a host appeared in two
183 differently-cased forms (e.g. in MX records, or in a
184 domainlist rule), separate retry records were being created.
186 Improve wording of some expansion errors.
188 Exim now takes note of the list of alias host names when it
189 uses gethostbyaddr() to look up a host name. Host checks for
190 relaying etc. now check against the alias list as well as
191 against the primary name.
193 In the smtp transport, Exim was relying on errno remaining
194 zero after a valid read() call, though one shouldn't really
195 look at its value except in cases of error. It was getting set
198 Because "service" is not what people expect, add "port" as a
199 synonym to all the relevant options.
201 The -bh option wasn't giving any commentary on the testing of
202 the sender address (or any other address testing).
205 Lower case local parts as well as domains when doing tests of
206 address lists, but allow for exception with +caseful.
209 Make scripts/os-type recognize "sunos4*" instead of just
213 When reading from an incoming SMTP call, Exim was always
214 flushing the output after every command. This causes an
215 unnecessary number of TCP/IP packets to be used when the
216 remote client is using pipelining. Instead of using the
217 standard C library functions (getc() etc.) in this case, Exim
218 now reads directly from the socket, and flushes the output
219 only when it needs to refill its input buffer.
221 16. Re-vamp of the handling of incoming batch SMTP, as suggested by Ian
222 Jackson: (i) sender_verify_batch defaults false. (ii) Always give up entirely
223 on encountering any error while receiving, writing to stdout/stderr and setting
224 a return code. (iii) EOF is now an error.
226 17. Make -R[f] and -qf skip frozen messages by default, and implement -Rff
227 etc to force thawing.
229 18. Log ETRN from hosts that are not in the permitted list.
231 19. The use of log_level to cut out "retry time not reached" from the message
232 log file now applies only to second and subsequent delivery attempts. This
233 means that during the first attempt, something gets written to the file for all
234 addresses, both toplevel ones and generated ones.
236 20. Added START_SMALL to monitor build-time configuration to start up with
239 21. Added $interface_address to hold the incoming interface address, and -oMi
242 22. Cast uids and gids to long int when [s]printf-ing them.
244 23. Typo in source: if an alias file used :fail: for an address that was being
245 verified, a 450 rather than a 550 error was given.
247 24. Log (main and reject logs) when a VRFY or EXPN command is rejected on
248 policy grounds. Also log (on main log) when an accepted VRFY command fails to
249 verify the address - this is already done for failing verification of RCPT.
251 25. For RBL rejections, if prohibition_message is set, use it, with the RBL
252 text in $rbl_text. Otherwise show the text as before.
254 26. Implemented $message_body_end. In the process, fixed a possible bug
255 involved with $message_body - the data was being put into non-permanent store,
256 so if the variable was used more than once, there could have been problems.
258 27. If the pattern in a route_list item in the domainlist router is a lookup,
259 the data looked up is now available as $value in the hostlist item.
261 28. Added the "environment" option to the pipe transport.
263 29. If -odi is set (synchronous delivery), pass it on to any re-execs or other
264 calls of Exim (e.g. to send error messages). This helps with automatic testing.
266 30. The converter to Texinfo format was turning @sc{xxx} into actual capital
267 letters in section headings, but not in menu items that refer to them. The
268 latest version of Texinfo picks this up. Menu items are now also capitalized.
270 31. The change that forces euid=uid when Exim is called by root broke the
271 special processing when CONFIGURE_FILE_USE_EUID is set. This has been fixed.
273 32. If an LDAP lookup found an entry, but it had no attributes, it was
274 returning junk. Now it behaves as if the entry was not found.
276 33. During a -qq run, delay warnings were being sent after the first pass.
278 34. Access to headers in expansion strings is documented only via the syntax
279 $h_name: or $header_name: but *not* using {}. For example, ${h_to} is not
280 documented as legal; by accident it used to work, but ${h_to:} did not because
281 it was taken as an invalid abbreviation for ${hash_to:}. The "accident" has
284 35. Patch to scripts/os-type to cater for Unixware 7 and 7.1.
286 36. Changed SCO_SV configuration (for SCO 5) using Tony Earnshaw's information.
288 37. Created a Unixware7 configuration using James FitzGibbon's information.
294 <h6>$Id: ChangeLog-3.00.html,v 1.2 1999/05/25 20:46:06 nigel Exp $</h6>
295 <!-- Created: Mon Aug 25 13:12:18 BST 1997 -->