Index: CGI.pm
===================================================================
RCS file: /usr/local/cvs_repository/CGI.pm/CGI.pm,v
retrieving revision 1.250
diff -u -r1.250 CGI.pm
--- CGI.pm 27 Mar 2008 14:24:25 -0000 1.250
+++ CGI.pm 14 Apr 2008 17:59:56 -0000
@@ -19,7 +19,7 @@
#
http://stein.cshl.org/WWW/software/CGI/
$CGI::revision = '$Id: CGI.pm,v 1.250 2008/03/27 14:24:25 lstein Exp $';
-$CGI::VERSION='3.35';
+$CGI::VERSION='3.36';
# HARD-CODED LOCATION FOR FILE UPLOAD TEMPORARY FILES.
# UNCOMMENT THIS ONLY IF YOU KNOW WHAT YOU'RE DOING.
@@ -37,7 +37,12 @@
$TAINTED = substr("$0$^X",0,0);
}
-$MOD_PERL = 0; # no mod_perl by default
+$MOD_PERL = 0; # no mod_perl by default
+
+#global settings
+$POST_MAX = -1; # no limit to uploaded files
+$DISABLE_UPLOADS = 0;
+
@SAVED_SYMBOLS = ();
@@ -91,13 +96,6 @@
# it can just be renamed, instead of read and written.
$CLOSE_UPLOAD_FILES = 0;
- # Set this to a positive value to limit the size of a POSTing
- # to a certain number of bytes:
- $POST_MAX = -1;
-
- # Change this to 1 to disable uploads entirely:
- $DISABLE_UPLOADS = 0;
-
# Automatically determined -- don't change
$EBCDIC = 0;
@@ -355,6 +353,7 @@
$self->r(Apache->request) unless $self->r;
my $r = $self->r;
$r->register_cleanup(\&CGI::_reset_globals);
+ $self->_setup_symbols(@SAVED_SYMBOLS) if @SAVED_SYMBOLS;
}
else {
# XXX: once we have the new API
@@ -363,6 +362,7 @@
my $r = $self->r;
$r->subprocess_env unless exists $ENV{REQUEST_METHOD};
$r->pool->cleanup_register(\&CGI::_reset_globals);
+ $self->_setup_symbols(@SAVED_SYMBOLS) if @SAVED_SYMBOLS;
}
undef $NPH;
}
Index: Changes
===================================================================
RCS file: /usr/local/cvs_repository/CGI.pm/Changes,v
retrieving revision 1.69
diff -u -r1.69 Changes
--- Changes 25 Mar 2008 15:15:45 -0000 1.69
+++ Changes 14 Apr 2008 17:59:56 -0000
@@ -1,3 +1,9 @@
+ Version 3.37
+ 1. Fix pragmas so that they persist over modperl invocations (e.g. RT 34761)
+
+ Version 3.36
+ 1. Fix CGI::Cookie to support cookies that are separated by "," instead of ";".
+
Version 3.35
1. Resync with bleadperl, primarily fixing a bug in parsing semicolons in uploaded filenames.
Index: CGI/Cookie.pm
===================================================================
RCS file: /usr/local/cvs_repository/CGI.pm/CGI/Cookie.pm,v
retrieving revision 1.38
diff -u -r1.38 Cookie.pm
--- CGI/Cookie.pm 19 Mar 2007 13:24:54 -0000 1.38
+++ CGI/Cookie.pm 14 Apr 2008 17:59:56 -0000
@@ -13,7 +13,7 @@
# wish, but if you redistribute a modified version, please attach a note
# listing the modifications you have made.
-$CGI::Cookie::VERSION='1.28';
+$CGI::Cookie::VERSION='1.29';
use CGI::Util qw(rearrange unescape escape);
use CGI;
@@ -51,7 +51,7 @@
my %results;
my($key,$value);
- my(@pairs) = split("[;,] ?",$raw_cookie);
+ my @pairs = split("[;,] ?",$raw_cookie);
foreach (@pairs) {
s/\s*(.*?)\s*/$1/;
if (/^([^=]+)=(.*)/) {
@@ -88,7 +88,7 @@
my ($self,$raw_cookie) = @_;
my %results;
- my(@pairs) = split("; ?",$raw_cookie);
+ my @pairs = split("[;,] ?",$raw_cookie);
foreach (@pairs) {
s/\s*(.*?)\s*/$1/;
my($key,$value) = split("=",$_,2);
Index: CGI/Fast.pm
===================================================================
RCS file: /usr/local/cvs_repository/CGI.pm/CGI/Fast.pm,v
retrieving revision 1.9
diff -u -r1.9 Fast.pm
--- CGI/Fast.pm 24 Feb 2006 19:02:24 -0000 1.9
+++ CGI/Fast.pm 14 Apr 2008 17:59:56 -0000
@@ -55,6 +55,7 @@
}
}
CGI->_reset_globals;
+ $self->_setup_symbols(@SAVED_SYMBOLS) if @CGI::SAVED_SYMBOLS;
return $CGI::Q = $self->SUPER::new($initializer, @param);
}
Index: t/upload.t
===================================================================
RCS file: /usr/local/cvs_repository/CGI.pm/t/upload.t,v
retrieving revision 1.4
diff -u -r1.4 upload.t
--- t/upload.t 16 Apr 2007 16:54:42 -0000 1.4
+++ t/upload.t 14 Apr 2008 17:59:56 -0000
@@ -71,7 +71,8 @@
{
my $test = "multiple file names are handled right with same-named upload fields";
my @hello_names = $q->param('hello_world');
- is_deeply(\@hello_names, [ 'goodbye_world.txt','hello_world.txt' ], $test);
+ is ($hello_names[0],'goodbye_world.txt',$test. "...first file");
+ is ($hello_names[1],'hello_world.txt',$test. "...second file");
}
#-----------------------------------------------------------------------------