nm4 2009/10/19 12:41:27 BST
Modified files:
exim-doc/doc-txt ChangeLog
exim-src/src eximstats.src
Log:
Correct eximstats misparse. Fixes #687
Revision Changes Path
1.574 +3 -0 exim/exim-doc/doc-txt/ChangeLog
1.18 +18 -2 exim/exim-src/src/eximstats.src
Index: ChangeLog
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
retrieving revision 1.573
retrieving revision 1.574
diff -u -r1.573 -r1.574
--- ChangeLog 16 Oct 2009 12:49:43 -0000 1.573
+++ ChangeLog 19 Oct 2009 11:41:27 -0000 1.574
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.573 2009/10/16 12:49:43 nm4 Exp $
+$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.574 2009/10/19 11:41:27 nm4 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
@@ -117,6 +117,9 @@
NM/22 Bugzilla 607: prepend (not append) Resent-Message-ID and Resent-Date
Patch provided by Brad "anomie" Jorsch
+NM/23 Bugzilla 687: Fix misparses in eximstats
+ Patch provided by Heiko Schlittermann
+
Exim version 4.69
-----------------
Index: eximstats.src
===================================================================
RCS file: /home/cvs/exim/exim-src/src/eximstats.src,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- eximstats.src 21 Sep 2007 08:26:48 -0000 1.17
+++ eximstats.src 19 Oct 2009 11:41:27 -0000 1.18
@@ -1,5 +1,5 @@
#!PERL_COMMAND -w
-# $Cambridge: exim/exim-src/src/eximstats.src,v 1.17 2007/09/21 08:26:48 steve Exp $
+# $Cambridge: exim/exim-src/src/eximstats.src,v 1.18 2009/10/19 11:41:27 nm4 Exp $
# Copyright (c) 2001 University of Cambridge.
# See the file NOTICE for conditions of use and distribution.
@@ -282,6 +282,9 @@
# 2007-09-20 V1.59 Steve Campbell
# Added the -bylocaldomain option
#
+# 2007-09-20 V1.60 Heiko Schlittermann
+# Fix for misinterpreted log lines
+#
#
#
# For documentation on the logfile format, see
@@ -580,7 +583,7 @@
@days_per_month = (0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334);
$gig = 1024 * 1024 * 1024;
-$VERSION = '1.59';
+$VERSION = '1.50';
# How much space do we allow for the Hosts/Domains/Emails/Edomains column headers?
$COLUMN_WIDTHS = 8;
@@ -1922,7 +1925,12 @@
# "H=Host (UnverifiedHost) [IpAddr]" or "H=(UnverifiedHost) [IpAddr]".
# We do 2 separate matches to keep the matches simple and fast.
# Host is local unless otherwise specified.
- $ip = (/\\bH=.*?(\\[[^]]+\\])/) ? $1 : "local";
+ $ip = (/\\bH=.*?(\\[[^]]+\\])/) ? $1
+ # 2008-03-31 06:25:22 Connection from [213.246.33.217]:39456 refused: too many connections from that IP address // .hs
+ : (/Connection from (\[\S+\])/) ? $1
+ # 2008-03-31 06:52:40 SMTP call from mail.cacoshrf.com (ccsd02.ccsd.local) [69.24.118.229]:4511 dropped: too many nonmail commands (last was "RSET") // .hs
+ : (/SMTP call from .*?(\[\S+\])/) ? $1
+ : "local";
$host = (/\\bH=(\\S+)/) ? $1 : "local";
$domain = "localdomain"; #Domain is localdomain unless otherwise specified.
@@ -2417,6 +2425,14 @@
++$rejected_count_by_reason{"\u$1$2"};
++$rejected_count_by_ip{$ip};
}
+ elsif (
+ # 2008-03-31 06:25:22 H=mail.densitron.com [216.70.140.224]:45386 temporarily rejected connection in "connect" ACL: too fast reconnects // .hs
+ # 2008-03-31 06:25:22 H=mail.densitron.com [216.70.140.224]:45386 temporarily rejected connection in "connect" ACL // .hs
+ /(temporarily rejected connection in .*?ACL:?.*)/
+ ) {
+ ++$temporarily_rejected_count_by_ip{$ip};
+ ++$temporarily_rejected_count_by_reason{"\u$1"};
+ }
else {
++$rejected_count_by_reason{Unknown};
++$rejected_count_by_ip{$ip};