Auteur: John W. Baxter Date: À: Exim Mailing List Sujet: [exim] Dropped Interface Not Noticed by Exim
Exim 4.60 (our build, not a package). CentOS 4.4 Final. X86.
First, I must say that this is "rather rare"--it is the first time I've
identified the problem in the decade we have been running Exim, and I don't
think it has happened without being identified.
Through a file naming conflict in
/etc/sysconfig/network-scripts
we blew away one of the interfaces Exim was listening on. The interface was
blown away nearly three weeks ago. (I've repaired the conflict, and
verified by hand that Exim doesn't notice if the interface goes away.)
Exim didn't notice that its interface had gone away (at least it didn't
complain--ideally we would hope for a message in exim_paniclog) but that
might not be feasible--especially cross platform.
We didn't notice either, as the machine in question is our standby machine
used mostly for testing changes. The problem did not appear until I HUPped
Exim to install a changed configuration file, since on the standby machine
no messages arrive on that particular interface.
Exim couldn't bind to the interfece--since it wasn't there--in responding to
the HUP, and properly logged the problem and retries, and gave up
(re)starting.
I have no idea whether it is possible for a program to detect that an
interface that it set up to listen on when it was started has gone away. I
am also far from convinced that the Exim code should be changed even if it
is possible (for all supported platforms), given the rarity of the problem.
We should improve our monitoring to exercise the interface in question (it's
a customer submission port 25 IP which requires authentication, as distinct
from another customer submission port 25 IP which does not for blessed
connecting IPs and refuses mail from other IPs. The monitor tests by
sending mail through the other IP (and my manual testing mail setup evades
the interface as well).