Add References: support to autoreply.
[exim.git] / doc / doc-txt / NewStuff
1 $Cambridge: exim/doc/doc-txt/NewStuff,v 1.91 2006/02/28 11:25:40 ph10 Exp $
2
3 New Features in Exim
4 --------------------
5
6 This file contains descriptions of new features that have been added to Exim,
7 but have not yet made it into the main manual (which is most conveniently
8 updated when there is a relatively large batch of changes). The doc/ChangeLog
9 file contains a listing of all changes, including bug fixes.
10
11 Version 4.61
12 ------------
13
14 PH/01 There is a new global option called disable_ipv6, which does exactly what
15 its name implies. If set true, even if the Exim binary has IPv6 support,
16 no IPv6 activities take place. AAAA records are never looked up for host
17 names given in manual routing data or elsewhere. AAAA records that are
18 received from the DNS as additional data for MX records are ignored. Any
19 IPv6 addresses that are listed in local_interfaces, manualroute route
20 data, etc. are also ignored. If IP literals are enabled, the ipliteral
21 router declines to handle IPv6 literal addresses.
22
23 PH/02 There are now 20 of each type of ACL variable by default (instead of 10).
24 It is also possible to change the numbers by setting ACL_CVARS and/or
25 ACL_MVARS in Local/Makefile. Backward compatibility is maintained if you
26 upgrade to this release with existing messages containing ACL variable
27 settings on the queue. However, going in the other direction
28 (downgrading) will not be compatible; the values of ACL variables will be
29 lost.
30
31 PH/03 If quota_warn_message contains a From: header, Exim now refrains from
32 adding the default one. Similarly, if it contains a Reply-To: header, the
33 errors_reply_to option, if set, is not used.
34
35 PH/04 The variables $auth1, $auth2, $auth3 are now available in authenticators,
36 containing the same values as $1, $2, $3. The new variables are provided
37 because the numerical variables can be reset during string expansions
38 (for example, during a "match" operation) and so may lose the
39 authentication data. The preferred variables are now the new ones, with
40 the use of the numerical ones being deprecated, though the support will
41 not be removed, at least, not for a long time.
42
43 PH/05 The "control=freeze" ACL modifier can now be followed by /no_tell. If
44 the global option freeze_tell is set, it is ignored for the current
45 message (that is, nobody is told about the freezing), provided all the
46 "control=freeze" modifiers that are obeyed in the current message have
47 the /no_tell option.
48
49 PH/06 In both GnuTLS and OpenSSL, an expansion of tls_privatekey that results
50 in an empty string is now treated as unset.
51
52 PH/07 There is a new log selector called sender_verify_fail, which is set by
53 default. If it is unset, the separate log line that gives details of a
54 sender verification failure is not written. Log lines for the rejection
55 of SMTP commands (e.g. RCPT) contain just "sender verify failed", so some
56 detail is lost.
57
58 PH/08 The default for dns_check_names_pattern now allows slashes within names,
59 as there are now some PTR records that contain slashes. This check is
60 only to protect against broken name servers that fall over on strange
61 characters, so the fact that it applies to all lookups doesn't matter.
62
63 PH/09 The default for rfc4131_query_timeout has been changed from 30s to 5s.
64
65 PH/10 When compiled on FreeBSD, NetBSD, or BSD/OS, the pipe transport has a new
66 Boolean option called use_classresources, defaulting false. If it is set
67 true, the setclassresources() function is used to set resource limits
68 when a pipe transport is run to perform a delivery. The limits for the
69 uid under which the pipe is to run are obtained from the login class
70 database.
71
72 PH/11 If retry_interval_max is set greater than 24 hours, it is quietly reset
73 to 24 hours. This avoids potential overflow problems when processing G
74 and H retry rules, and it seems reasonable to require a retry at least
75 once a day.
76
77 PH/12 When the plaintext authenticator is running as a client, the server
78 challenges are now checked to ensure they are valid base64 strings. The
79 default action on failure is to abort the authentication. However, if
80 client_ignore_invalid_base64 is set true, invalid responses are ignored.
81
82 PH/13 When the plaintext authenticator is running as a client, the challenges
83 from the server are placed in $auth1, $auth2, etc. as they are received.
84 Thus, the challege that is received in response to sending the first
85 string (with the AUTH command) can be used in the expansion of the second
86 string, and so on. Currently, up to 3 challenge strings are available in
87 this way. If an invalid base64 string is received when client_ignore_
88 invalid_base64 is set, an empty string is put in the $auth<n> variable.
89
90 PH/14 Messages created by the autoreply transport now contain a References:
91 header. This is constructed in accordance with rules that are described
92 in section 3.64 of RFC 2822, which states that replies should contain
93 such a header line, and section 3.14 of RFC 3834, which states that
94 automatic responses are not different in this respect. However, because
95 some mail processing software does not cope well with very long header
96 lines, no more than 12 message IDs are copied from the References: header
97 line in the incoming message. If there are more than 12, the first one
98 and then the final 11 are copied, before adding the message ID of the
99 incoming message.
100
101
102 Version 4.60
103 ------------
104
105 The documentation is up-to-date for the 4.60 release. Major new features since
106 the 4.50 release are:
107
108 . Support for SQLite.
109
110 . Support for IGNOREQUOTA in LMTP.
111
112 . Extensions to the "submission mode" features.
113
114 . Support for Client SMTP Authorization (CSA).
115
116 . Support for ratelimiting hosts and users.
117
118 . New expansion items to help with the BATV "prvs" scheme.
119
120 . A "match_ip" condition, that matches an IP address against a list.
121
122 There are many more minor changes.
123
124 ****