diff --git a/AnyEvent-I3/lib/AnyEvent/I3.pm b/AnyEvent-I3/lib/AnyEvent/I3.pm index 146184300a..c7735c51c5 100644 --- a/AnyEvent-I3/lib/AnyEvent/I3.pm +++ b/AnyEvent-I3/lib/AnyEvent/I3.pm @@ -8,7 +8,6 @@ use AnyEvent::Handle; use AnyEvent::Socket; use AnyEvent; use Encode; -use Scalar::Util qw(tainted); use Carp; =head1 NAME @@ -132,35 +131,10 @@ sub i3 { AnyEvent::I3->new(@_) } -# Calls i3, even when running in taint mode. sub _call_i3 { my ($args) = @_; - my $path_tainted = tainted($ENV{PATH}); - # This effectively circumvents taint mode checking for $ENV{PATH}. We - # do this because users might specify PATH explicitly to call i3 in a - # custom location (think ~/.bin/). - (local $ENV{PATH}) = ($ENV{PATH} =~ /(.*)/); - - # In taint mode, we also need to remove all relative directories from - # PATH (like . or ../bin). We only do this in taint mode and warn the - # user, since this might break a real-world use case for some people. - if ($path_tainted) { - my @dirs = split /:/, $ENV{PATH}; - my @filtered = grep !/^\./, @dirs; - if (scalar @dirs != scalar @filtered) { - $ENV{PATH} = join ':', @filtered; - warn qq|Removed relative directories from PATH because you | . - qq|are running Perl with taint mode enabled. Remove -T | . - qq|to be able to use relative directories in PATH. | . - qq|New PATH is "$ENV{PATH}"|; - } - } - # Otherwise the qx() operator wont work: - delete @ENV{'IFS', 'CDPATH', 'ENV', 'BASH_ENV'}; chomp(my $result = qx(i3 $args)); - # Circumventing taint mode again: the socket can be anywhere on the - # system and that’s okay. if ($result =~ /^([^\0]+)$/) { return $1; } @@ -184,15 +158,9 @@ sub new { $path = _call_i3('--get-socketpath') unless $path; - # This is the old default path (v3.*). This fallback line can be removed in - # a year from now. -- Michael, 2012-07-09 - $path ||= '~/.i3/ipc.sock'; - # Check if we need to resolve ~ if ($path =~ /~/) { - # We use getpwuid() instead of $ENV{HOME} because the latter is tainted - # and thus produces warnings when running tests with perl -T - my $home = (getpwuid($<))[7]; + my $home = $ENV{HOME}; confess "Could not get home directory" unless $home and -d $home; $path =~ s/~/$home/g; } diff --git a/AnyEvent-I3/t/00-load.t b/AnyEvent-I3/t/00-load.t index 4bf6151e98..210ab15379 100644 --- a/AnyEvent-I3/t/00-load.t +++ b/AnyEvent-I3/t/00-load.t @@ -1,4 +1,4 @@ -#!perl -T +#!perl use Test::More tests => 1; diff --git a/AnyEvent-I3/t/01-workspaces.t b/AnyEvent-I3/t/01-workspaces.t index f3206d891a..8b12f111a9 100644 --- a/AnyEvent-I3/t/01-workspaces.t +++ b/AnyEvent-I3/t/01-workspaces.t @@ -1,4 +1,4 @@ -#!perl -T +#!perl # vim:ts=4:sw=4:expandtab use Test::More tests => 3; diff --git a/AnyEvent-I3/t/02-sugar.t b/AnyEvent-I3/t/02-sugar.t index a3e2cc79e6..4811be4479 100644 --- a/AnyEvent-I3/t/02-sugar.t +++ b/AnyEvent-I3/t/02-sugar.t @@ -1,4 +1,4 @@ -#!perl -T +#!perl # vim:ts=4:sw=4:expandtab use Test::More tests => 3; diff --git a/AnyEvent-I3/t/boilerplate.t b/AnyEvent-I3/t/boilerplate.t index effb65b6f7..f4024158c8 100644 --- a/AnyEvent-I3/t/boilerplate.t +++ b/AnyEvent-I3/t/boilerplate.t @@ -1,4 +1,4 @@ -#!perl -T +#!perl use strict; use warnings; diff --git a/AnyEvent-I3/t/manifest.t b/AnyEvent-I3/t/manifest.t index 45eb83fd60..2dcbd43c65 100644 --- a/AnyEvent-I3/t/manifest.t +++ b/AnyEvent-I3/t/manifest.t @@ -1,4 +1,4 @@ -#!perl -T +#!perl use strict; use warnings; diff --git a/AnyEvent-I3/t/pod.t b/AnyEvent-I3/t/pod.t index ee8b18ade6..b4791d4eac 100644 --- a/AnyEvent-I3/t/pod.t +++ b/AnyEvent-I3/t/pod.t @@ -1,4 +1,4 @@ -#!perl -T +#!perl use strict; use warnings;