Sophie

Sophie

distrib > Fedora > 13 > i386 > media > updates-src > by-pkgid > 8ff15aaec6aa7c6a6bfade293a2cfbaa > files > 20

logwatch-7.3.6-55.fc13.src.rpm

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) {