ph10 2006/11/06 11:27:54 GMT
Modified files:
exim-doc/doc-txt ChangeLog
exim-src/src daemon.c
exim-test runtest
Log:
No paniclog for ECONNRESET when getsockname() fails.
Revision Changes Path
1.424 +6 -0 exim/exim-doc/doc-txt/ChangeLog
1.17 +4 -3 exim/exim-src/src/daemon.c
1.17 +1 -1 exim/exim-test/runtest
Index: ChangeLog
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
retrieving revision 1.423
retrieving revision 1.424
diff -u -r1.423 -r1.424
--- ChangeLog 31 Oct 2006 16:08:11 -0000 1.423
+++ ChangeLog 6 Nov 2006 11:27:54 -0000 1.424
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.423 2006/10/31 16:08:11 ph10 Exp $
+$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.424 2006/11/06 11:27:54 ph10 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
@@ -229,6 +229,12 @@
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.
Exim version 4.63
Index: daemon.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/daemon.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- daemon.c 5 Sep 2006 14:14:32 -0000 1.16
+++ daemon.c 6 Nov 2006 11:27:54 -0000 1.17
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/daemon.c,v 1.16 2006/09/05 14:14:32 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/daemon.c,v 1.17 2006/11/06 11:27:54 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -186,13 +186,14 @@
goto ERROR_RETURN;
}
-/* Get the data for the local interface address. */
+/* Get the data for the local interface address. Panic for most errors, but
+"connection reset by peer" just means the connection went away. */
if (getsockname(accept_socket, (struct sockaddr *)(&interface_sockaddr),
&ifsize) < 0)
{
- log_write(0, LOG_MAIN|LOG_PANIC, "getsockname() failed: %s",
- strerror(errno));
+ log_write(0, LOG_MAIN | ((errno == ECONNRESET)? 0 : LOG_PANIC),
+ "getsockname() failed: %s", strerror(errno));
smtp_printf("421 Local problem: getsockname() failed; please try again later\r\n");
goto ERROR_RETURN;
}
Index: runtest
===================================================================
RCS file: /home/cvs/exim/exim-test/runtest,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- runtest 31 Oct 2006 16:13:48 -0000 1.16
+++ runtest 6 Nov 2006 11:27:54 -0000 1.17
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w
-# $Cambridge: exim/exim-test/runtest,v 1.16 2006/10/31 16:13:48 ph10 Exp $
+# $Cambridge: exim/exim-test/runtest,v 1.17 2006/11/06 11:27:54 ph10 Exp $
###############################################################################
# This is the controlling script for the "new" test suite for Exim. It should #
@@ -2205,7 +2205,7 @@
if($@)
{
- warn $@;
+ print " $@";
print " Assume ClamAV is not running\n";
}
else