diff options
-rwxr-xr-x | htdocs/docs/install.html | 2 | ||||
-rwxr-xr-x | httpd/cgi-bin/check | 25 | ||||
-rw-r--r-- | misc/bundle/META.yml | 2 | ||||
-rw-r--r-- | misc/bundle/Makefile.PL | 2 | ||||
-rw-r--r-- | misc/bundle/lib/Bundle/W3C/Validator.pm | 2 |
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> >= 2.81</dt> + <dt><a href="http://search.cpan.org/dist/CGI.pm/">CGI.pm</a> >= 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 |