Changeset 11605 for branches

Show
Ignore:
Timestamp:
11/10/08 10:41:41 (2 months ago)
Author:
javier.amor.garcia@…
Message:

added log for aborted transmission refs #1149

Location:
branches/pop-proxy-branch/mailfilter/src/EBox
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • branches/pop-proxy-branch/mailfilter/src/EBox/MailFilter.pm

    r11603 r11605  
    617617                  'date' => __('Date'), 
    618618 
    619                   'address' => __('Account'), 
    620                   clientConn => __(q{Client's address}), 
    621  
    622                   mails  => __('Total messages'), 
    623                   clean  => __('Clean messages'), 
    624                   virus  => __('Virus messages'), 
    625                   spam   => __('Spam messages'), 
    626                 }; 
     619                  'address' => __('Account'), 
     620                  clientConn => __(q{Client's address}), 
     621 
     622                  mails  => __('Total messages'), 
     623                  clean  => __('Clean messages'), 
     624                  virus  => __('Virus messages'), 
     625                  spam   => __('Spam messages'), 
     626                }; 
    627627 
    628628    my @order = qw( date event action  
     
    630630 
    631631    my $events = { 
    632                   'pop3_fetch_ok' => 
    633                         __('POP3 transmission complete') 
     632                  'pop3_fetch_ok' => 
     633                        __('POP3 transmission complete'), 
     634                  'pop3_fetch_failed' => 
     635                        __('POP3 transmission aborted'), 
    634636    }; 
    635637 
  • branches/pop-proxy-branch/mailfilter/src/EBox/MailFilter/LogHelper.pm

    r11603 r11605  
    154154    my ($self, $line, $dbengine) = @_; 
    155155 
    156     if ($line =~ m/p3scan\[\d+\]: USER \'(.*?)\'/ ) { 
    157         $p3scanAddress = $1; 
     156 
     157    if ($line =~ m/p3scan\[\d+\]: Connection from (.*):/) { 
     158        $p3scanClientConn = $1; 
    158159        $p3scanVirus   = 0; 
    159160        $p3scanSpam    = 0; 
    160     } 
    161     elsif ($line =~ m/p3scan\[\d+\]: Connection from (.*):/) { 
    162         $p3scanClientConn = $1; 
     161        $p3scanAddress = undef; 
     162    } 
     163    elsif ($line =~ m/p3scan\[\d+\]: USER \'(.*?)\'/ ) { 
     164        $p3scanAddress = $1; 
    163165    } 
    164166    elsif ($line =~ m/p3scan\[\d+\]: .* contains a virus/) { 
     
    168170        $p3scanSpam += 1; 
    169171    } 
    170     elsif ($line =~ m{p3scan\[\d+\]: Session done.* Mails: (.*) Bytes:} ) { 
     172    elsif ($line =~ m{p3scan\[\d+\]: Session done.*Clean Exit.* Mails: (.*) Bytes:} ) { 
    171173        my $mails = $1; 
    172174        my $cleanMails = $mails  - $p3scanVirus - $p3scanSpam; 
     
    177179                      event => 'pop3_fetch_ok', 
    178180                      address => $p3scanAddress, 
    179                        
     181                       
    180182                      mails  => $mails, 
    181                       clean   => $cleanMails, 
     183                      clean   => $cleanMails, 
    182184                      virus  => $p3scanVirus, 
    183185                      spam   => $p3scanSpam, 
     
    193195    $dbengine->insert(POP_PROXY_TABLE, $values); 
    194196    } 
     197    # abort 
     198    elsif ($line =~ m{p3scan\[\d+\]: Session done.* abort.* Mails: (.*) Bytes:} ) { 
     199        my $mails = $1; 
     200        my $cleanMails = $mails  - $p3scanVirus - $p3scanSpam; 
     201 
     202        my $date = $self->_getDate($line); 
     203 
     204        my $values = { 
     205                      event => 'pop3_fetch_failed', 
     206                      address => $p3scanAddress, 
     207                       
     208                      mails  => $mails, 
     209                      clean   => $cleanMails, 
     210                      virus  => $p3scanVirus, 
     211                      spam   => $p3scanSpam, 
     212                       
     213                      clientConn => $p3scanClientConn, 
     214 
     215                       
     216                      date => $date, 
     217                     }; 
     218 
     219 
     220 
     221    $dbengine->insert(POP_PROXY_TABLE, $values); 
     222    } 
    195223            
    196224     
  • branches/pop-proxy-branch/mailfilter/src/EBox/MailFilter/LogHelper/Test.pm

    r11603 r11605  
    5454 
    5555my %_notNullsByTable = ( 
    56                         'message_filter' => [ qw( event action date 
     56                        'message_filter' => [ qw( event action date 
    5757                                                 from_address to_address) 
    58                                              ], 
    59                         'pop_proxy_filter'  => [ qw(date event address mails  
     58                                             ], 
     59                        'pop_proxy_filter'  => [ qw(date event mails  
    6060                                                 clean virus spam clientConn) 
    61                                              ], 
    62                        ); 
     61                                             ], 
     62                       ); 
    6363 
    6464 
     
    389389 
    390390 
    391 sub popProxyLogTest : Test(20) 
     391sub popProxyLogTest : Test(25) 
    392392{ 
    393393  my ($self) = @_; 
    394394 
    395395  my @cases = ( 
    396                { 
    397                 name => 'zero mails', 
    398                 lines => [ 
     396               { 
     397                name => 'zero mails', 
     398                lines => [ 
    399399q{Oct 30 11:26:46 ebox011101 p3scan[25124]: Connection from 192.168.9.1:48999 }, 
    400400q{Oct 30 11:26:46 ebox011101 p3scan[25124]: Real-server adress is 82.194.70.220:110 }, 
    401401q{Oct 30 11:26:46 ebox011101 p3scan[25124]: USER 'poptest@example.com' }, 
    402402q{Oct 30 11:26:46 ebox011101 p3scan[25124]: Session done (Clean Exit). Mails: 0 Bytes: 0 }, 
    403                         ], 
     403                        ], 
    404404        expectedData => { 
    405405                      event => 'pop3_fetch_ok', 
    406                       address => 'poptest@example.com', 
     406                      address => 'poptest@example.com', 
    407407 
    408408                      mails  => 0, 
    409                       clean  => 0, 
     409                      clean  => 0, 
    410410                      virus  => 0, 
    411411                      spam   => 0, 
     
    416416                      date => '2008-Oct-30 11:26:46', 
    417417                     }, 
    418                }, 
    419                { 
    420                 name => 'only one mail', 
    421                 lines => [ 
     418               }, 
     419               { 
     420                name => 'only one mail', 
     421                lines => [ 
    422422q{Oct 30 07:56:53 ebox011101 p3scan[15225]: Selected scannertype: basic (Basic file invocation scanner) }, 
    423423q{Oct 30 07:56:53 ebox011101 p3scan[15225]: Listen now on 0.0.0.0:8110 }, 
     
    432432q{Oct 30 11:25:33 ebox011101 spamd[24318]: spamd: result: . 0 - HTML_MESSAGE,SPF_PASS scantime=0.8,size=46836,user=p3scan,uid=118,required_score=5.0,rhost=localhost,raddr=127.0.0.1,rport=60954,mid=<48569c20811060706u205207b3s71dc7ab7eaaa23b7@mail.gmail.com>,autolearn=no }, 
    433433q{Oct 30 11:25:33 ebox011101 p3scan[25070]: Session done (Clean Exit). Mails: 1 Bytes: 44334}, 
    434                         ], 
     434                        ], 
    435435        expectedData => { 
    436436                      event => 'pop3_fetch_ok', 
    437                       address => 'poptest@example.com', 
     437                      address => 'poptest@example.com', 
    438438 
    439439                      mails  => 1, 
    440                       clean  => 1, 
     440                      clean  => 1, 
    441441                      virus  => 0, 
    442442                      spam   => 0, 
     
    447447                      date => '2008-Oct-30 11:25:33', 
    448448                     }, 
    449                }, 
    450  
    451                { 
    452                 name => 'one clean and one virus', 
    453                 lines => [ 
     449               }, 
     450 
     451               { 
     452                name => 'one clean and one virus', 
     453                lines => [ 
    454454q{Oct 30 11:07:15 ebox011101 p3scan[24288]: P3Scan Version 2.1 }, 
    455455q{Oct 30 11:07:15 ebox011101 p3scan[24288]: Selected scannertype: basic (Basic file invocation scanner) }, 
     
    464464q{Oct 30 11:24:25 ebox011101 p3scan[24992]: '/var/spool/p3scan/children/24992/p3scan.ufuAdZ' contains a virus (Eicar-Test-Signature)! }, 
    465465q{Oct 30 11:24:25 ebox011101 p3scan[24992]: Session done (Clean Exit). Mails: 2 Bytes: 44471 }, 
    466                         ], 
     466                        ], 
    467467        expectedData => { 
    468468                      event => 'pop3_fetch_ok', 
    469                       address => 'poptest@example.com', 
     469                      address => 'poptest@example.com', 
    470470 
    471471                      mails  => 2, 
    472                       clean  => 1, 
     472                      clean  => 1, 
    473473                      virus  => 1, 
    474474                      spam   => 0, 
     
    479479                      date => '2008-Oct-30 11:24:25', 
    480480                     }, 
    481                }, 
    482  
    483                { 
    484                 name => 'one spam', 
    485                 lines => [ 
     481               }, 
     482 
     483               { 
     484                name => 'one spam', 
     485                lines => [ 
    486486q{Oct 30 11:31:33 ebox011101 p3scan[26477]: Listen now on 0.0.0.0:8110 }, 
    487487q{Oct 30 11:34:30 ebox011101 p3scan[26596]: Connection from 192.168.9.1:40087 }, 
     
    494494q{Oct 30 11:34:31 ebox011101 p3scan[26596]: Session done (Clean Exit). Mails: 1 Bytes: 5257 }, 
    495495 
    496                         ], 
     496                        ], 
    497497        expectedData => { 
    498498                      event => 'pop3_fetch_ok', 
    499                       address => 'poptest@example.com', 
     499                      address => 'poptest@example.com', 
    500500 
    501501                      mails  => 1, 
    502                       clean  => 0, 
     502                      clean  => 0, 
    503503                      virus  => 0, 
    504504                      spam   => 1, 
     
    509509                      date => '2008-Oct-30 11:34:31', 
    510510                     }, 
    511                }, 
    512  
    513               ); 
     511               }, 
     512 
     513               { 
     514                name => 'failed', 
     515                lines => [ 
     516'Oct 30 11:27:55 ebox011101 p3scan[25162]: Connection from 192.168.9.1:49254 ', 
     517'Oct 30 11:27:55 ebox011101 p3scan[25162]: Real-server adress is 192.168.9.149:110 ', 
     518'Oct 30 11:27:55 ebox011101 p3scan[25162]: Cannot connect to real-server ', 
     519'Oct 30 11:27:55 ebox011101 p3scan[25162]: Session done (Critial abort). Mails: 0 Bytes: 0 ', 
     520                         ], 
     521        expectedData => { 
     522                      event => 'pop3_fetch_failed', 
     523                      address => undef, 
     524 
     525                      mails  => 0, 
     526                      clean  => 0, 
     527                      virus  => 0, 
     528                      spam   => 0, 
     529                       
     530                      clientConn => '192.168.9.1', 
     531                       
     532                      date => '2008-Oct-30 11:27:55', 
     533                     }, 
     534               }, 
     535              ); 
    514536 
    515537  $self->testProcessLine(POP_PROXY_TABLE, SYS_LOG, \@cases);