SF.net SVN: logwatch:[106] scripts/services/vsftpd

[email protected]
Newsgroups gmane.comp.log.logwatch.devel
Message-ID <[email protected]>
Revision: 106
          http://logwatch.svn.sourceforge.net/logwatch/?rev=106&view=rev
Author:   mtremaine
Date:     2012-05-12 14:24:07 +0000 (Sat, 12 May 2012)
Log Message:
-----------
RHEL/Centos 6 puts the PID in the service name, fixed all regex to handle both styles -mgt

Modified Paths:
--------------
    scripts/services/vsftpd

Modified: scripts/services/vsftpd
===================================================================
--- scripts/services/vsftpd	2012-05-09 07:53:09 UTC (rev 105)
+++ scripts/services/vsftpd	2012-05-12 14:24:07 UTC (rev 106)
@@ -34,50 +34,51 @@
         ( $ThisLine =~ /authentication failure/ )
       )
    { # We don't care about these
+
    } elsif ( ($IP,$Email) = ( $ThisLine =~ /OK LOGIN: Client \"(.*)\", anon password \"(.*)\"$/ ) ) {
       $Temp = "    (" . $IP . "): " . $Email . " - ";
       $AnonLogins{$Temp}++;
-   } elsif ( ($PID, $User,$IP) = ( $ThisLine =~ /\[(.*)\] \[(.*)\] OK LOGIN: Client \"(.*)\"$/ ) ) {
+   } elsif ( ($User,$IP) = ( $ThisLine =~ /(?:\[.*\] )?\[(.*)\] OK LOGIN: Client \"(.*)\"$/ ) ) {
       $Temp = "    (" . $IP . "): " . $User . " - ";
       $UserLogins{$Temp}++;
-   } elsif ( ($PID,$User,$IP) = ( $ThisLine =~ /\[(.*)\] \[(.*)\] FAIL LOGIN: Client \"(.*)\"$/ ) ) {
+   } elsif ( ($User,$IP) = ( $ThisLine =~ /(?:\[.*\] )?\[(.*)\] FAIL LOGIN: Client \"(.*)\"$/ ) ) {
       $Temp = "    (" . $IP . "): " . $User . " - ";
       $FailedLogins{$Temp}++;
-   } elsif ( ($PID,$User,$IP,$FileName,$FileSize) = ( $ThisLine =~ /\[(.*)\] \[(.*)\] OK UPLOAD: Client \"(.*)\", \"(.*)\", (?:(\d+) bytes)?/ ) ) {
+   } elsif ( ($User,$IP,$FileName,$FileSize) = ( $ThisLine =~ /(?:\[.*\] )?\[(.*)\] OK UPLOAD: Client \"(.*)\", \"(.*)\", (?:(\d+) bytes)?/ ) ) {
       $Temp = "   " . $FileName . " <- " . $IP . " (User: " . $User . ")\n";
       $TotalBytesIn+= $FileSize;
       push @UploadedFiles,$Temp;
-   } elsif ( ($PID,$User,$IP,$FileName,$FileSize) = ( $ThisLine =~ /\[(.*)\] \[(.*)\] FAIL UPLOAD: Client \"(.*)\", \"(.*)\", (?:(\d+) bytes)?/ ) ) {
+   } elsif ( ($User,$IP,$FileName,$FileSize) = ( $ThisLine =~ /(?:\[(.*)\] )?\[(.*)\] FAIL UPLOAD: Client \"(.*)\", \"(.*)\", (?:(\d+) bytes)?/ ) ) {
       $Temp = "   " . $FileName . " <- " . $IP . " (User: " . $User . ")\n";
       $TotalBytesIn+= $FileSize;
       push @FailedUploadedFiles,$Temp;
-   } elsif ( ($PID,$User,$IP,$FileName,$FileSize) = ( $ThisLine =~ /\[(.*)\] \[(.*)\] OK DOWNLOAD: Client \"(.*)\", \"(.*)\", (?:(\d+) bytes)?/ ) ) {
+   } elsif ( ($User,$IP,$FileName,$FileSize) = ( $ThisLine =~ /(?:\[(.*)\] )?\[(.*)\] OK DOWNLOAD: Client \"(.*)\", \"(.*)\", (?:(\d+) bytes)?/ ) ) {
       $Temp = "   " . $FileName . " -> " . $IP . " (User: " . $User . ")\n";
       $TotalBytesOut+= $FileSize;
       push @DownloadedFiles,$Temp;
-   } elsif ( ($PID,$User,$IP,$FileName,$FileSize) = ( $ThisLine =~ /\[(.*)\] \[(.*)\] FAIL DOWNLOAD: Client \"(.*)\", \"(.*)\", (?:(\d+) bytes)?/ ) ) {
+   } elsif ( ($User,$IP,$FileName,$FileSize) = ( $ThisLine =~ /(?:\[(.*)\] )?\[(.*)\] FAIL DOWNLOAD: Client \"(.*)\", \"(.*)\", (?:(\d+) bytes)?/ ) ) {
       $Temp = "   " . $FileName . " -> " . $IP . " (User: " . $User . ")\n";
       $TotalBytesOut+= $FileSize;
       push @FailedDownloadedFiles,$Temp;
-   } elsif ( ($PID,$User,$IP,$FileName) = ( $ThisLine =~ /\[(.*)\] \[(.*)\] OK DELETE: Client \"(.*)\", \"(.*)\"/ ) ) {
+   } elsif ( ($User,$IP,$FileName) = ( $ThisLine =~ /(?:\[(.*)\] )?\[(.*)\] OK DELETE: Client \"(.*)\", \"(.*)\"/ ) ) {
       $Temp = "   " . $FileName . " >< " . $IP . " (User: " . $User . ")\n";
       $TotalDeleted++;
       push @DeletedFiles,$Temp;
-   } elsif ( ($PID,$User,$IP,$FileName) = ( $ThisLine =~ /\[(.*)\] \[(.*)\] FAIL DELETE: Client \"(.*)\", \"(.*)\"/ ) ) {
+   } elsif ( ($User,$IP,$FileName) = ( $ThisLine =~ /(?:\[(.*)\] )?\[(.*)\] FAIL DELETE: Client \"(.*)\", \"(.*)\"/ ) ) {
       $Temp = "   " . $FileName . " <> " . $IP . " (User: " . $User . ")\n";
       push @FailedDeletedFiles,$Temp;
-   } elsif ( ($PID,$User,$IP,$FileName) = ( $ThisLine =~ /\[(.*)\] \[(.*)\] OK MKDIR: Client \"(.*)\", \"(.*)\"/ ) ) {
+   } elsif ( ($User,$IP,$FileName) = ( $ThisLine =~ /(?:\[(.*)\] )?\[(.*)\] OK MKDIR: Client \"(.*)\", \"(.*)\"/ ) ) {
       $Temp = "   " . $FileName . " <- " . $IP . " (User: " . $User . ")\n";
       $TotalCreatedDirs++;
       push @CreatedDirs,$Temp;
-   } elsif ( ($PID,$User,$IP,$FileName) = ( $ThisLine =~ /\[(.*)\] \[(.*)\] FAIL MKDIR: Client \"(.*)\", \"(.*)\"/ ) ) {
+   } elsif ( ($User,$IP,$FileName) = ( $ThisLine =~ /(?:\[(.*)\] )?\[(.*)\] FAIL MKDIR: Client \"(.*)\", \"(.*)\"/ ) ) {
       $Temp = "   " . $FileName . " xx " . $IP . " (User: " . $User . ")\n";
       push @FailedCreatedDirs,$Temp;
-   } elsif ( ($PID,$User,$IP,$FileName) = ( $ThisLine =~ /\[(.*)\] \[(.*)\] OK RMDIR: Client \"(.*)\", \"(.*)\"/ ) ) {
+   } elsif ( ($User,$IP,$FileName) = ( $ThisLine =~ /(?:\[(.*)\] )?\[(.*)\] OK RMDIR: Client \"(.*)\", \"(.*)\"/ ) ) {
       $Temp = "   " . $FileName . " >< " . $IP . " (User: " . $User . ")\n";
       $TotalRemovedDirs++;
       push @RemovedDirs,$Temp;
-   } elsif ( ($PID,$User,$IP,$FileName) = ( $ThisLine =~ /\[(.*)\] \[(.*)\] FAIL RMDIR: Client \"(.*)\", \"(.*)\"/ ) ) {
+   } elsif ( ($User,$IP,$FileName) = ( $ThisLine =~ /(?:\[(.*)\] )?\[(.*)\] FAIL RMDIR: Client \"(.*)\", \"(.*)\"/ ) ) {
       $Temp = "   " . $FileName . " <> " . $IP . " (User: " . $User . ")\n";
       push @FailedRemovedDirs,$Temp;
    } elsif ( ($Date, $IP,$FileSize,$FileName,$Direction,$AccessMode,$User) =

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.