summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xhtdocs/docs/install.html2
-rwxr-xr-xhttpd/cgi-bin/check25
-rw-r--r--misc/bundle/META.yml2
-rw-r--r--misc/bundle/Makefile.PL2
-rw-r--r--misc/bundle/lib/Bundle/W3C/Validator.pm2
5 files changed, 10 insertions, 23 deletions
diff --git a/htdocs/docs/install.html b/htdocs/docs/install.html
index a29e76f..804bae2 100755
--- a/htdocs/docs/install.html
+++ b/htdocs/docs/install.html
@@ -119,7 +119,7 @@ install Bundle::W3C::Validator
above.</p>
<dl>
- <dt><a href="http://search.cpan.org/dist/CGI.pm/">CGI.pm</a> &gt;= 2.81</dt>
+ <dt><a href="http://search.cpan.org/dist/CGI.pm/">CGI.pm</a> &gt;= 3.40</dt>
<dd>
The all-singing, all-dancing,
everything-<em>and</em>-the-kitchen-sink, Perl CGI library. This
diff --git a/httpd/cgi-bin/check b/httpd/cgi-bin/check
index ad34210..043ffbb 100755
--- a/httpd/cgi-bin/check
+++ b/httpd/cgi-bin/check
@@ -40,7 +40,8 @@ package W3C::Validator::MarkupValidator;
# polluting our namespace.
#
-use CGI 2.81 qw(-newstyle_urls -private_tempfiles redirect);
+# Need 3.40 for query string and path info fixes, #4365
+use CGI 3.40 qw(-newstyle_urls -private_tempfiles redirect);
use CGI::Carp qw(carp croak fatalsToBrowser);
use Config qw(%Config);
use Config::General 2.32 qw(); # Need 2.32 for <msg 0>, rt.cpan.org#17852
@@ -2757,24 +2758,8 @@ sub prepCGI
my $File = shift;
my $q = shift;
- my $path_info;
- {
-
- # @@@HACK:
- # CGI.pm's _name_and_path_from_env has query string related issues;
- # just trump the query string for the duration of calling methods we
- # know we don't need it for and which have been affected in the past.
- # More info: http://www.w3.org/Bugs/Public/show_bug.cgi?id=4365
- # ->url() reportedly fixed in CGI.pm 3.34, ->path_info() in 3.40.
-
- local $ENV{REQUEST_URI} = URI->new($ENV{REQUEST_URI})->path()
- if $ENV{REQUEST_URI};
-
- # The URL to this CGI script.
- $File->{Env}->{'Self URI'} = $q->url();
-
- $path_info = $q->path_info();
- }
+ # The URL to this CGI script.
+ $File->{Env}->{'Self URI'} = $q->url();
# Decode parameter values, set booleans the way we expect them.
foreach my $param ($q->param()) {
@@ -2803,6 +2788,8 @@ sub prepCGI
$q->param($param, TRUE) unless $q->param($param);
}
+ my $path_info = $q->path_info();
+
# IIS reportedly does not provide the $path_info we expect - hack around it.
$path_info =~ s|(.*)/check\.pl(.*)$|$2|
if ($ENV{SERVER_SOFTWARE} and
diff --git a/misc/bundle/META.yml b/misc/bundle/META.yml
index 01ead05..c3b14b5 100644
--- a/misc/bundle/META.yml
+++ b/misc/bundle/META.yml
@@ -11,7 +11,7 @@ configure_requires:
build_requires:
ExtUtils::MakeMaker: 0
requires:
- CGI: 2.81
+ CGI: 3.40
CGI::Carp: 0
Config: 0
Config::General: 2.32
diff --git a/misc/bundle/Makefile.PL b/misc/bundle/Makefile.PL
index 0494ebf..3abb27c 100644
--- a/misc/bundle/Makefile.PL
+++ b/misc/bundle/Makefile.PL
@@ -13,7 +13,7 @@ WriteMakefile(
PREREQ_PM => {
# Hard dependencies:
- "CGI" => 2.81,
+ "CGI" => "3.40",
"CGI::Carp" => 0,
"Config" => 0,
"Config::General" => 2.32,
diff --git a/misc/bundle/lib/Bundle/W3C/Validator.pm b/misc/bundle/lib/Bundle/W3C/Validator.pm
index 3a0b082..6811235 100644
--- a/misc/bundle/lib/Bundle/W3C/Validator.pm
+++ b/misc/bundle/lib/Bundle/W3C/Validator.pm
@@ -21,7 +21,7 @@ C<perl -MCPAN -e "install Bundle::W3C::Validator">
=head1 CONTENTS
- CGI 2.81
+ CGI 3.40
CGI::Carp
Config
Config::General 2.32