X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fsrc%2Fexiqgrep.src;h=afecbffeec250e8183f2eaed80cecf0957fa1fa5;hb=8c952127a4d1827ea14da68d94eb5ea8d6174a35;hp=fd8b5a6c3a8f18f1901aedc6c635397bca9833e4;hpb=bd4c97599a4d321677cdf677275022f6660930f9;p=exim.git diff --git a/src/src/exiqgrep.src b/src/src/exiqgrep.src index fd8b5a6c3..afecbffee 100644 --- a/src/src/exiqgrep.src +++ b/src/src/exiqgrep.src @@ -1,5 +1,4 @@ #!PERL_COMMAND -# $Cambridge: exim/src/src/exiqgrep.src,v 1.1 2004/10/07 10:39:01 ph10 Exp $ # Utility for searching and displaying queue information. # Written by Matt Hubbard 15 August 2002 @@ -16,7 +15,7 @@ # Routine for extracting the UTC timestamp from message ID # lifted from eximstat utility -# Version 1.1 +# Version 1.2 use strict; use Getopt::Std; @@ -44,8 +43,10 @@ if ($^O eq 'darwin') { # aka MacOS X $base = 62; }; -getopts('hf:r:y:o:s:zxlibRc',\%opt); +getopts('hf:r:y:o:s:C:zxlibRca',\%opt); if ($opt{h}) { &help; exit;} +if ($opt{a}) { $eargs = '-bp'; } +if ($opt{C} && -e $opt{C} && -f $opt{C} && -R $opt{C}) { $eargs .= ' -C '.$opt{C}; } # Read message queue output into hash &collect(); @@ -61,6 +62,7 @@ sub help() { Exim message queue display utility. -h This help message. + -C Specify which exim.conf to use. Selection criteria: -f Match sender address sender (field is "< >" wrapped) @@ -79,6 +81,7 @@ Display options: -i Message IDs only -b Brief Format -R Reverse order + -a All recipients (including delivered) EOF } @@ -88,7 +91,7 @@ sub collect() { chomp(); my $line = $_; #Should be 1st line of record, if not error. - if ($line =~ /^\s*(\w+)\s+((?:\d+(?:\.\d+)?[A-Z])?)\s*(\w{6}-\w{6}-\w{2})\s+(<.*?>)/) { + if ($line =~ /^\s*(\w+)\s+((?:\d+(?:\.\d+)?[A-Z]?)?)\s*(\w{6}-\w{6}-\w{2})\s+(<.*?>)/) { my $msg = $3; $id{$msg}{age} = $1; $id{$msg}{size} = $2; @@ -116,13 +119,13 @@ sub selection() { foreach my $msg (keys(%id)) { if ($opt{f}) { # Match sender address - next unless ($id{$msg}{from} =~ /$opt{f}/); + next unless ($id{$msg}{from} =~ /$opt{f}/i); } if ($opt{r}) { # Match any recipient address my $match = 0; foreach my $rcpt (@{$id{$msg}{rcpt}}) { - $match++ if ($rcpt =~ /$opt{r}/); + $match++ if ($rcpt =~ /$opt{r}/i); } next unless ($match); }