This commit is contained in:
parent
f797fbda6a
commit
a645dadf25
293
exim.spec
293
exim.spec
@ -1,5 +1,5 @@
|
||||
#
|
||||
# spec file for package exim (Version 4.63)
|
||||
# spec file for package exim (Version 4.64)
|
||||
#
|
||||
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# This file and all modifications and additions to the pristine
|
||||
@ -28,7 +28,7 @@ Provides: exim = %{version}-%{release}
|
||||
%endif
|
||||
URL: http://www.exim.org/
|
||||
Conflicts: sendmail sendmail-tls postfix
|
||||
License: GNU General Public License (GPL) - all versions
|
||||
License: GNU General Public License (GPL)
|
||||
Group: Productivity/Networking/Email/Servers
|
||||
Autoreqprov: on
|
||||
provides: smtp_daemon
|
||||
@ -36,8 +36,8 @@ provides: smtp_daemon
|
||||
Requires: logrotate
|
||||
PreReq: %insserv_prereq %fillup_prereq /usr/sbin/useradd fileutils textutils
|
||||
%endif
|
||||
Version: 4.63
|
||||
Release: 16
|
||||
Version: 4.64
|
||||
Release: 1
|
||||
Summary: The Exim Mail Transfer Agent, a Replacement for sendmail
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
Source: exim-%{version}.tar.bz2
|
||||
@ -150,13 +150,12 @@ cat <<-EOF > Local/Makefile
|
||||
%if %{?build_with_mysql:1}0
|
||||
LOOKUP_MYSQL=yes
|
||||
%endif
|
||||
# LOOKUP_NIS=yes
|
||||
LOOKUP_NIS=yes
|
||||
# LOOKUP_NISPLUS=yes
|
||||
# LOOKUP_ORACLE=yes
|
||||
LOOKUP_PASSWD=yes
|
||||
# LOOKUP_PGSQL=yes
|
||||
# LOOKUP_WHOSON=yes
|
||||
# LOOKUP_WILDLSEARCH=yes
|
||||
CYRUS_SASLAUTHD_SOCKET=/var/run/sasl2/mux
|
||||
LDAP_LIB_TYPE=OPENLDAP2
|
||||
|
||||
@ -175,7 +174,8 @@ cat <<-EOF > Local/Makefile
|
||||
|
||||
AUTH_CRAM_MD5=yes
|
||||
AUTH_PLAINTEXT=yes
|
||||
# AUTH_SPA=yes
|
||||
# AUTH_SPA=yes
|
||||
AUTH_DOVECOT=yes
|
||||
SUPPORT_TLS=yes
|
||||
TLS_LIBS=-lssl -lcrypto
|
||||
|
||||
@ -415,6 +415,285 @@ exit 0
|
||||
%endif
|
||||
|
||||
%changelog -n exim
|
||||
* Wed Dec 20 2006 - poeml@suse.de
|
||||
- update to 4.64
|
||||
TK/01 Bugzilla #401. Fix DK spooling code so that it can overwrite a
|
||||
leftover -K file (the existence of which was triggered by #402).
|
||||
While we were at it, introduced process PID as part of the -K
|
||||
filename. This should rule out race conditions when creating
|
||||
these files.
|
||||
TK/02 Bugzilla #402. Apply patch from Simon Arlott, speeding up DK signing
|
||||
processing considerably. Previous code took too long for large mails,
|
||||
triggering a timeout which in turn triggers #401.
|
||||
TK/03 Introduced HAVE_LINUX_SENDFILE to os.h-Linux. Currently only used
|
||||
in the DK code in transports.c. sendfile() is not really portable,
|
||||
hence the _LINUX specificness.
|
||||
TF/01 In the add_headers option to the mail command in an Exim filter,
|
||||
there was a bug that Exim would claim a syntax error in any
|
||||
header after the first one which had an odd number of characters
|
||||
in the field name.
|
||||
PH/01 If a server that rejects MAIL FROM:<> was the target of a sender
|
||||
callout verification, Exim cached a "reject" for the entire domain. This
|
||||
is correct for most verifications, but it is not correct for a recipient
|
||||
verification with use_sender or use_postmaster set, because in that case
|
||||
the callout does not use MAIL FROM:<>. Exim now distinguishes the special
|
||||
case of MAIL FROM:<> rejection from other early rejections (e.g.
|
||||
rejection of HELO). When verifying a recipient using a non-null MAIL
|
||||
address, the cache is ignored if it shows MAIL FROM:<> rejection.
|
||||
Whatever the result of the callout, the value of the domain cache is
|
||||
left unchanged (for any other kind of callout, getting as far as trying
|
||||
RCPT means that the domain itself is ok).
|
||||
PH/02 Tidied a number of unused variable and signed/unsigned warnings that
|
||||
gcc 4.1.1 threw up.
|
||||
PH/03 On Solaris, an unexpectedly close socket (dropped connection) can
|
||||
manifest itself as EPIPE rather than ECONNECT. When tidying away a
|
||||
session, the daemon ignores ECONNECT errors and logs others; it now
|
||||
ignores EPIPE as well.
|
||||
PH/04 Applied Nico Erfurth's refactoring patch to tidy up mime.c
|
||||
(quoted-printable decoding).
|
||||
PH/05 Applied Nico Erfurth's refactoring patch to tidy up spool_mbox.c, and
|
||||
later the small subsequent patch to fix an introduced bug.
|
||||
PH/06 Installed the latest Cygwin Makefile from the Cygwin maintainer.
|
||||
PH/07 There was no check for overflow in expansions such as ${if >{1}{4096M}}.
|
||||
PH/08 An error is now given if message_size_limit is specified negative.
|
||||
PH/09 Applied and tidied up Jakob Hirsch's patch for allowing ACL variables
|
||||
to be given (somewhat) arbitrary names.
|
||||
JJ/01 exipick 20060919.0, allow for arbitrary acl_ variables introduced
|
||||
in 4.64-PH/09.
|
||||
JJ/02 exipick 20060919.0, --show-vars args can now be regular expressions,
|
||||
miscellaneous code fixes
|
||||
PH/10 Added the log_reject_target ACL modifier to specify where to log
|
||||
rejections.
|
||||
PH/11 Callouts were setting the name used for EHLO/HELO from $smtp_active_
|
||||
hostname. This is wrong, because it relates to the incoming message (and
|
||||
probably the interface on which it is arriving) and not to the outgoing
|
||||
callout (which could be using a different interface). This has been
|
||||
changed to use the value of the helo_data option from the smtp transport
|
||||
instead - this is what is used when a message is actually being sent. If
|
||||
there is no remote transport (possible with a router that sets up host
|
||||
addresses), $smtp_active_hostname is used.
|
||||
PH/12 Installed Andrey Panin's patch to add a dovecot authenticator. Various
|
||||
tweaks were necessary in order to get it to work (see also 21 below):
|
||||
(a) The code assumed that strncpy() returns a negative number on buffer
|
||||
overflow, which isn't the case. Replaced with Exim's string_format()
|
||||
function.
|
||||
(b) There were several signed/unsigned issues. I just did the minimum
|
||||
hacking in of casts. There is scope for a larger refactoring.
|
||||
(c) The code used strcasecmp() which is not a standard C function.
|
||||
Replaced with Exim's strcmpic() function.
|
||||
(d) The code set only $1; it now sets $auth1 as well.
|
||||
(e) A simple test gave the error "authentication client didn't specify
|
||||
service in request". It would seem that Dovecot has changed its
|
||||
interface. Fortunately there's a specification; I followed it and
|
||||
changed what the client sends and it appears to be working now.
|
||||
PH/13 Added $message_headers_raw to provide the headers without RFC 2047
|
||||
decoding.
|
||||
PH/14 Corrected misleading output from -bv when -v was also used. Suppose the
|
||||
address A is aliased to B and C, where B exists and C does not. Without
|
||||
-v the output is "A verified" because verification stops after a
|
||||
successful redirection if more than one address is generated. However,
|
||||
with -v the child addresses are also verified. Exim was outputting "A
|
||||
failed to verify" and then showing the successful verification for C,
|
||||
with its parentage. It now outputs "B failed to verify", showing B's
|
||||
parentage before showing the successful verification of C.
|
||||
PH/15 Applied Michael Deutschmann's patch to allow DNS black list processing to
|
||||
look up a TXT record in a specific list after matching in a combined
|
||||
list.
|
||||
PH/16 It seems that the options setting for the resolver (RES_DEFNAMES and
|
||||
RES_DNSRCH) can affect the behaviour of gethostbyname() and friends when
|
||||
they consult the DNS. I had assumed they would set it the way they
|
||||
wanted; and indeed my experiments on Linux seem to show that in some
|
||||
cases they do (I could influence IPv6 lookups but not IPv4 lookups).
|
||||
To be on the safe side, however, I have now made the interface to
|
||||
host_find_byname() similar to host_find_bydns(), with an argument
|
||||
containing the DNS resolver options. The host_find_byname() function now
|
||||
sets these options at its start, just as host_find_bydns() does. The smtp
|
||||
transport options dns_qualify_single and dns_search_parents are passed to
|
||||
host_find_byname() when gethostbyname=TRUE in this transport. Other uses
|
||||
of host_find_byname() use the default settings of RES_DEFNAMES
|
||||
(qualify_single) but not RES_DNSRCH (search_parents).
|
||||
PH/17 Applied (a modified version of) Nico Erfurth's patch to make
|
||||
spool_read_header() do less string testing, by means of a preliminary
|
||||
switch on the second character of optional "-foo" lines. (This is
|
||||
overdue, caused by the large number of possibilities that now exist.
|
||||
Originally there were few.) While I was there, I also converted the
|
||||
str(n)cmp tests so they don't re-test the leading "-" and the first
|
||||
character, in the hope this might squeeze out yet more improvement.
|
||||
PH/18 Two problems with "group" syntax in header lines when verifying: (1) The
|
||||
flag allowing group syntax was set by the header_syntax check but not
|
||||
turned off, possible causing trouble later; (2) The flag was not being
|
||||
set at all for the header_verify test, causing "group"-style headers to
|
||||
be rejected. I have now set it in this case, and also caused header_
|
||||
verify to ignore an empty address taken from a group. While doing this, I
|
||||
came across some other cases where the code for allowing group syntax
|
||||
while scanning a header line wasn't quite right (mostly, not resetting
|
||||
the flag correctly in the right place). These bugs could have caused
|
||||
trouble for malformed header lines. I hope it is now all correct.
|
||||
PH/19 The functions {pwcheck,saslauthd}_verify_password() are always called
|
||||
with the "reply" argument non-NULL. The code, however (which originally
|
||||
came from elsewhere) had *some* tests for NULL when it wrote to *reply,
|
||||
but it didn't always do it. This confused somebody who was copying the
|
||||
code for some other use. I have removed all the tests.
|
||||
PH/20 It was discovered that the GnuTLS code had support for RSA_EXPORT, a
|
||||
feature that was used to support insecure browsers during the U.S. crypto
|
||||
embargo. It requires special client support, and Exim is probably the
|
||||
only MTA that supported it -- and would never use it because real RSA is
|
||||
always available. This code has been removed, because it had the bad
|
||||
effect of slowing Exim down by computing (never used) parameters for the
|
||||
RSA_EXPORT functionality.
|
||||
PH/21 On the advice of Timo Sirainen, added a check to the dovecot
|
||||
authenticator to fail if there's a tab character in the incoming data
|
||||
(there should never be unless someone is messing about, as it's supposed
|
||||
to be base64-encoded). Also added, on Timo's advice, the "secured" option
|
||||
if the connection is using TLS or if the remote IP is the same as the
|
||||
local IP, and the "valid-client-cert option" if a client certificate has
|
||||
been verified.
|
||||
PH/22 As suggested by Dennis Davis, added a server_condition option to *all*
|
||||
authenticators. This can be used for authorization after authentication
|
||||
succeeds. (In the case of plaintext, it servers for both authentication
|
||||
and authorization.)
|
||||
PH/23 Testing for tls_required and lost_connection in a retry rule didn't work
|
||||
if any retry times were supplied.
|
||||
PH/24 Exim crashed if verify=helo was activated during an incoming -bs
|
||||
connection, where there is no client IP address to check. In this
|
||||
situation, the verify now always succeeds.
|
||||
PH/25 Applied John Jetmore's -Mset patch.
|
||||
PH/26 Added -bem to be like -Mset, but loading a message from a file.
|
||||
PH/27 In a string expansion for a processed (not raw) header when multiple
|
||||
headers of the same name were present, leading whitespace was being
|
||||
removed from all of them, but trailing whitespace was being removed only
|
||||
from the last one. Now trailing whitespace is removed from each header
|
||||
before concatenation. Completely empty headers in a concatenation (as
|
||||
before) are ignored.
|
||||
PH/28 Fixed bug in backwards-compatibility feature of PH/09 (thanks to John
|
||||
Jetmore). It would have mis-read ACL variables from pre-4.61 spool files.
|
||||
PH/29 [Removed. This was a change that I later backed out, and forgot to
|
||||
correct the ChangeLog entry (that I had efficiently created) before
|
||||
committing the later change.]
|
||||
PH/30 Exim was sometimes attempting to deliver messages that had suffered
|
||||
address errors (4xx response to RCPT) over the same connection as other
|
||||
messages routed to the same hosts. Such deliveries are always "forced",
|
||||
so retry times are not inspected. This resulted in far too many retries
|
||||
for the affected addresses. The effect occurred only when there were more
|
||||
hosts than the hosts_max_try setting in the smtp transport when it had
|
||||
the 4xx errors. Those hosts that it had tried were not added to the list
|
||||
of hosts for which the message was waiting, so if all were tried, there
|
||||
was no problem. Two fixes have been applied:
|
||||
(i) If there are any address or message errors in an SMTP delivery, none
|
||||
of the hosts (tried or untried) are now added to the list of hosts
|
||||
for which the message is waiting, so the message should not be a
|
||||
candidate for sending over the same connection that was used for a
|
||||
successful delivery of some other message. This seems entirely
|
||||
reasonable: after all the message is NOT "waiting for some host".
|
||||
This is so "obvious" that I'm not sure why it wasn't done
|
||||
previously. Hope I haven't missed anything, but it can't do any
|
||||
harm, as the worst effect is to miss an optimization.
|
||||
(ii) If, despite (i), such a delivery is accidentally attempted, the
|
||||
routing retry time is respected, so at least it doesn't keep
|
||||
hammering the server.
|
||||
PH/31 Installed Andrew Findlay's patch to close the writing end of the socket
|
||||
in ${readsocket because some servers need this prod.
|
||||
PH/32 Added some extra debug output when updating a wait-xxx database.
|
||||
PH/33 The hint "could be header name not terminated by colon", which has been
|
||||
given for certain expansion errors for a long time, was not being given
|
||||
for the ${if def:h_colon_omitted{... case.
|
||||
PH/34 The spec says: "With one important exception, whenever a domain list is
|
||||
being scanned, $domain contains the subject domain." There was at least
|
||||
one case where this was not true.
|
||||
PH/35 The error "getsockname() failed: connection reset by peer" was being
|
||||
written to the panic log as well as the main log, but it isn't really
|
||||
panic-worthy as it just means the connection died rather early on. I have
|
||||
removed the panic log writing for the ECONNRESET error when getsockname()
|
||||
fails.
|
||||
PH/36 After a 4xx response to a RCPT error, that address was delayed (in queue
|
||||
runs only) independently of the message's sender address. This meant
|
||||
that, if the 4xx error was in fact related to the sender, a different
|
||||
message to the same recipient with a different sender could confuse
|
||||
things. In particualar, this can happen when sending to a greylisting
|
||||
server, but other circumstances could also provoke similar problems.
|
||||
I have changed the default so that the retry time for these errors is now
|
||||
based a combination of the sender and recipient addresses. This change
|
||||
can be overridden by setting address_retry_include_sender=false in the
|
||||
smtp transport.
|
||||
PH/37 For LMTP over TCP/IP (the smtp transport), error responses from the
|
||||
remote server are returned as part of bounce messages. This was not
|
||||
happening for LMTP over a pipe (the lmtp transport), but now it is the
|
||||
same for both kinds of LMTP.
|
||||
PH/38 Despite being documented as not happening, Exim was rewriting addresses
|
||||
in header lines that were in fact CNAMEs. This is no longer the case.
|
||||
PH/39 If -R or -S was given with -q<time>, the effect of -R or -S was ignored,
|
||||
and queue runs started by the daemon processed all messages. This has
|
||||
been fixed so that -R and -S can now usefully be given with -q<time>.
|
||||
PH/40 Import PCRE release 6.7 (fixes some bugs).
|
||||
PH/41 Add bitwise logical operations to eval (courtesy Brad Jorsch).
|
||||
PH/42 Give an error if -q is specified more than once.
|
||||
PH/43 Renamed the variables $interface_address and $interface_port as
|
||||
$received_ip_address and $received_port, to make it clear that these
|
||||
values apply to message reception, and not to the outgoing interface when
|
||||
a message is delivered. (The old names remain recognized, of course.)
|
||||
PH/44 There was no timeout on the connect() call when using a Unix domain
|
||||
socket in the ${readsocket expansion. There now is.
|
||||
PH/45 Applied a modified version of Brad Jorsch's patch to allow "message" to
|
||||
be meaningful with "accept".
|
||||
SC/01 Eximstats V1.43
|
||||
Bug fix for V1.42 with -h0 specified. Spotted by Chris Lear.
|
||||
SC/02 Eximstats V1.44
|
||||
Use a glob alias rather than an array ref in the generated
|
||||
parser. This improves both readability and performance.
|
||||
SC/03 Eximstats V1.45 (Marco Gaiarin / Steve Campbell)
|
||||
Collect SpamAssassin and rejection statistics.
|
||||
Don't display local sender or destination tables unless
|
||||
there is data to show.
|
||||
Added average volumes into the top table text output.
|
||||
SC/04 Eximstats V1.46
|
||||
Collect data on the number of addresses (recipients)
|
||||
as well as the number of messages.
|
||||
SC/05 Eximstats V1.47
|
||||
Added 'Message too big' to the list of mail rejection
|
||||
reasons (thanks to Marco Gaiarin).
|
||||
SC/06 Eximstats V1.48
|
||||
Mainlog lines which have GMT offsets and are too short to
|
||||
have a flag are now skipped.
|
||||
SC/07 Eximstats V1.49 (Alain Williams)
|
||||
Added the -emptyok flag.
|
||||
SC/08 Eximstats V1.50
|
||||
Fixes for obtaining the IP address from reject messages.
|
||||
JJ/03 exipick.20061117.2, made header handling as similar to exim as possible
|
||||
(added [br]h_ prefixes, implemented RFC2047 decoding. Fixed
|
||||
whitesspace changes from 4.64-PH/27
|
||||
JJ/04 exipick.20061117.2, fixed format and added $message_headers_raw to
|
||||
match 4.64-PH/13
|
||||
JJ/05 exipick.20061117.2, bug fixes (error out sooner when invalid criteria
|
||||
are found, allow negative numbers in numeric criteria)
|
||||
JJ/06 exipick.20061117.2, added new $message_body_missing variable
|
||||
JJ/07 exipick.20061117.2, added $received_ip_address and $received_port
|
||||
to match changes made in 4.64-PH/43
|
||||
PH/46 Applied Jori Hamalainen's patch to add features to exiqsumm.
|
||||
PH/47 Put in an explicit test for a DNS lookup of an address record where the
|
||||
"domain" is actually an IP address, and force a failure. This locks out
|
||||
those revolvers/nameservers that support "A-for-A" lookups, in
|
||||
contravention of the specifications.
|
||||
PH/48 When a host name was looked up from an IP address, and the subsequent
|
||||
forward lookup of the name timed out, the host name was left in
|
||||
$sender_host_name, contrary to the specification.
|
||||
PH/49 Although default lookup types such as lsearch* or cdb*@ have always been
|
||||
restricted to single-key lookups, Exim was not diagnosing an error if
|
||||
* or *@ was used with a query-style lookup.
|
||||
PH/50 Increased the value of DH_BITS in tls-gnu.c from 768 to 1024.
|
||||
MH/01 local_scan ABI version incremented to 1.1. It should have been updated
|
||||
long ago, but noone interested enough thought of it. Let's just say that
|
||||
the "1.1" means that there are some new functions that weren't there at
|
||||
some point in the past.
|
||||
PH/51 Error processing for expansion failure of helo_data from an smtp
|
||||
transport during callout processing was broken.
|
||||
PH/52 Applied John Jetmore's patch to allow tls-on-connect and STARTTLS to be
|
||||
tested/used via the -bh/-bhc/-bs options.
|
||||
PH/53 Added missing "#include <time.h>" to pcre/pcretest.c (this was a PCRE
|
||||
bug, fixed in subsequent PCRE releases).
|
||||
PH/54 Applied Robert Bannocks' patch to avoid a problem with references that
|
||||
arises when using the Solaris LDAP libraries (but not with OpenLDAP).
|
||||
PH/55 Check for a ridiculously long file name in exim_dbmbuild.
|
||||
- build with AUTH_DOVECOT and LOOKUP_NIS
|
||||
* Mon Oct 23 2006 - poeml@suse.de
|
||||
- define SYSLOG_LOG_PID in src/EDITME, so the process id is
|
||||
included when logging via syslog. Pointed out by Florian Laws.
|
||||
|
Loading…
x
Reference in New Issue
Block a user