jorton      2004/10/19 07:24:31

  Added:       perl-framework/t/security CAN-2004-0958.t
               perl-framework/t/htdocs/security CAN-2004-0958.php
  Log:
  Add tests for PHP variable handling issues silently fixed in 5.0.2/4.3.9
  along with the segfault introduced in same.
  
  Revision  Changes    Path
  1.1                  httpd-test/perl-framework/t/security/CAN-2004-0958.t
  
  Index: CAN-2004-0958.t
  ===================================================================
  use strict;
  use warnings FATAL => 'all';
  
  use Apache::Test;
  use Apache::TestUtil;
  use Apache::TestRequest;
  
  my %queries =
  (
  
   "foo[bar=1" => qr/\[foo_bar\] => 1\n/,
   "foo bar=2" => qr/\[foo_bar\] => 2\n/,
   "foo. .bar=3" => qr/\[foo___bar\] => 3\n/,
   "foobar[=3" => qr/\[foobar_\] => 4\n/,
  
   "foo[g][=1" => qr/\[g\] => 1\n/, # corruption pre-5.0.2/4.3.9
   "foo[][=2" => qr/\[0\] => 2\n/, # segfault in 5.0.2/4.3.9
  
   "foo[][[[[[=3" => qr/\[0\] => 3\n/,
   "foo[[[[[[[h]=4" => qr/\[0\] => 4\n/,
   "foo[][][][][]=5" => qr/\[0\] => 5\n/,
  
   "foo[j]bar=6" => qr/\[j\] => 6\n/,
  
   "foo[ ]=7" => qr/\[baz\] => 7\n/,
   "foo[  ]=7" => qr/\[baz\] => 7\n/,
  
   );
  
  plan tests => (keys %queries) * 1, need_php;
  
  foreach (keys %queries) {
      my $actual = GET_BODY "/security/CAN-2004-0958.php?".$_;
      ok t_cmp($actual, $queries{$_});
  }
  
  
  
  1.1                  
httpd-test/perl-framework/t/htdocs/security/CAN-2004-0958.php
  
  Index: CAN-2004-0958.php
  ===================================================================
  <? print_r($_REQUEST); ?>
  
  

Reply via email to