X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fsrc%2Fexigrep.src;h=0950b58f18088d699c04fbaa860a98e3001663bd;hb=17c761988f30054827a9951761d93ffeeaad0cb7;hp=6024b425f18a021cdd7485204f8e975bf5f8d274;hpb=79749a79c6e24778bcd27236a2846f39ccf18b2a;p=exim.git diff --git a/src/src/exigrep.src b/src/src/exigrep.src index 6024b425f..0950b58f1 100644 --- a/src/src/exigrep.src +++ b/src/src/exigrep.src @@ -1,5 +1,4 @@ #! PERL_COMMAND -w -# $Cambridge: exim/src/src/exigrep.src,v 1.8 2007/03/13 11:26:49 ph10 Exp $ use strict; @@ -99,23 +98,19 @@ if (defined $id) # print it, but in any event, throw away what was saved. if (index($_, 'Completed') != -1 || - (index($_, 'rejected') != -1 && - /rejected (?:by local_scan|by non-SMTP ACL|after DATA)/o)) + index($_, 'SMTP data timeout') != -1 || + (index($_, 'rejected') != -1 && + /^(\d{4}-\d\d-\d\d \d\d:\d\d:\d\d (?:[+-]\d{4} )?)(?:\[\d+\] )?\w{6}\-\w{6}\-\w{2} rejected/o)) { if ($queue_time != -1 && $saved{$id} =~ /^(\d{4}-\d\d-\d\d \d\d:\d\d:\d\d ([+-]\d{4} )?)/o) { my $old_sec = &seconds($1); my $sec = &seconds($date); - delete $id_list{$id} if $id_list{$id} && $sec - $old_sec <= $queue_time; - } - - if ($id_list{$id}) - { - delete $id_list{$id}; - print "$saved{$id}\n"; + $id_list{$id} = 0 if $id_list{$id} && $sec - $old_sec <= $queue_time; } + print "$saved{$id}\n" if ($id_list{$id}); delete $id_list{$id}; delete $saved{$id}; } @@ -172,16 +167,11 @@ if (@ARGV) else { do_line() while (); } -# At the end of processing all the input, print any uncompleted messages. If -# there is no <= line, we are dealing with a message that was rejected or -# abandoned. +# At the end of processing all the input, print any uncompleted messages. for (keys %id_list) { - if ($saved{$_} =~ /\s<=\s/) - { print "+++ $_ has not completed +++\n$saved{$_}\n"; } - else - { print "+++ $_ was not accepted +++\n$saved{$_}\n"; } + print "+++ $_ has not completed +++\n$saved{$_}\n"; } # End of exigrep