You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl-cvs@perl.apache.org by do...@hyperreal.org on 1998/05/08 04:40:52 UTC

cvs commit: modperl/t/net/perl dirty-script.cgi test

dougm       98/05/07 19:40:52

  Modified:    .        Changes MANIFEST Makefile.PL ToDo
                        apache-modlist.html
               Apache   Apache.pm
               lib/Apache PerlRun.pm Status.pm
               src/modules/perl Apache.xs mod_perl.c mod_perl.h
                        perl_config.c
               t        TEST
               t/docs   startup.pl
               t/net/perl dirty-script.cgi test
  Log:
  overload the get_basic_auth_pw function so we can change AuthType on
  the fly via $r->connection->auth_type
  
  add code to deal with 1.3b7-dev's SERVER_SUBVERSION replacement
  
  a few doc patches [John D Groenveld <jd...@elvis.arl.psu.edu>]
  
  re-implemented $r->read to properly use *client_block methods and call
  reset_timeout after each read in the loop.  until this is well tested,
  the method is called new_read. to test on tie'd STDIN reads, a startup
  script can say this:
  *Apache::READ = \&Apache::new_read;
  
  added setup_client_block, should_client_block and get_client_block
  methods
  
  some Apache::PerlRun enhancements
  Submitted by:	Doug MacEachern
  
  Revision  Changes    Path
  1.28      +10 -2     modperl/Changes
  
  Index: Changes
  ===================================================================
  RCS file: /export/home/cvs/modperl/Changes,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- Changes	1998/05/05 22:34:38	1.27
  +++ Changes	1998/05/08 02:40:44	1.28
  @@ -18,10 +18,18 @@
   
   =item 1.11_01-dev
   
  -$r->read_client_block is deprecated
  +overload the get_basic_auth_pw function so we can change AuthType on
  +the fly via $r->connection->auth_type
   
  +add code to deal with 1.3b7-dev's SERVER_SUBVERSION replacement
  +
  +a few doc patches [John D Groenveld <jd...@elvis.arl.psu.edu>]
  +
   re-implemented $r->read to properly use *client_block methods and call
  -reset_timeout after each read in the loop
  +reset_timeout after each read in the loop.  until this is well tested,
  +the method is called new_read. to test on tie'd STDIN reads, a startup
  +script can say this:
  +*Apache::READ = \&Apache::new_read;
   
   added setup_client_block, should_client_block and get_client_block
   methods
  
  
  
  1.12      +2 -0      modperl/MANIFEST
  
  Index: MANIFEST
  ===================================================================
  RCS file: /export/home/cvs/modperl/MANIFEST,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- MANIFEST	1998/05/04 23:52:54	1.11
  +++ MANIFEST	1998/05/08 02:40:44	1.12
  @@ -45,6 +45,7 @@
   Symbol/Symbol.pm
   Symbol/Symbol.xs
   Symbol/test.pl
  +src/modules/perl/mod_perl_version.h
   src/modules/perl/Constants.xs
   src/modules/perl/Apache.xs
   src/modules/perl/ldopts
  @@ -143,4 +144,5 @@
   faq/mod_perl_api.pod
   faq/mod_perl_cgi.pod
   faq/mod_perl_faq.pod
  +faq/mjtg-news.txt
   htdocs/manual/mod/mod_perl.html
  
  
  
  1.24      +11 -0     modperl/Makefile.PL
  
  Index: Makefile.PL
  ===================================================================
  RCS file: /export/home/cvs/modperl/Makefile.PL,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- Makefile.PL	1998/05/04 23:59:18	1.23
  +++ Makefile.PL	1998/05/08 02:40:44	1.24
  @@ -32,6 +32,7 @@
   
   gen_script("t/net/perl/cgi.pl");
   gen_script("t/report");
  +write_version_h("src/modules/perl");
   
   if($] < 5.004_04) {
       print <<EOF;
  @@ -1367,6 +1368,16 @@
   
   #endif
   
  +EOF
  +    close FH;
  +}
  +
  +sub write_version_h {
  +    my $d = shift;
  +    local *FH;
  +    open FH, ">$d/mod_perl_version.h" or die "can't write $d/mod_perl_version.h $!";
  +    print FH <<EOF;
  +#define MOD_PERL_STRING_VERSION "mod_perl/$VERSION"
   EOF
       close FH;
   }
  
  
  
  1.18      +4 -0      modperl/ToDo
  
  Index: ToDo
  ===================================================================
  RCS file: /export/home/cvs/modperl/ToDo,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- ToDo	1998/05/05 22:34:39	1.17
  +++ ToDo	1998/05/08 02:40:45	1.18
  @@ -24,6 +24,7 @@
     + Frank's FAQ update: http://www.ping.de/~fdc/mod_perl/mod_perl_faq.tar.gz
     + DONE
     + SUID access http://www.courtesan.com/sudo/
  +  + $ENV{PATH}/PerlSetEnv and PerlTaintCheck
   
   - rand() broken under win32!
              Jeff Baker <je...@godzilla.tamu.edu>
  @@ -96,6 +97,9 @@
   ---------------------------------------------------------------------------
   NEW STUFF
   ---------------------------------------------------------------------------
  +
  +- make 'PerlSetVar $Foo value' work like 'local $Foo = value' 
  +  for the given location
   
   - PerlInitHandler - alias to first available
     PerlCleanupHandler - register_cleanup
  
  
  
  1.11      +4 -4      modperl/apache-modlist.html
  
  Index: apache-modlist.html
  ===================================================================
  RCS file: /export/home/cvs/modperl/apache-modlist.html,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- apache-modlist.html	1998/05/05 22:34:39	1.10
  +++ apache-modlist.html	1998/05/08 02:40:45	1.11
  @@ -7,7 +7,7 @@
   <h1>The Apache/Perl Module List</h1>
   
   Maintained by <a href="mailto:dougm@osf.org">Doug MacEachern</a>,
  -<br><i> $Revision: 1.10 $ $Date: 1998/05/05 22:34:39 $</i>
  +<br><i> $Revision: 1.11 $ $Date: 1998/05/08 02:40:45 $</i>
   
   <h3>Contents</h3>
   <a href="#intro">Introduction</a><br>
  @@ -227,16 +227,16 @@
   GRICHTER Gerald Richter &lt;richter@ecos.de&gt;
   HMUELLER Hanno Mueller &lt;hmueller@mail.kabel.de&gt;
   IKLUFT	 Ian Kluft &lt;ikluft@cisco.com&gt;
  -JANPAZ	 Honza Pazdziora &lt;adelton@INFORMATICS.MUNI.CZ&gt;
  +JANPAZ	 Honza Pazdziora &lt;adelton@informatics.muni.cz&gt;
   JBAKER   Jeffrey Baker &lt;jeff@tamu.edu&gt;
  -JGROV	 John D Groenveld &lt;groenvel@cse.psu.edu&gt;
  +JGROV	 John D Groenveld &lt;jdg117@elvis.arl.psu.edu&gt;
   JROWE	 Jeff Rowe &lt;beowulf@lava.net&gt;
   KWILLIAM Ken Williams  &lt;ken@forum.swarthmore.edu&gt;
   LDS	 Lincoln D. Stein &lt;lstein@genome.wi.mit.edu&gt;
   MARKC	 Mark Constable &lt;markc@goldcoast.org&gt;
   MARKIM	 Mark A. Imbriaco &lt;mark@itribe.net&gt;
   MARKK	 Mark Kennedy &lt;mtk@ny.ubs.com&gt;
  -MAURICE	 Maurice Aubrey &lt;maurice@HEVANET.COM&gt
  +MAURICE	 Maurice Aubrey &lt;maurice@hevanet.com&gt
   MDORMAN	 Michael Alan Dorman  &lt;mdorman@calder.med.miami.edu&gt;
   MERGL	 Edmund Mergl &lt;E.Mergl@bawue.de&gt;
   MJS      Michael Smith &lt;mjs@iii.co.uk&gt;
  
  
  
  1.8       +31 -2     modperl/Apache/Apache.pm
  
  Index: Apache.pm
  ===================================================================
  RCS file: /export/home/cvs/modperl/Apache/Apache.pm,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Apache.pm	1998/05/05 22:34:41	1.7
  +++ Apache.pm	1998/05/08 02:40:46	1.8
  @@ -67,7 +67,8 @@
       return $val;
   }
   
  -*READ = \&read;
  +*READ = \&read unless defined &READ;
  +
   sub read {
       my($r, $bufsiz) = @_[0,2];
       my($nrd, $buf, $total);
  @@ -76,6 +77,34 @@
       $_[1] ||= "";
       #$_[1] = " " x $bufsiz unless defined $_[1]; #XXX?
   
  +    $r->hard_timeout("Apache->read");
  +
  +    while($bufsiz) {
  +	$nrd = $r->read_client_block($buf, $bufsiz) || 0;
  +	if(defined $nrd and $nrd > 0) {
  +	    $bufsiz -= $nrd;
  +	    $_[1] .= $buf;
  + 	    #substr($_[1], $total, $nrd) = $buf;
  +	    $total += $nrd;
  +	    next if $bufsiz;
  +	    last;
  +	}
  +	else {
  +	    $_[1] = undef;
  +	    last;
  +	}
  +    }
  +    $r->kill_timeout;
  +    return $total;
  +}
  +
  +sub new_read {
  +    my($r, $bufsiz) = @_[0,2];
  +    my($nrd, $buf, $total);
  +    $nrd = $total = 0;
  +    $buf = "";
  +    $_[1] ||= "";
  +
       if(my $rv = $r->setup_client_block) {
   	$r->log_error("Apache->read: setup_client_block returned $rv");
   	die $rv;
  @@ -115,7 +144,7 @@
       return $total;
   }
   
  -sub GETC { my $c; shift->read($c,1); $c; }
  +sub GETC { my $c; shift->READ($c,1); $c; }
   
   #shouldn't use <STDIN> anyhow, but we'll be nice
   sub READLINE { 
  
  
  
  1.2       +90 -12    modperl/lib/Apache/PerlRun.pm
  
  Index: PerlRun.pm
  ===================================================================
  RCS file: /export/home/cvs/modperl/lib/Apache/PerlRun.pm,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- PerlRun.pm	1998/04/26 00:16:39	1.1
  +++ PerlRun.pm	1998/05/08 02:40:47	1.2
  @@ -1,13 +1,37 @@
   package Apache::PerlRun;
   
   use strict;
  +use vars qw($Debug);
   use Apache::Constants qw(:common OPT_EXECCGI);
   use File::Basename ();
   use IO::File ();
   use Cwd ();
   
  +unless ($Apache::Registry::{NameWithVirtualHost}) {
  +    $Apache::Registry::NameWithVirtualHost = 1;
  +}
  +
  +$Debug ||= 0;
   my $Is_Win32 = $^O eq "MSWin32";
   
  +@Apache::PerlRun::ISA = qw(Apache);
  +
  +sub new {
  +    my($class, $r) = @_;
  +    return $r unless ref($r) eq "Apache";
  +    if(ref $r) {
  +	$r->request($r);
  +    }
  +    else {
  +	$r = Apache->request;
  +    }
  +    my $filename = $r->filename;
  +    $r->log_error("Apache::PerlRun->new for $filename in process $$")
  +	if $Debug && $Debug & 4;
  +
  +    bless $r, $class;
  +}
  +
   sub can_compile {
       my($r) = @_;
       my $filename = $r->filename;
  @@ -33,7 +57,8 @@
   }
   
   sub compile {
  -    my $eval = shift;
  +    my($r, $eval) = @_;
  +    $r->log_error("Apache::PerlRun->compile") if $Debug && $Debug & 4;
       Apache->untaint($$eval);
       {
   	no strict; #so eval'd code doesn't inherit our bits
  @@ -42,7 +67,11 @@
   }
   
   sub namespace {
  -    my($r) = @_;
  +    my($r, $root) = @_;
  +
  +    $r->log_error(sprintf "Apache::PerlRun->namespace escaping %s",
  +		  $r->uri) if $Debug && $Debug & 4;
  +
       my $script_name = $r->path_info ?
   	substr($r->uri, 0, length($r->uri)-length($r->path_info)) :
   	    $r->uri;
  @@ -63,29 +92,79 @@
   			 }[
   			   "::" . ($2 ? sprintf("_%2x",unpack("C",$2)) : "")
   			  ]egx;
  +
  +    $Apache::Registry::curstash = $script_name if 
  +	scalar(caller) eq "Apache::Registry";
  +
  +    $root ||= "Apache::ROOT";
  +
  +    $r->log_error("Apache::PerlRun->namespace: package $root$script_name")
  +	if $Debug && $Debug & 4;
   
  -    return "Apache::ROOT$script_name";
  +    return $root.$script_name;
   }
   
   sub readscript {
       my $r = shift;
  -    my $fh = IO::File->new($r->filename);
  +    my $filename = $r->filename;
  +    $r->log_error("Apache::PerlRun->readscript $filename")
  +	    if $Debug && $Debug & 4;
  +    my $fh = IO::File->new($filename);
       local $/;
       my $code = <$fh>;
  -    #$code = parse_cmdline($code);
       return \$code;
   }
   
  -sub status {
  +sub error_check {
       my $r = shift;
       if ($@) {
  -	$r->log_error($@);
  +	$r->log_error("PerlRun: `$@'");
   	$@{$r->uri} = $@;
  +	$@ = ''; #XXX fix me, if we don't do this Apache::exit() breaks	
   	return SERVER_ERROR;
       }
       return OK;
   }
   
  +sub chdir_file {
  +    my $r = shift;
  +    my $cwd = Cwd::fastcwd();
  +    chdir File::Basename::dirname($r->filename);
  +    *0 = \$r->filename;
  +    return $cwd;
  +}
  +
  +#XXX not good enough yet
  +my(%switches) = (
  +   'T' => sub {
  +       Apache::warn("Apache::PerlRun: T switch ignored, ".
  +		    "enable with 'PerlTaintCheck On'\n")
  +	   unless $Apache::__T; "";
  +   },
  +   'w' => sub { 'BEGIN {$^W = 1;}; $^W = 1;' },
  +);
  +
  +sub parse_cmdline {
  +    my($r, $sub) = @_;
  +    my($line) = $$sub =~ /^(.*)$/m;
  +    my(@cmdline) = split /\s+/, $line;
  +    return $sub unless @cmdline;
  +    return $sub unless shift(@cmdline) =~ /^\#!/;
  +    my($s, @s, $prepend);
  +    $prepend = "";
  +    for $s (@cmdline) {
  +	next unless $s =~ s/^-//;
  +	last if substr($s,0,1) eq "-";
  +	for (split //, $s) {
  +	    next unless $switches{$_};
  +	    #print STDERR "parsed `$_' switch\n";
  +	    $prepend .= &{$switches{$_}};
  +	}
  +    }
  +    $$sub =~ s/^/$prepend/ if $prepend;
  +    return $sub;
  +}
  +
   sub handler {
       my $r = shift;
   
  @@ -94,10 +173,9 @@
   
       my $package = namespace($r);
       my $code = readscript($r);
  +    parse_cmdline($r, $code);
   
  -    my $cwd = Cwd::fastcwd();
  -    chdir File::Basename::dirname($r->filename);
  -    *0 = \$r->filename;
  +    my $cwd = chdir_file($r);
   
       my $eval = join '',
   		    'package ',
  @@ -106,7 +184,7 @@
   		    "\n#line 1 ", $r->filename, "\n",
   		    $$code,
                       "\n";
  -    compile(\$eval);
  +    compile($r, \$eval);
   
       chdir $cwd;
   
  @@ -115,7 +193,7 @@
   	%{$package.'::'} = ();
       }
   
  -    return status($r);
  +    return error_check($r);
   }
   
   1;
  
  
  
  1.7       +4 -2      modperl/lib/Apache/Status.pm
  
  Index: Status.pm
  ===================================================================
  RCS file: /export/home/cvs/modperl/lib/Apache/Status.pm,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Status.pm	1998/03/19 23:08:48	1.6
  +++ Status.pm	1998/05/08 02:40:47	1.7
  @@ -1,7 +1,7 @@
   package Apache::Status;
   use strict;
   
  -$Apache::Status::VERSION = (qw$Revision: 1.6 $)[1];
  +$Apache::Status::VERSION = (qw$Revision: 1.7 $)[1];
   
   my %is_installed = ();
   
  @@ -454,7 +454,9 @@
       }
    ) if Apache->module("Apache::Status"); #only if Apache::Status is loaded
   
  -
  +B<WARNING>: Apache::Status must be loaded before these modules via the 
  +PerlModule or PerlRequire directives.
  +  
   =head1 OPTIONS
   
   =over 4
  
  
  
  1.20      +51 -2     modperl/src/modules/perl/Apache.xs
  
  Index: Apache.xs
  ===================================================================
  RCS file: /export/home/cvs/modperl/src/modules/perl/Apache.xs,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- Apache.xs	1998/05/05 22:34:41	1.19
  +++ Apache.xs	1998/05/08 02:40:48	1.20
  @@ -310,6 +310,50 @@
       return NULL;
   }
   
  +#if MODULE_MAGIC_NUMBER > 19970909
  +static int mp_get_basic_auth_pw(request_rec *r, char **pw)
  +{
  +    const char *auth_line = ap_table_get(r->headers_in,
  +                                      r->proxyreq ? "Proxy-Authorization"
  +                                                  : "Authorization");
  +    char *t = r->connection->auth_type ?
  +	r->connection->auth_type : auth_type(r);
  +
  +    if (!t || strcasecmp(t, "Basic"))
  +        return DECLINED;
  +
  +    if (!auth_name(r)) {
  +        aplog_error(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR,
  +		    r->server, "need AuthName: %s", r->uri);
  +        return SERVER_ERROR;
  +    }
  +
  +    if (!auth_line) {
  +        note_basic_auth_failure(r);
  +        return AUTH_REQUIRED;
  +    }
  +
  +    if (strcasecmp(getword(r->pool, &auth_line, ' '), "Basic")) {
  +        /* Client tried to authenticate using wrong auth scheme */
  +        aplog_error(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, r->server,
  +                    "client used wrong authentication scheme: %s", r->uri);
  +        note_basic_auth_failure(r);
  +        return AUTH_REQUIRED;
  +    }
  +
  +    t = uudecode(r->pool, auth_line);
  +    /* Note that this allocation has to be made from r->connection->pool
  +     * because it has the lifetime of the connection.  The other allocations
  +     * are temporary and can be tossed away any time.
  +     */
  +    r->connection->user = getword_nulls_nc (r->connection->pool, &t, ':');
  +    r->connection->ap_auth_type = "Basic";
  +
  +    *pw = t;
  +
  +    return OK;
  +}
  +#endif
   
   #define TABLE_GET_SET(table, do_taint) \
   { \
  @@ -427,8 +471,10 @@
       PREINIT:
       ix = ix; /* avoid -Wall warning */
       
  +#define APACHE_REGISTRY_CURSTASH perl_get_sv("Apache::Registry::curstash", TRUE)
  +
   void
  -mod_perl_clear_rgy_endav(r, sv)
  +mod_perl_clear_rgy_endav(r, sv=APACHE_REGISTRY_CURSTASH)
       Apache     r
       SV *sv
   
  @@ -832,7 +878,11 @@
       int ret;
   
       PPCODE:
  +#if MODULE_MAGIC_NUMBER > 19970909
  +    ret = mp_get_basic_auth_pw(r, &sent_pw);
  +#else
       ret = get_basic_auth_pw(r, &sent_pw);
  +#endif
       XPUSHs(sv_2mortal((SV*)newSViv(ret)));
       if(ret == OK)
   	XPUSHs(sv_2mortal((SV*)newSVpv(sent_pw, 0)));
  @@ -894,7 +944,6 @@
       long nrd = 0;
   
       PPCODE:
  -    if(dowarn) warn("Apache->read_client_block is deprecated");
       buffer = (char*)palloc(r->pool, bufsiz);
       PERL_READ_FROM_CLIENT;
       if ( nrd > 0 ) {
  
  
  
  1.17      +5 -0      modperl/src/modules/perl/mod_perl.c
  
  Index: mod_perl.c
  ===================================================================
  RCS file: /export/home/cvs/modperl/src/modules/perl/mod_perl.c,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- mod_perl.c	1998/05/04 05:08:47	1.16
  +++ mod_perl.c	1998/05/08 02:40:48	1.17
  @@ -355,6 +355,11 @@
       SV *pool_rv, *server_rv;
       GV *gv, *shgv;
   
  +#if MODULE_MAGIC_NUMBER >= 19980507
  +#include "mod_perl_version.h"
  +    ap_add_version_component(MOD_PERL_STRING_VERSION);
  +#endif
  +
   #ifndef WIN32
       argv[0] = server_argv0;
   #endif
  
  
  
  1.19      +1 -0      modperl/src/modules/perl/mod_perl.h
  
  Index: mod_perl.h
  ===================================================================
  RCS file: /export/home/cvs/modperl/src/modules/perl/mod_perl.h,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- mod_perl.h	1998/05/04 23:52:57	1.18
  +++ mod_perl.h	1998/05/08 02:40:49	1.19
  @@ -895,6 +895,7 @@
   CHAR_P perl_end_section (cmd_parms *cmd, void *dummy);
   CHAR_P perl_pod_section (cmd_parms *cmd, void *dummy, CHAR_P arg);
   CHAR_P perl_pod_end_section (cmd_parms *cmd, void *dummy);
  +CHAR_P perl_cmd_autoload (cmd_parms *parms, void *dummy, const char *arg);
   CHAR_P perl_config_END (cmd_parms *cmd, void *dummy, CHAR_P arg);
   CHAR_P perl_limit_section(cmd_parms *cmd, void *dummy, HV *hv);
   CHAR_P perl_urlsection (cmd_parms *cmd, void *dummy, HV *hv);
  
  
  
  1.15      +4 -8      modperl/src/modules/perl/perl_config.c
  
  Index: perl_config.c
  ===================================================================
  RCS file: /export/home/cvs/modperl/src/modules/perl/perl_config.c,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- perl_config.c	1998/05/04 04:09:16	1.14
  +++ perl_config.c	1998/05/08 02:40:49	1.15
  @@ -633,7 +633,6 @@
   static SV *perl_perl_create_dir_config(SV **sv, HV *class)
   {
       GV *gv; 
  -    SV *obj = Nullsv;
   
       if(SvTRUE(*sv) && SvROK(*sv) && sv_isobject(*sv))
   	return *sv;
  @@ -690,14 +689,11 @@
       PUTBACK;
       count = perl_call_sv((SV*)cv, G_EVAL | G_SCALAR);
       SPAGAIN;
  -#if 0
  +#if 1
       if(count == 1) {
  -	SV *config = POPs;
  -	if(config && SvROK(config) && data && *data) {
  -	    ++SvREFCNT(config);
  -	    SvREFCNT_dec(*data);
  -	    *data = config;
  -	}
  +	char *retval = POPp;
  +	if(strEQ(retval, DECLINE_CMD))
  +	    return DECLINE_CMD;
       }
   #endif
       FREETMPS;LEAVE;
  
  
  
  1.3       +0 -3      modperl/t/TEST
  
  Index: TEST
  ===================================================================
  RCS file: /export/home/cvs/modperl/t/TEST,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- TEST	1998/03/21 04:00:55	1.2
  +++ TEST	1998/05/08 02:40:50	1.3
  @@ -1,8 +1,5 @@
   #!/usr/local/bin/perl
   
  -# This script is run Test::Harness on the tests found under the
  -# "t" directory.
  -
   # First we check if we already are within the "t" directory
   if (-d "t") {
       # try to move into test directory
  
  
  
  1.8       +4 -0      modperl/t/docs/startup.pl
  
  Index: startup.pl
  ===================================================================
  RCS file: /export/home/cvs/modperl/t/docs/startup.pl,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- startup.pl	1998/04/28 02:26:25	1.7
  +++ startup.pl	1998/05/08 02:40:51	1.8
  @@ -38,6 +38,10 @@
       die "mod_perl.pm is broken\n";
   }
   
  +if($ENV{PERL_TEST_NEW_READ}) {
  +    *Apache::READ = \&Apache::new_read;
  +}
  +
   $ENV{KeyForPerlSetEnv} eq "OK" or warn "PerlSetEnv is broken\n";
   
   #test Apache::RegistryLoader
  
  
  
  1.2       +2 -0      modperl/t/net/perl/dirty-script.cgi
  
  Index: dirty-script.cgi
  ===================================================================
  RCS file: /export/home/cvs/modperl/t/net/perl/dirty-script.cgi,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- dirty-script.cgi	1998/04/26 00:16:40	1.1
  +++ dirty-script.cgi	1998/05/08 02:40:51	1.2
  @@ -14,4 +14,6 @@
   
   print __PACKAGE__, " is dirty";
   
  +exit;
  +
   __END__
  
  
  
  1.6       +2 -1      modperl/t/net/perl/test
  
  Index: test
  ===================================================================
  RCS file: /export/home/cvs/modperl/t/net/perl/test,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- test	1998/03/19 23:09:06	1.5
  +++ test	1998/05/08 02:40:51	1.6
  @@ -43,7 +43,8 @@
   $r->post_connection(sub {
       my $r = shift;
       unless(Apache::test::WIN32()) { #XXX
  -	$r->uri =~ /test/i or die "post_connection can't see \$r->uri!\n";
  +	my $loc = $r->uri;
  +	$loc =~ /test/i or die "post_connection can't see \$r->uri! ($loc)\n";
       }
       #$r->warn("post connection handler called for ", $r->uri);
       return 0;