exigrep: fallback to $PATH if zcat is missing. BUG 1575
authorHeiko Schlittermann (HS12) <hs@schlittermann.de>
Sun, 26 Apr 2015 21:20:29 +0000 (23:20 +0200)
committerHeiko Schlittermann (HS12) <hs@schlittermann.de>
Sun, 26 Apr 2015 21:25:58 +0000 (23:25 +0200)
doc/doc-docbook/spec.xfpt
doc/doc-txt/ChangeLog
src/src/EDITME
src/src/exigrep.src

index 9b7ada8..bc34d65 100644 (file)
@@ -35713,6 +35713,8 @@ search term.
 If the location of a &'zcat'& command is known from the definition of
 ZCAT_COMMAND in &_Local/Makefile_&, &'exigrep'& automatically passes any file
 whose name ends in COMPRESS_SUFFIX through &'zcat'& as it searches it.
+If the ZCAT_COMMAND is not executable, &'exigrep'& tries to use
+autodetection of some well known compression extensions.
 
 
 .section "Selecting messages by various criteria (exipick)" "SECTexipick"
index 08fb50f..a75c106 100644 (file)
@@ -89,6 +89,9 @@ HS/01 DNSSEC options (dnssec_require_domains, dnssec_request_domains)
 JH/25 Bug 466: Add RFC2322 support for MIME attachment filenames.
       Original patch from Alexander Shikoff, worked over by JH.
 
+HS/02 Bug 1575: exigrep falls back to autodetection of compressed
+      files if ZCAT_COMMAND is not executable.
+
 
 Exim version 4.85
 -----------------
index 41b929b..866987c 100644 (file)
@@ -876,9 +876,15 @@ COMPRESS_SUFFIX=gz
 # If the exigrep utility is fed compressed log files, it tries to uncompress
 # them using this command.
 
+# Leave it empty to enforce autodetection at runtime:
+# ZCAT_COMMAND=
+#
+# Omit the path if you want to use your system's PATH:
+# ZCAT_COMMAND=zcat
+#
+# Or specify the full pathname:
 ZCAT_COMMAND=/usr/bin/zcat
 
-
 #------------------------------------------------------------------------------
 # Compiling in support for embedded Perl: If you want to be able to
 # use Perl code in Exim's string manipulation language and you have Perl
index 419fcb5..1b5bcf8 100644 (file)
@@ -224,7 +224,7 @@ if (@ARGV)
   foreach (@ARGV)
     {
     my $filename = $_;
-    if ($filename =~ /\.(?:COMPRESS_SUFFIX)$/o)
+    if (-x 'ZCAT_COMMAND' && $filename =~ /\.(?:COMPRESS_SUFFIX)$/o)
       {
       open(LOG, "ZCAT_COMMAND $filename |") ||
         die "Unable to zcat $filename: $!\n";