logwatch/logwatch-7.3.6-dovecot.patch
2008-12-17 12:19:38 +00:00

73 lines
3.2 KiB
Diff

diff -up logwatch-7.3.6/scripts/services/dovecot.pom logwatch-7.3.6/scripts/services/dovecot
--- logwatch-7.3.6/scripts/services/dovecot.pom 2008-12-16 15:52:59.000000000 +0100
+++ logwatch-7.3.6/scripts/services/dovecot 2008-12-17 09:35:09.000000000 +0100
@@ -105,8 +105,10 @@ while (defined($ThisLine = <STDIN>)) {
$Disconnected{$Reason}++;
} elsif (($Reason, $Host) = ($ThisLine =~ /TLS initialization failed/) ) {
$TLSInitFail++;
- } elsif (($Host) = ($ThisLine =~ /Aborted login \[(.*)\]/) ) {
+ } elsif (($Host) = ($ThisLine =~ /Aborted login \[(.*)\]/)) {
$Aborted{$Host}++;
+ } elsif (($Reason) = ($ThisLine =~ /Aborted login \((.*)\):/)) {
+ $Aborted{$Reason}++;
# This is for Dovecot 1.0 series
@@ -114,17 +116,25 @@ while (defined($ThisLine = <STDIN>)) {
$Disconnected{"Inactivity"}++;
} elsif ($ThisLine =~ /Disconnected in IDLE/) {
$Disconnected{"in IDLE"}++;
- } elsif ($ThisLine =~ /Disconnected$/) {
+ } elsif (($ThisLine =~ /Disconnected$/) or
+ (($Reason) = ($ThisLine =~ /pop3-login: Disconnected: (.+)/)) or
+ (($Reason) = ($ThisLine =~ /imap-login: Disconnected: (.+)/)) ) {
$Disconnected{"no reason"}++;
- } elsif (($Reason) = ($ThisLine =~ /pop3-login: Disconnected: (.+)/) ) {
- $Disconnected{"no reason"}++;
- } elsif (($Reason) = ($ThisLine =~ /imap-login: Disconnected: (.+)/) ) {
- $Disconnected{"no reason"}++;
- } elsif (($Reason) = ($ThisLine =~ /IMAP.+: Disconnected: (.+)/) ) {
- $Disconnected{$Reason}++;
- } elsif (($Reason) = ($ThisLine =~ /POP3.+: Disconnected: (.+) top/) ) {
+ } elsif ( (($Reason) = ($ThisLine =~ /POP3.+: Disconnected: (.+) top/)) or
+ (($Reason) = ($ThisLine =~ /pop3-login: Disconnected \((.+)\): /)) or
+ (($Reason) = ($ThisLine =~ /IMAP.+: Disconnected: (.+) bytes=/)) or
+ (($Reason) = ($ThisLine =~ /IMAP.+: Disconnected: (.+)/)) ) {
$Disconnected{$Reason}++;
-
+ } elsif (($Reason) = ($ThisLine =~ /IMAP.+: Connection closed bytes=/)) {
+ $ConnectionCl{"no reason"}++;
+ } elsif ( (($Reason) = ($ThisLine =~ /IMAP.+: Connection closed: (.*) bytes=/)) or
+ (($Reason) = ($ThisLine =~ /POP3.+: Connection closed: (.*) (top=|bytes=)/)) ) {
+ $ConnectionCl{$Reason}++;
+ } elsif ($ThisLine =~ /POP3.+: Connection closed top=.* retr=.* del=.* size=.*/) {
+ $ConnectionCl{"no reason"}++;
+ } elsif (($Error) = ($ThisLine =~ /child \d* \(login\) returned error (.*)/)) {
+ # dovecot: child 23747 (login) returned error 89
+ $ChildErr{$Error}++;
} else {
# Report any unmatched entries...
chomp($ThisLine);
@@ -225,6 +235,21 @@ if (keys %Disconnected) {
}
}
+if (keys %ConnectionCl) {
+ print "\n\nDovecot connections closed:";
+ foreach my $Reason (sort keys %ConnectionCl) {
+ print "\n $Reason: $ConnectionCl{$Reason} Time(s)";
+ }
+}
+
+if (keys %ChildErr) {
+ print "\n\nDovecot child error:";
+ foreach my $Error (sort keys %ChildErr) {
+ print "\n error number ". $Error . ": ". $ChildErr{$Error} ." Time(s)";
+ }
+}
+
+
if ((keys %Aborted) && ($Detail >= 10)) {
print "\n\nLogout/aborts:";
foreach my $Host (sort keys %Aborted) {