All pastes #939795 Raw Edit

Anonymous

public text v1 · immutable
·published 2008-03-12 16:18 UTC
rendered paste body

##########################################################################
# $Id: smf-sav, v 1.68 2008/03/05 14:58:06 bpirie Exp $
##########################################################################

my $Detail = $ENV{'LOGWATCH_DETAIL_LEVEL'} || 0;

# Initialize variables
my $smf_failed = 0;
my $smf_tempfailed = 0;
my $smf_received = 0;

while (defined($ThisLine = <STDIN>)) {
   $ThisLine =~ s/^[a-zA-Z0-9]+: //;
   if ( ( $ThisLine =~ m/^Milter (smf-sav): / )
 ) {
  } elsif ( $ThisLine =~ m/sender check succeeded: (.+), (.+), (.+), .+/) {
      $smf_succeeded = $smf_succeeded++;
      $SendSucceed_Host{$1}++;
      $SendSucceed_Host_Detail{"From $1 via $2, $3"}++;
  } elsif ( $ThisLine =~ m/sender check failed: (.+), (.+), (.+), .+/) {
      $smf_failed = $smf_failed++;
      $SendFail_Sender{$1}++;
      $SendFail_IP{$2}++;
      $SendFail_Host{$3}++;
      $SendFail_Sender_Detail{"From $1 via $2, $3"}++;
      $SendFail_IP_Detail{"By $2, $3 From $1"}++;
      $SendFail_Host_Detail{"By $3, $2 From $1"}++;
  } elsif ( $ThisLine =~ m/sender check tempfailed: (.+), (.+), (.+), .+/) {
      $smf_tempfailed = $smf_tempfailed++;
      $SendTempFail_Host{$1}++;
      $SendTempFail_Host_Detail{"From $1 via $2, $3"}++;
 
 } else {
      chomp($ThisLine);
      # Report any unmatched entries...
      $OtherList{$ThisLine}++; 
   }
}

if (keys %SendSucceed_Host) {
   print "\nSuccessfully Verified Sender Addresses: (Total Seen = $smf_succeeded)\n";
   foreach $ThisOne (sort keys %SendSucceed_Host) {
   print '    ' . $ThisOne . ': ' . $SendSucceed_Host{$ThisOne} . " Time(s)\n";
   }
      print "\n\n  Detail:\n";
      foreach $ThisOne (sort keys %SendSucceed_Host_Detail) {
            print '    ' . $ThisOne . ': ' . $SendSucceed_Host_Detail{$ThisOne} . " Time(s)\n";
      }
   }

if (keys %SendFail_Sender) {
   print "\nFailed to Verify Sender Addresses: (Total Seen = $smf_failed)\n";
   foreach $ThisOne (sort keys %SendFail_Sender) {
   print '    ' . $ThisOne . ': ' . $SendFail_Sender{$ThisOne} . " Time(s)\n";
   }
   print "\n\nHost List:\n";
   foreach $ThisOne (sort keys %SendFail_Host) {
   print '    ' . $ThisOne . ': ' . $SendFail_Host{$ThisOne} . " Time(s)\n";
   }
      print "\n\n  Detail:\n";
      print "\nSorted by Sender\n";
      foreach $ThisOne (sort keys %SendFail_Sender_Detail) {
            print '    ' . $ThisOne . ': ' . $SendFail_Sender_Detail{$ThisOne} . " Time(s)\n";
      }
      print "\nSorted by IP\n";
      foreach $ThisOne (sort keys %SendFail_IP_Detail) {
            print '    ' . $ThisOne . ': ' . $SendFail_IP_Detail{$ThisOne} . " Time(s)\n";
      }
      print "\nSorted by Host\n";
      foreach $ThisOne (sort keys %SendFail_Host_Detail) {
            print '    ' . $ThisOne . ': ' . $SendFail_Host_Detail{$ThisOne} . " Time(s)\n";
      }
}