X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/b2d5182ba3c9c24a92edc47d9e4f8bae41c6ca0a..261dc43e32f6039781ca92535e56f5caaa68b809:/src/src/exigrep.src diff --git a/src/src/exigrep.src b/src/src/exigrep.src index aa03eb489..0f9fc6908 100644 --- a/src/src/exigrep.src +++ b/src/src/exigrep.src @@ -1,5 +1,5 @@ #! PERL_COMMAND -w -# $Cambridge: exim/src/src/exigrep.src,v 1.7 2007/03/13 11:06:48 ph10 Exp $ +# $Cambridge: exim/src/src/exigrep.src,v 1.9 2007/03/13 16:37:57 ph10 Exp $ use strict; @@ -99,23 +99,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,8 +168,11 @@ if (@ARGV) else { do_line() while (); } -# At the end of processing all the input, print any uncompleted data +# At the end of processing all the input, print any uncompleted messages. -for (keys %id_list) { print "+++ $_ not completed +++\n$saved{$_}\n"; } +for (keys %id_list) + { + print "+++ $_ has not completed +++\n$saved{$_}\n"; + } # End of exigrep