perl paranoia about @INC
authorPhil Pennock <pdp@exim.org>
Sat, 11 Feb 2017 00:37:44 +0000 (19:37 -0500)
committerPhil Pennock <pdp@exim.org>
Sat, 11 Feb 2017 00:37:44 +0000 (19:37 -0500)
15 files changed:
src/src/convert4r3.src
src/src/convert4r4.src
src/src/exigrep.src
src/src/exim_checkaccess.src
src/src/eximstats.src
src/src/exinext.src
src/src/exipick.src
src/src/exiqgrep.src
src/src/exiqsumm.src
src/src/transport-filter.src
src/util/cramtest.pl
src/util/mkcdb.pl
src/util/ocsp_fetch.pl
src/util/proxy_protocol_client.pl
src/util/ratelimit.pl

index 810b3374fc778ebfc9ee54a4fc2f6de071ad3287..632eb70d761e7e7f3b0637c92ad71ce1bf4e5878 100755 (executable)
@@ -8,6 +8,7 @@
 # It is assumed that the input is a valid Exim configuration file.
 
 use warnings;
 # It is assumed that the input is a valid Exim configuration file.
 
 use warnings;
+BEGIN { pop @INC if $INC[-1] eq '.' };
 
 ##################################################
 #             Analyse one line                   #
 
 ##################################################
 #             Analyse one line                   #
index 8075602cb637ac73939f5b167f54b09bbd4be978..fff4e478bc3f649222b24e6f3bde71b50ce8cb64 100755 (executable)
@@ -7,6 +7,7 @@
 # It is assumed that the input is a valid Exim 3 configuration file.
 
 use warnings;
 # It is assumed that the input is a valid Exim 3 configuration file.
 
 use warnings;
+BEGIN { pop @INC if $INC[-1] eq '.' };
 
 # These are lists of main options which are abolished in Exim 4.
 # The first contains options that are used to construct new options.
 
 # These are lists of main options which are abolished in Exim 4.
 # The first contains options that are used to construct new options.
index e8857126e77f9beb546960b3d4425173ac987249..faa5cb73b53a1bbdfd3cd75fcba9eb7003289f6d 100644 (file)
@@ -2,6 +2,7 @@
 
 use warnings;
 use strict;
 
 use warnings;
 use strict;
+BEGIN { pop @INC if $INC[-1] eq '.' };
 
 # Copyright (c) 2007-2015 University of Cambridge.
 # See the file NOTICE for conditions of use and distribution.
 
 # Copyright (c) 2007-2015 University of Cambridge.
 # See the file NOTICE for conditions of use and distribution.
index 84d03c0b354d85d3fa54d03898db4420a286b9f3..a780a298a4209ec0e22cf14d978022c45fd2b1ca 100755 (executable)
@@ -63,6 +63,7 @@ if test "$exim_path" = ""; then exim_path=BIN_DIRECTORY/exim; fi
 
 PERL_COMMAND - $exim_path $args <<'End'
 
 
 PERL_COMMAND - $exim_path $args <<'End'
 
+BEGIN { pop @INC if $INC[-1] eq '.' };
 use FileHandle;
 use IPC::Open2;
 
 use FileHandle;
 use IPC::Open2;
 
index 7e74db8852f201001422daf7558a6bbefb9d8f04..a2113f1068949fc661f000041638124a9c015a94 100644 (file)
@@ -549,6 +549,7 @@ Merging of xls files is not (yet) possible. Be free to implement :)
 
 use warnings;
 use integer;
 
 use warnings;
 use integer;
+BEGIN { pop @INC if $INC[-1] eq '.' };
 use strict;
 use IO::File;
 
 use strict;
 use IO::File;
 
index 182e39574c4a53af024989ffe6b1e33179611d5a..9c427350b29ab28bd9fff6470730ad7ed1f2ab03 100644 (file)
@@ -115,6 +115,9 @@ fi
 
 perl - $exim_path "$eximmacdef" $argone $spool_directory $qualify_domain $config <<'End'
 
 
 perl - $exim_path "$eximmacdef" $argone $spool_directory $qualify_domain $config <<'End'
 
+  # We don't import anything, but guard against future changes which do
+  BEGIN { pop @INC if $INC[-1] eq '.' };
+
   # Name the arguments
 
   $exim = $ARGV[0];
   # Name the arguments
 
   $exim = $ARGV[0];
index 1672c7fe6bdde81613d69ef61fe1008c848df00c..4999d843f2d3877bc870b61f2aae213e50c31c92 100644 (file)
@@ -12,6 +12,7 @@ my $charset = 'ISO-8859-1';
 #       http://www.exim.org/eximwiki/ToolExipickManPage
 
 use strict;
 #       http://www.exim.org/eximwiki/ToolExipickManPage
 
 use strict;
+BEGIN { pop @INC if $INC[-1] eq '.' };
 use Getopt::Long;
 
 my($p_name)   = $0 =~ m|/?([^/]+)$|;
 use Getopt::Long;
 
 my($p_name)   = $0 =~ m|/?([^/]+)$|;
index ae617c4e1c16330ab77edb48e06dcf82e8e55dfd..d900e99337a49be8709277bae1eb0d203f34aa22 100644 (file)
@@ -18,6 +18,7 @@
 # Version 1.2
 
 use strict;
 # Version 1.2
 
 use strict;
+BEGIN { pop @INC if $INC[-1] eq '.' };
 use Getopt::Std;
 
 # Have this variable point to your exim binary.
 use Getopt::Std;
 
 # Have this variable point to your exim binary.
index c8b522ef503bd0a97e8bab79e35ac12d2d4682fe..99a304fefc359b2b4ee0ed9016b800646a33c568 100644 (file)
@@ -42,6 +42,7 @@
 # Slightly modified sub from eximstats
 
 use warnings;
 # Slightly modified sub from eximstats
 
 use warnings;
+BEGIN { pop @INC if $INC[-1] eq '.' };
 
 sub print_volume_rounded {
 my($x) = pop @_;
 
 sub print_volume_rounded {
 my($x) = pop @_;
index 2558bd7ec102bfe273c72df5133727c52e25f058..3f250e6578aa1a40a30a3e6990761bee87976930 100644 (file)
@@ -12,6 +12,7 @@
 #############################################################################
 
 use warnings;
 #############################################################################
 
 use warnings;
+BEGIN { pop @INC if $INC[-1] eq '.' };
 
 # If the filter is called with any arguments, insert them into the message
 # as X-Arg headers, just to verify what they are.
 
 # If the filter is called with any arguments, insert them into the message
 # as X-Arg headers, just to verify what they are.
index cb70eb40461fc7c66e3b4eb72bc7e9e6b9e87b88..48f989a0cd7c98df4b6e6bca884df76abb003a87 100755 (executable)
@@ -24,6 +24,8 @@
 #       Vadim Vygonets <vadik-exim@vygo.net>.  All rights reserved.
 # Public domain is OK with me.
 
 #       Vadim Vygonets <vadik-exim@vygo.net>.  All rights reserved.
 # Public domain is OK with me.
 
+BEGIN { pop @INC if $INC[-1] eq '.' };
+
 use MIME::Base64;
 use Digest::MD5;
 
 use MIME::Base64;
 use Digest::MD5;
 
index 16827c63b6794553adaf7efbfe0bc5fca1d876a9..691849dcd1fbb3d7df71d4b17f618ae41b18885d 100755 (executable)
@@ -15,6 +15,7 @@
 
 use strict;
 
 
 use strict;
 
+BEGIN { pop @INC if $INC[-1] eq '.' };
 $ENV{'PATH'} = "";
 umask(022);
 
 $ENV{'PATH'} = "";
 umask(022);
 
index 0d214d62aa34c5657a1329273d35a6b79af1da4d..08ca4cbe4c22e5a1e5a67da52c2156c86efe42f9 100755 (executable)
@@ -2,6 +2,7 @@
 # Copyright (C) 2012 Wizards Internet Ltd
 # License GPLv2: GNU GPL version 2 <http://www.gnu.org/licenses/old-licenses/gpl-2.0.html>
 use strict;
 # Copyright (C) 2012 Wizards Internet Ltd
 # License GPLv2: GNU GPL version 2 <http://www.gnu.org/licenses/old-licenses/gpl-2.0.html>
 use strict;
+BEGIN { pop @INC if $INC[-1] eq '.' };
 use Getopt::Std;
 $Getopt::Std::STANDARD_HELP_VERSION=1;
 use IO::Handle;
 use Getopt::Std;
 $Getopt::Std::STANDARD_HELP_VERSION=1;
 use IO::Handle;
index feae3ca90f8762aa833323c18e9679b2c0663bcc..67a171d5d179278a17dff62c513cc3606b04020f 100644 (file)
@@ -21,6 +21,7 @@
 #
 use strict;
 use warnings;
 #
 use strict;
 use warnings;
+BEGIN { pop @INC if $INC[-1] eq '.' };
 use IO::Select;
 use IO::Socket;
 use Getopt::Long;
 use IO::Select;
 use IO::Socket;
 use Getopt::Long;
index d7fd43ab1b07d15ab1c96d9bd1eda096347be59f..e212fa2415ddf6500bbbbaf0cdb08515ba0b4ba4 100644 (file)
@@ -2,6 +2,8 @@
 
 use strict;
 
 
 use strict;
 
+BEGIN { pop @INC if $INC[-1] eq '.' };
+
 sub usage () {
   print <<END;
 usage: ratelimit.pl [options] <period> <regex> <logfile>
 sub usage () {
   print <<END;
 usage: ratelimit.pl [options] <period> <regex> <logfile>