stas        2003/03/07 19:58:59

  Modified:    ModPerl-Registry/t/conf modperl_extra_startup.pl
               ModPerl-Registry/lib/ModPerl RegistryCooker.pm
               .        Changes
  Added:       ModPerl-Registry/t bad_scripts.t
               ModPerl-Registry/t/cgi-bin r_inherited.pl
  Log:
  Registry: make sure that $r is not in the scope when the script is
  compiled
  
  Revision  Changes    Path
  1.1                  modperl-2.0/ModPerl-Registry/t/bad_scripts.t
  
  Index: bad_scripts.t
  ===================================================================
  use strict;
  use warnings FATAL => 'all';
  
  use Apache::Test;
  use Apache::TestUtil;
  use Apache::TestRequest qw(GET);
  
  plan tests => 1;
  
  {
      my $url = "/same_interp/perlrun/r_inherited.pl";
      my $res = GET($url);
      ok t_cmp(
          500,
          $res->code,
          "the script hasn't declared its private \$r",
         );
  }
  
  
  
  1.1                  modperl-2.0/ModPerl-Registry/t/cgi-bin/r_inherited.pl
  
  Index: r_inherited.pl
  ===================================================================
  use strict;
  use warnings;
  
  # this script shouldn't work
  
  # this is to test that $r is not in the scope from the function that
  # has compiled this script in the registry module
  
  # my $r = shift;
  
  $r->content_type('text/plain');
  $r->print($r->args);
  
  
  
  1.9       +1 -1      modperl-2.0/ModPerl-Registry/t/conf/modperl_extra_startup.pl
  
  Index: modperl_extra_startup.pl
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/ModPerl-Registry/t/conf/modperl_extra_startup.pl,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- modperl_extra_startup.pl  23 Jan 2003 01:12:01 -0000      1.8
  +++ modperl_extra_startup.pl  8 Mar 2003 03:58:59 -0000       1.9
  @@ -36,7 +36,7 @@
   
       my %skip = map { $_ => 1 } 
           qw(lib.pl perlrun_require.pl syntax_error.pl runtime_error.pl
  -           missing_headers.pl);
  +           missing_headers.pl r_inherited.pl);
       my $dh = DirHandle->new($base_dir) or die $!;
       for my $file ($dh->read) {
           next unless $file =~ /\.pl$/;
  
  
  
  1.34      +2 -2      modperl-2.0/ModPerl-Registry/lib/ModPerl/RegistryCooker.pm
  
  Index: RegistryCooker.pm
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/ModPerl-Registry/lib/ModPerl/RegistryCooker.pm,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- RegistryCooker.pm 2 Mar 2003 23:23:57 -0000       1.33
  +++ RegistryCooker.pm 8 Mar 2003 03:58:59 -0000       1.34
  @@ -628,12 +628,12 @@
   # args: $self - registry blessed object
   #       $eval - a ref to a scalar with the code to compile
   # rtrn: success/failure
  +# note: $r must not be in scope of compile(), scripts must do
  +#       my $r = shift; to get it off the args stack
   #########################################################################
   
   sub compile {
       my($self, $eval) = @_;
  -
  -    my $r = $self->{REQ};
   
       $self->debug("compiling $self->{FILENAME}") if DEBUG && D_COMPILE;
   
  
  
  
  1.144     +3 -0      modperl-2.0/Changes
  
  Index: Changes
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/Changes,v
  retrieving revision 1.143
  retrieving revision 1.144
  diff -u -r1.143 -r1.144
  --- Changes   4 Mar 2003 09:42:41 -0000       1.143
  +++ Changes   8 Mar 2003 03:58:59 -0000       1.144
  @@ -10,6 +10,9 @@
   
   =item 1.99_09-dev
   
  +Registry: make sure that $r is not in the scope when the script is
  +compiled [Stas]
  +
   $Apache::Server::SaveConfig added. When set to a true value,
   will not clear the content of Apache::ReadConfig:: once <Perl >
   sections are processed. [Philippe M. Chiasson <[EMAIL PROTECTED]
  
  
  

Reply via email to