Change log file for Exim from version 3.951 to 4.20
---------------------------------------------------
Change log file for Exim from version 3.951 to 4.20
---------------------------------------------------
"standard" one afterwards.
(d) The setting of the SIGTERM handler while reading SMTP commands was done
"standard" one afterwards.
(d) The setting of the SIGTERM handler while reading SMTP commands was done
4. If the building process was interrupted during the MakeLinks script, a
subsequent run of 'make' gave misleading errors. I've made it a bit more
4. If the building process was interrupted during the MakeLinks script, a
subsequent run of 'make' gave misleading errors. I've made it a bit more
use in the forthcoming Sieve addition to Exim.
56. The behaviour of -t in the presence of Resent- headers has been changed,
use in the forthcoming Sieve addition to Exim.
56. The behaviour of -t in the presence of Resent- headers has been changed,
error, because it is not clear from RFC 2822 how this might be handled. It
turns out that MUAs don't seem to follow what RFC 2822 says, and any MUA
that uses -t with Resent- ensures that there is only one set of Resent-
error, because it is not clear from RFC 2822 how this might be handled. It
turns out that MUAs don't seem to follow what RFC 2822 says, and any MUA
that uses -t with Resent- ensures that there is only one set of Resent-
was also null (empty passwords are permitted), there was an infinite loop.
An empty user name is not now passed to PAM; authentication is forcibly
failed instead. Also, if the end of the list of strings is reached, an
was also null (empty passwords are permitted), there was an infinite loop.
An empty user name is not now passed to PAM; authentication is forcibly
failed instead. Also, if the end of the list of strings is reached, an
72. Fixed three bugs in ${readsocket:
(i) If the operation failed, and a failure string was given, "}}" was
72. Fixed three bugs in ${readsocket:
(i) If the operation failed, and a failure string was given, "}}" was
(ii) If the operation succeeded, but a failure string was present, "}" was
added to the expanded data.
(iii) The alarm for the timeout was set with signal() instead of with
(ii) If the operation succeeded, but a failure string was present, "}" was
added to the expanded data.
(iii) The alarm for the timeout was set with signal() instead of with
4. Change 4.11/30 below overlooked the case when an address gets a 4xx
response from a server. Because this isn't a host problem, the host does
not get delayed, and it gets tried every time the address is OK'd for
4. Change 4.11/30 below overlooked the case when an address gets a 4xx
response from a server. Because this isn't a host problem, the host does
not get delayed, and it gets tried every time the address is OK'd for
- routing, with the same reponse. However, if hosts_max_try is set, because
+ routing, with the same response. However, if hosts_max_try is set, because
not all the hosts were tried, the address does not time out. I've changed
things so that if there is a 4xx response to a RCPT command, the host in
question does not count towards hosts_max_try if the message is older than
not all the hosts were tried, the address does not time out. I've changed
things so that if there is a 4xx response to a RCPT command, the host in
question does not count towards hosts_max_try if the message is older than
observed that getipnodebyname() gives HOST_NOT_FOUND for names for which a
DNS lookup gives TRY_AGAIN. See also change 125 below.
observed that getipnodebyname() gives HOST_NOT_FOUND for names for which a
DNS lookup gives TRY_AGAIN. See also change 125 below.
SMTP connection, a pipe file descriptor was accidentally left open. This
meant that if there was a long chain of such processes, the number of open
file descriptors increased by one for each process, and if there were
SMTP connection, a pipe file descriptor was accidentally left open. This
meant that if there was a long chain of such processes, the number of open
file descriptors increased by one for each process, and if there were