X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fsrc%2Fexiqgrep.src;h=0661c57920a65a8190f1223807238a194e194813;hb=4f7a93c27e3d43b44c42d3fc503f03b9b42ca622;hp=2c52f137fc9a3d3f60b0928df5d683fdd68705ed;hpb=a0f38e054037eee3ec02df8868bf38e11adb6c0e;p=user%2Fhenk%2Fcode%2Fexim.git diff --git a/src/src/exiqgrep.src b/src/src/exiqgrep.src index 2c52f137f..0661c5792 100644 --- a/src/src/exiqgrep.src +++ b/src/src/exiqgrep.src @@ -2,6 +2,8 @@ # Utility for searching and displaying queue information. # Written by Matt Hubbard 15 August 2002 +# +# Copyright (c) The Exim Maintainers 2021 - 2022 # Except when they appear in comments, the following placeholders in this # source are replaced when it is turned into a runnable script: @@ -18,7 +20,10 @@ # Version 1.2 use strict; +BEGIN { pop @INC if $INC[-1] eq '.' }; + use Getopt::Std; +use File::Basename; # Have this variable point to your exim binary. my $exim = 'BIN_DIRECTORY/exim'; @@ -43,11 +48,21 @@ if ($^O eq 'darwin') { # aka MacOS X $base = 62; }; -getopts('hf:r:y:o:s:C:zxlibRca',\%opt); -if ($ARGV[0]) { &help; exit;} -if ($opt{h}) { &help; exit;} +if ($ARGV[0] eq '--version') { + print basename($0) . ": $0\n", + "build: EXIM_RELEASE_VERSIONEXIM_VARIANT_VERSION\n", + "perl(runtime): $]\n"; + exit 0; +} + +if (!getopts('hf:r:y:o:s:C:zxlibRcaG:E:',\%opt)) { &help; exit; } +if ($opt{h}) { &help; exit; } +if ($ARGV[0] || !($opt{f} || $opt{r} || $opt{s} || $opt{y} || $opt{o} || $opt{z} || $opt{x} || $opt{c})) + { &help; exit(1); } if ($opt{a}) { $eargs = '-bp'; } if ($opt{C} && -e $opt{C} && -f $opt{C} && -R $opt{C}) { $eargs .= ' -C '.$opt{C}; } +if ($opt{G}) { $eargs .= ' -qG'.$opt{G}; } +if ($opt{E}) { $exim = $opt{E}; } # Read message queue output into hash &collect(); @@ -64,6 +79,7 @@ Exim message queue display utility. -h This help message. -C Specify which exim.conf to use. + -E Specify exim binary to use. Selection criteria: -f Match sender address sender (field is "< >" wrapped) @@ -73,6 +89,7 @@ Selection criteria: -o Message older than -z Frozen messages only (exclude non-frozen) -x Non-frozen messages only (exclude frozen) + -G Match in given queue only [ NB: for regexps, provided string sits in // ] @@ -87,7 +104,7 @@ EOF } sub collect() { - open(QUEUE,"$exim $eargs |") or die("Error openning pipe: $!\n"); + open(QUEUE,"$exim $eargs |") or die("Error opening pipe: $!\n"); while() { chomp(); my $line = $_;