cvs commit: modperl-2.0/xs typemap
dougm 02/05/23 21:42:57 Modified:xs typemap Log: need to use modperl version of sv_setref_uv, since it doesn't exist in 5.6.x Revision ChangesPath 1.8 +1 -1 modperl-2.0/xs/typemap Index: typemap === RCS file: /home/cvs/modperl-2.0/xs/typemap,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- typemap 23 May 2002 22:19:34 - 1.7 +++ typemap 24 May 2002 04:42:57 - 1.8 -18,7 +18,7 sv_setnv($arg, (NV)($var / APR_USEC_PER_SEC)); T_UVOBJ - sv_setref_uv($arg, \${ntype}\, (UV)$var); + modperl_perl_sv_setref_uv(aTHX_ $arg, \${ntype}\, (UV)$var); ## INPUT
cvs commit: modperl-2.0/xs/tables/current/ModPerl FunctionTable.pm
dougm 02/05/23 22:13:08 Modified:xs/tables/current/ModPerl FunctionTable.pm Log: sync Revision ChangesPath 1.68 +26 -1 modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm Index: FunctionTable.pm === RCS file: /home/cvs/modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm,v retrieving revision 1.67 retrieving revision 1.68 diff -u -r1.67 -r1.68 --- FunctionTable.pm 22 May 2002 16:30:40 - 1.67 +++ FunctionTable.pm 24 May 2002 05:13:07 - 1.68 -2,7 +2,7 # !! # ! WARNING: generated by ModPerl::ParseSource/0.01 -# ! Wed May 22 09:10:46 2002 +# ! Thu May 23 22:06:43 2002 # ! do NOT edit, any changes will be lost ! # !! -3171,6 +3171,31 { 'type' = 'const char *', 'name' = 'name' + } +] + }, + { +'return_type' = 'SV *', +'name' = 'modperl_perl_sv_setref_uv', +'attr' = [ + '__inline__' +], +'args' = [ + { +'type' = 'PerlInterpreter *', +'name' = 'my_perl' + }, + { +'type' = 'SV *', +'name' = 'rv' + }, + { +'type' = 'const char *', +'name' = 'classname' + }, + { +'type' = 'UV', +'name' = 'uv' } ] },
cvs commit: modperl/lib/Apache Status.pm
dougm 02/05/23 09:00:59 Modified:lib/Apache Status.pm Log: make it possible to configure the registry cache via Apache::Status-registry_cache(\%cache); Revision ChangesPath 1.25 +15 -2 modperl/lib/Apache/Status.pm Index: Status.pm === RCS file: /home/cvs/modperl/lib/Apache/Status.pm,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- Status.pm 31 Mar 2000 18:19:48 - 1.24 +++ Status.pm 23 May 2002 16:00:59 - 1.25 -1,7 +1,7 package Apache::Status; use strict; -$Apache::Status::VERSION = '2.02'; +$Apache::Status::VERSION = '2.03'; my %is_installed = (); my $Is_Win32 = ($^O eq MSWin32); -180,13 +180,26 \@retval; } +my $RegistryCache; + +sub registry_cache { +my($self, $cache) = _; + +if ($cache) { +$RegistryCache = $cache; +} + +$RegistryCache || $Apache::Registry; +} + sub status_rgysubs { my($r,$q) = _; my(retval); local $_; my $uri = $r-uri; +my $cache = __PACKAGE__-registry_cache; push retval, bClick on package name to see its symbol table/bp\n; -foreach (sort keys %{$Apache::Registry}) { +foreach (sort keys %$cache) { push retval, qq(a href=$uri?$_$_/a\n), br;
cvs commit: modperl-2.0/xs/APR/OS APR__OS.h
dougm 02/05/22 09:30:14 Added: xs/APR/OS APR__OS.h Log: wrapper for apr_os_thread_current() Revision ChangesPath 1.1 modperl-2.0/xs/APR/OS/APR__OS.h Index: APR__OS.h === static MP_INLINE apr_os_thread_t mpxs_apr_os_thread_current(pTHX) { #if APR_HAS_THREADS return apr_os_thread_current(); #else return (void *)0; #endif }
cvs commit: modperl-2.0/xs/tables/current/ModPerl FunctionTable.pm
dougm 02/05/22 09:30:40 Modified:t/apr.cvsignore xs/maps apr_functions.map apr_types.map xs/tables/current/ModPerl FunctionTable.pm Log: add APR::OS::thread_current function Revision ChangesPath 1.5 +1 -0 modperl-2.0/t/apr/.cvsignore Index: .cvsignore === RCS file: /home/cvs/modperl-2.0/t/apr/.cvsignore,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- .cvsignore6 Mar 2002 05:24:57 - 1.4 +++ .cvsignore22 May 2002 16:30:40 - 1.5 -9,3 +9,4 table.t util.t uuid.t +os.t 1.41 +25 -25modperl-2.0/xs/maps/apr_functions.map Index: apr_functions.map === RCS file: /home/cvs/modperl-2.0/xs/maps/apr_functions.map,v retrieving revision 1.40 retrieving revision 1.41 diff -u -r1.40 -r1.41 --- apr_functions.map 19 May 2002 23:59:52 - 1.40 +++ apr_functions.map 22 May 2002 16:30:40 - 1.41 -591,28 +591,28 apr_xlate_get_sb apr_xlate_open --MODULE=APR::OS - apr_os_dir_get - apr_os_exp_time_get - apr_os_file_get - apr_os_imp_time_get - apr_os_sock_get - apr_os_thread_get - apr_os_threadkey_get - apr_os_sock_make - apr_os_dir_put - apr_os_exp_time_put - apr_os_file_put - apr_os_imp_time_put - apr_os_sock_put - apr_os_thread_put - apr_os_threadkey_put - apr_os_dso_handle_get - apr_os_dso_handle_put - apr_os_thread_current - apr_os_thread_equal - apr_os_global_mutex_get - apr_os_proc_mutex_get - apr_os_proc_mutex_put - apr_os_shm_get - apr_os_shm_put +MODULE=APR::OS +-apr_os_dir_get +-apr_os_exp_time_get +-apr_os_file_get +-apr_os_imp_time_get +-apr_os_sock_get +-apr_os_thread_get +-apr_os_threadkey_get +-apr_os_sock_make +-apr_os_dir_put +-apr_os_exp_time_put +-apr_os_file_put +-apr_os_imp_time_put +-apr_os_sock_put +-apr_os_thread_put +-apr_os_threadkey_put +-apr_os_dso_handle_get +-apr_os_dso_handle_put + apr_os_thread_current | | mpxs_ +-apr_os_thread_equal +-apr_os_global_mutex_get +-apr_os_proc_mutex_get +-apr_os_proc_mutex_put +-apr_os_shm_get +-apr_os_shm_put 1.17 +1 -1 modperl-2.0/xs/maps/apr_types.map Index: apr_types.map === RCS file: /home/cvs/modperl-2.0/xs/maps/apr_types.map,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- apr_types.map 19 May 2002 01:05:30 - 1.16 +++ apr_types.map 22 May 2002 16:30:40 - 1.17 -96,7 +96,7 #thread stuff struct apr_threadkey_t | UNDEFINED struct apr_os_threadkey_t| UNDEFINED -struct apr_os_thread_t | UNDEFINED +struct apr_os_thread_t | PTR struct apr_thread_t | UNDEFINED apr_thread_start_t | UNDEFINED struct apr_threadattr_t | UNDEFINED 1.67 +15 -1 modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm Index: FunctionTable.pm === RCS file: /home/cvs/modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm,v retrieving revision 1.66 retrieving revision 1.67 diff -u -r1.66 -r1.67 --- FunctionTable.pm 21 May 2002 02:50:16 - 1.66 +++ FunctionTable.pm 22 May 2002 16:30:40 - 1.67 -2,7 +2,7 # !! # ! WARNING: generated by ModPerl::ParseSource/0.01 -# ! Mon May 20 19:15:12 2002 +# ! Wed May 22 09:10:46 2002 # ! do NOT edit, any changes will be lost ! # !! -5195,6 +5195,20 { 'type' = 'const char *', 'name' = 'mask_or_numbits' + } +] + }, + { +'return_type' = 'apr_os_thread_t', +'name' = 'mpxs_apr_os_thread_current', +'attr' = [ + 'static', + '__inline__' +], +'args' = [ + { +'type' = 'PerlInterpreter *', +'name' = 'my_perl' } ] },
cvs commit: modperl-2.0/t/response/TestAPR os.pm
dougm 02/05/22 09:31:05 Added: t/response/TestAPR os.pm Log: add test for APR::OS::thread_current Revision ChangesPath 1.1 modperl-2.0/t/response/TestAPR/os.pm Index: os.pm === package TestAPR::os; use strict; use warnings FATAL = 'all'; use Apache::Test; use Apache::TestUtil; use APR::OS (); use Apache::Const -compile = 'OK'; sub handler { my $r = shift; plan $r, tests = 1; my $id = APR::OS::thread_current() || $$; ok t_cmp($id, $id, current thread id or process id); Apache::OK; } 1;
cvs commit: modperl-2.0/lib/Apache Build.pm
dougm 02/05/22 19:35:19 Modified:.Makefile.PL lib/Apache Build.pm Log: on hpux with bleedperl $Config{ld} is the fullpath, strip to the basename Revision ChangesPath 1.84 +2 -1 modperl-2.0/Makefile.PL Index: Makefile.PL === RCS file: /home/cvs/modperl-2.0/Makefile.PL,v retrieving revision 1.83 retrieving revision 1.84 diff -u -r1.83 -r1.84 --- Makefile.PL 22 May 2002 02:07:08 - 1.83 +++ Makefile.PL 23 May 2002 02:35:19 - 1.84 -344,8 +344,9 sub os_check_hpux { my $ccflags = $build-perl_config('ccflags'); +my $ld = $build-perl_config('ld'); -if ($build-is_dynamic and $Config{ld} eq 'ld') { +if ($build-is_dynamic and $ld eq 'ld') { unless ($ccflags =~ /\+z/i) { $build-phat_warn(EOF); mod_perl is unlikely to link with your libperl, suggestions: 1.92 +11 -1 modperl-2.0/lib/Apache/Build.pm Index: Build.pm === RCS file: /home/cvs/modperl-2.0/lib/Apache/Build.pm,v retrieving revision 1.91 retrieving revision 1.92 diff -u -r1.91 -r1.92 --- Build.pm 22 May 2002 01:58:59 - 1.91 +++ Build.pm 23 May 2002 02:35:19 - 1.92 -172,7 +172,9 my $ldopts = ExtUtils::Embed::ldopts(); chomp $ldopts; -if ($^O eq 'hpux' and $Config{ld} eq 'ld') { +my $ld = $self-perl_config('ld'); + +if ($^O eq 'hpux' and $ld eq 'ld') { while ($ldopts =~ s/-Wl,(\S+)/$1/) { my $cp = $1; (my $repl = $cp) =~ s/,/ /g; -275,6 +277,14 } $val; +} + +sub perl_config_ld { +my($self, $val) = _; + +$val ||= $Config{ld}; + +basename $val; #bleedperl hpux value is /usr/bin/ld ! } sub perl_config_lddlflags {
cvs commit: modperl-2.0/lib/Apache compat.pm
dougm 02/05/22 20:10:18 Modified:lib/Apache compat.pm Log: add noop stubs for timeout functions removed from 2.0: $r-{soft,hard,reset,kill}_timeout Revision ChangesPath 1.46 +6 -0 modperl-2.0/lib/Apache/compat.pm Index: compat.pm === RCS file: /home/cvs/modperl-2.0/lib/Apache/compat.pm,v retrieving revision 1.45 retrieving revision 1.46 diff -u -r1.45 -r1.46 --- compat.pm 19 May 2002 11:41:53 - 1.45 +++ compat.pm 23 May 2002 03:10:18 - 1.46 -91,6 +91,12 package Apache::RequestRec; +#no longer exist in 2.0 +sub soft_timeout {} +sub hard_timeout {} +sub kill_timeout {} +sub reset_timeout {} + #to support $r-server_root_relative *server_root_relative = \Apache::server_root_relative;
cvs commit: modperl-2.0/src/modules/perl modperl_callback.c
dougm 02/05/22 22:55:35 Modified:src/modules/perl modperl_callback.c Log: prevent possible segv with method handlers? Revision ChangesPath 1.50 +6 -1 modperl-2.0/src/modules/perl/modperl_callback.c Index: modperl_callback.c === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_callback.c,v retrieving revision 1.49 retrieving revision 1.50 diff -u -r1.49 -r1.50 --- modperl_callback.c18 May 2002 01:07:16 - 1.49 +++ modperl_callback.c23 May 2002 05:55:35 - 1.50 -16,7 +16,12 PUSHMARK(SP); if (MpHandlerMETHOD(handler)) { -GV *gv = modperl_mgv_lookup(aTHX_ handler-mgv_obj); +GV *gv; +if (!handler-mgv_obj) { +Perl_croak(aTHX_ panic: %s method handler object is NULL!, + handler-name); +} +gv = modperl_mgv_lookup(aTHX_ handler-mgv_obj); XPUSHs(modperl_mgv_sv(gv)); }
cvs commit: modperl/lib/Apache ExtUtils.pm
dougm 02/05/22 19:44:40 Modified:.Makefile.PL lib/Apache ExtUtils.pm Log: on hpux with bleedperl $Config{ld} is the fullpath, strip to the basename Revision ChangesPath 1.200 +4 -2 modperl/Makefile.PL Index: Makefile.PL === RCS file: /home/cvs/modperl/Makefile.PL,v retrieving revision 1.199 retrieving revision 1.200 diff -u -r1.199 -r1.200 --- Makefile.PL 24 Mar 2002 19:06:03 - 1.199 +++ Makefile.PL 23 May 2002 02:44:40 - 1.200 -19,7 +19,7 use FileHandle (); use DirHandle (); use File::Compare (); -use File::Basename qw(dirname); +use File::Basename qw(dirname basename); use File::Path qw(mkpath rmtree); use Cwd; use File::Copy qw(cp); -2398,7 +2398,9 } } -if ($^O eq 'hpux' and ($USE_DSO or $USE_APXS) and $Config{ld} eq 'ld') { +my $ld = basename $Config{ld}; + +if ($^O eq 'hpux' and ($USE_DSO or $USE_APXS) and $ld eq 'ld') { unless ($ccflags =~ /\+z/i) { my $switch = $] = 5.006 ? 'A' : 'D'; phat_warn(EOF); 1.25 +2 -0 modperl/lib/Apache/ExtUtils.pm Index: ExtUtils.pm === RCS file: /home/cvs/modperl/lib/Apache/ExtUtils.pm,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- ExtUtils.pm 24 Mar 2002 19:06:03 - 1.24 +++ ExtUtils.pm 23 May 2002 02:44:40 - 1.25 -4,6 +4,7 use Exporter (); use IO::File (); use File::Copy (); +use File::Basename qw(basename); $Apache::ExtUtils::VERSION = '1.04'; -35,6 +36,7 sub Config_pm_fixup { eval { require Apache::MyConfig; }; my %config_fixups = ( + ld = sub { s/(.*)/basename $1/e }, ccdlflags = sub { s/-R\s+/-R/; }, ccflags = sub { s/-D_GNU_SOURCE//;
cvs commit: modperl Changes Makefile.PL
dougm 02/05/22 19:52:15 Modified:.Changes Makefile.PL Log: autoset PERL_USELARGEFILES=0 if needed Revision ChangesPath 1.642 +2 -0 modperl/Changes Index: Changes === RCS file: /home/cvs/modperl/Changes,v retrieving revision 1.641 retrieving revision 1.642 diff -u -r1.641 -r1.642 --- Changes 16 Apr 2002 02:43:55 - 1.641 +++ Changes 23 May 2002 02:52:15 - 1.642 -10,6 +10,8 =item 1.26_01-dev +autoset PERL_USELARGEFILES=0 if needed + fix taint issues with bleedperl fix bug in modules/util test 1.201 +10 -7 modperl/Makefile.PL Index: Makefile.PL === RCS file: /home/cvs/modperl/Makefile.PL,v retrieving revision 1.200 retrieving revision 1.201 diff -u -r1.200 -r1.201 --- Makefile.PL 23 May 2002 02:44:40 - 1.200 +++ Makefile.PL 23 May 2002 02:52:15 - 1.201 -382,13 +382,6 $PERL_EXTRA_CFLAGS .= -DPERL_SAFE_STARTUP=1; } -if ($PERL_USELARGEFILES and $] = 5.006) { -$PERL_EXTRA_CFLAGS .= $Config{ccflags}; -} - -# apache-1.3.xx won't compile with -D_GNU_SOURCE -$PERL_EXTRA_CFLAGS =~ s/-D_GNU_SOURCE//; - for (keys %PassEnv) { $ENV{$_} = $$_ if $$_; } -430,6 +423,13 system_sanity_check(); +if ($PERL_USELARGEFILES and $] = 5.006) { +$PERL_EXTRA_CFLAGS .= $Config{ccflags}; +} + +# apache-1.3.xx won't compile with -D_GNU_SOURCE +$PERL_EXTRA_CFLAGS =~ s/-D_GNU_SOURCE//; + if ($USE_APACI) { print Will configure via APACI; if($USE_DSO) { -2459,6 +2459,9 local $Apache::src::APXS = $WITH_APXS; my $cflags = Apache::src-new-apxs('-q' = 'CFLAGS') || ''; return if $cflags =~ /LARGEFILE/; + +$PERL_USELARGEFILES=0; #just do it since +return; #nobody seems to listen to the warning below phat_warn(EOF); Your Perl is uselargefiles enabled, but Apache is not, suggestions:
cvs commit: modperl/t/docs startup.pl
dougm 02/05/22 20:07:28 Modified:.Changes src/modules/perl mod_perl.h t/docs startup.pl Log: make sure DynaLoader is loaded before XSLoader to workaround possible segv when using mod_perl as a dso with perl 5.6.1 Revision ChangesPath 1.643 +3 -0 modperl/Changes Index: Changes === RCS file: /home/cvs/modperl/Changes,v retrieving revision 1.642 retrieving revision 1.643 diff -u -r1.642 -r1.643 --- Changes 23 May 2002 02:52:15 - 1.642 +++ Changes 23 May 2002 03:07:27 - 1.643 -10,6 +10,9 =item 1.26_01-dev +make sure DynaLoader is loaded before XSLoader to workaround possible +segv when using mod_perl as a dso with perl 5.6.1 + autoset PERL_USELARGEFILES=0 if needed fix taint issues with bleedperl 1.114 +1 -0 modperl/src/modules/perl/mod_perl.h Index: mod_perl.h === RCS file: /home/cvs/modperl/src/modules/perl/mod_perl.h,v retrieving revision 1.113 retrieving revision 1.114 diff -u -r1.113 -r1.114 --- mod_perl.h24 Mar 2002 23:01:33 - 1.113 +++ mod_perl.h23 May 2002 03:07:27 - 1.114 -1192,6 +1192,7 /* perl_config.c */ #define require_Apache(s) \ +perl_require_module(DynaLoader, s); \ perl_require_module(Apache, s) char *mod_perl_auth_name(request_rec *r, char *val); 1.44 +1 -0 modperl/t/docs/startup.pl Index: startup.pl === RCS file: /home/cvs/modperl/t/docs/startup.pl,v retrieving revision 1.43 retrieving revision 1.44 diff -u -r1.43 -r1.44 --- startup.pl15 May 2002 18:01:21 - 1.43 +++ startup.pl23 May 2002 03:07:27 - 1.44 -25,6 +25,7 }; $@='' if $; } +use Socket (); #test DynaLoader vs. XSLoader workaroud use Apache (); use Apache::Registry (); unless ($INC{'Apache.pm'} =~ /blib/) {
cvs commit: modperl/apaci mod_perl.config.sh
dougm 02/05/22 20:30:21 Modified:apacimod_perl.config.sh Log: another bleedperl/hpux/ld hack Revision ChangesPath 1.26 +1 -1 modperl/apaci/mod_perl.config.sh Index: mod_perl.config.sh === RCS file: /home/cvs/modperl/apaci/mod_perl.config.sh,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- mod_perl.config.sh6 Jul 2001 20:08:36 - 1.25 +++ mod_perl.config.sh23 May 2002 03:30:21 - 1.26 -145,7 +145,7 $ldopts =~ s,(-bE:)(perl\.exp),$1$Config{archlibexp}/CORE/$2, if($^O eq aix); #replace -Wl args meant for cc with args for ld -if ($ARGV[0] eq DSO and $^O eq hpux and $Config{ld} eq ld) { +if ($ARGV[0] eq DSO and $^O eq hpux and $Config{ld} =~ /ld$/) { while ($ldopts =~ s/-Wl,(\S+)/$1/) { my $cp = $1; (my $repl = $cp) =~ s/,/ /g;
cvs commit: modperl Changes Makefile.PL STATUS
dougm 02/05/22 20:38:39 Modified:.Changes Makefile.PL STATUS Log: Submitted by: Randy Kobes [EMAIL PROTECTED] Reviewed by: dougm fix Win32 build problems with spaces in shell arguments Revision ChangesPath 1.644 +3 -0 modperl/Changes Index: Changes === RCS file: /home/cvs/modperl/Changes,v retrieving revision 1.643 retrieving revision 1.644 diff -u -r1.643 -r1.644 --- Changes 23 May 2002 03:07:27 - 1.643 +++ Changes 23 May 2002 03:38:39 - 1.644 @@ -10,6 +10,9 @@ =item 1.26_01-dev +fix Win32 build problems with spaces in shell arguments +[Randy Kobes [EMAIL PROTECTED]] + make sure DynaLoader is loaded before XSLoader to workaround possible segv when using mod_perl as a dso with perl 5.6.1 1.202 +1 -1 modperl/Makefile.PL Index: Makefile.PL === RCS file: /home/cvs/modperl/Makefile.PL,v retrieving revision 1.201 retrieving revision 1.202 diff -u -r1.201 -r1.202 --- Makefile.PL 23 May 2002 02:52:15 - 1.201 +++ Makefile.PL 23 May 2002 03:38:39 - 1.202 @@ -1104,7 +1104,7 @@ cp lib/mod_perl_hooks.pm.PL, lib/mod_perl_hooks.pm; if ($Is_Win32) { - my @args = ($^X, '-spi.bak ', ' -e ', \s/sub mod_perl::hooks.*/sub mod_perl::hooks { qw($hooks) }/\, 'lib/mod_perl_hooks.pm'); + my @args = ($^X, '-spi.bak', '-e', \s/sub mod_perl::hooks.*/sub mod_perl::hooks { qw($hooks) }/\, 'lib/mod_perl_hooks.pm'); system(@args) == 0 or die @args failed\n; } iedit lib/mod_perl_hooks.pm, 1.19 +1 -7 modperl/STATUS Index: STATUS === RCS file: /home/cvs/modperl/STATUS,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- STATUS14 May 2002 18:05:34 - 1.18 +++ STATUS23 May 2002 03:38:39 - 1.19 @@ -1,5 +1,5 @@ mod_perl 1.3 STATUS: - Last modified at [$Date: 2002/05/14 18:05:34 $] + Last modified at [$Date: 2002/05/23 03:38:39 $] Release: @@ -9,12 +9,6 @@ Available Patches: - -* Win32 build problems with spaces in shell arguments -Report: http://marc.theaimsgroup.com/?l=apache-modperlm=101681938513575w=2 - Status: - patch available at - http://marc.theaimsgroup.com/?l=apache-modperlm=101729204503165w=2 * implement notes('error-notes') in Registry a la mod_cgo Report: http://marc.theaimsgroup.com/?l=apache-modperlm=101862462900504w=2
cvs commit: modperl/src/modules/perl mod_perl.c mod_perl.h
dougm 02/05/22 21:03:46 Modified:src/modules/perl mod_perl.c mod_perl.h Log: better fix for DynaLoader vs XSLoader workaround Revision ChangesPath 1.144 +23 -1 modperl/src/modules/perl/mod_perl.c Index: mod_perl.c === RCS file: /home/cvs/modperl/src/modules/perl/mod_perl.c,v retrieving revision 1.143 retrieving revision 1.144 diff -u -r1.143 -r1.144 --- mod_perl.c24 Mar 2002 23:01:33 - 1.143 +++ mod_perl.c23 May 2002 04:03:46 - 1.144 -569,6 +569,28 perl_startup(s, p); } +static void mod_perl_boot(void *data) +{ +/* make sure DynaLoader is loaded before XSLoader + * to workaround bug in 5.6.1 that can trigger a segv + * when using modperl as a dso + */ +perl_require_module(DynaLoader, NULL); +} + +static void mod_perl_xs_init(void) +{ +xs_init(); + +/* XXX: in 5.7.2+ we can call the body of mod_perl_boot here + * but in 5.6.1 the Perl runtime is not properly setup yet + * so we have to pull this stunt to delay + */ +#ifdef SAVEDESTRUCTOR_X +SAVEDESTRUCTOR_X(mod_perl_boot, 0); +#endif +} + void perl_startup (server_rec *s, pool *p) { char *argv[] = { NULL, NULL, NULL, NULL, NULL, NULL, NULL }; -677,7 +699,7 MP_TRACE_g(fprintf(stderr, constructing perl interpreter...ok\n)); perl_construct(perl); -status = perl_parse(perl, xs_init, argc, argv, NULL); +status = perl_parse(perl, mod_perl_xs_init, argc, argv, NULL); if (status != OK) { MP_TRACE_g(fprintf(stderr,not ok, status=%d\n, status)); perror(parse); 1.115 +0 -1 modperl/src/modules/perl/mod_perl.h Index: mod_perl.h === RCS file: /home/cvs/modperl/src/modules/perl/mod_perl.h,v retrieving revision 1.114 retrieving revision 1.115 diff -u -r1.114 -r1.115 --- mod_perl.h23 May 2002 03:07:27 - 1.114 +++ mod_perl.h23 May 2002 04:03:46 - 1.115 -1192,7 +1192,6 /* perl_config.c */ #define require_Apache(s) \ -perl_require_module(DynaLoader, s); \ perl_require_module(Apache, s) char *mod_perl_auth_name(request_rec *r, char *val);
cvs commit: modperl/t/net/perl server_error.pl
dougm 02/05/22 21:21:07 Modified:.Changes STATUS lib/Apache Registry.pm t/net/perl server_error.pl Log: Submitted by: Jesse Erlbaum [EMAIL PROTECTED] Reviewed by: dougm Apache::Registry errors are now saved in $r-notes('error-notes') Revision ChangesPath 1.645 +3 -0 modperl/Changes Index: Changes === RCS file: /home/cvs/modperl/Changes,v retrieving revision 1.644 retrieving revision 1.645 diff -u -r1.644 -r1.645 --- Changes 23 May 2002 03:38:39 - 1.644 +++ Changes 23 May 2002 04:21:06 - 1.645 @@ -10,6 +10,9 @@ =item 1.26_01-dev +Apache::Registry errors are now saved in $r-notes('error-notes') +[Jesse Erlbaum [EMAIL PROTECTED]] + fix Win32 build problems with spaces in shell arguments [Randy Kobes [EMAIL PROTECTED]] 1.20 +1 -10 modperl/STATUS Index: STATUS === RCS file: /home/cvs/modperl/STATUS,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- STATUS23 May 2002 03:38:39 - 1.19 +++ STATUS23 May 2002 04:21:06 - 1.20 @@ -1,5 +1,5 @@ mod_perl 1.3 STATUS: - Last modified at [$Date: 2002/05/23 03:38:39 $] + Last modified at [$Date: 2002/05/23 04:21:06 $] Release: @@ -9,15 +9,6 @@ Available Patches: - -* implement notes('error-notes') in Registry a la mod_cgo -Report: http://marc.theaimsgroup.com/?l=apache-modperlm=101862462900504w=2 - Status: - I haven't had the chance to investigate this thoroughly, but - mod_perl does seem to be setting error-notes for some things. maybe - just not enough things or Registry specific things? --Geoff - patch available at - http://marc.theaimsgroup.com/?l=apache-modperlm=101862462900504w=2 * Apache::Status allows standard keys to be overridden Report: http://marc.theaimsgroup.com/?l=apache-modperlm=101559176217056w=2 1.34 +10 -4 modperl/lib/Apache/Registry.pm Index: Registry.pm === RCS file: /home/cvs/modperl/lib/Apache/Registry.pm,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- Registry.pm 28 Sep 2000 16:35:53 - 1.33 +++ Registry.pm 23 May 2002 04:21:07 - 1.34 @@ -24,6 +24,13 @@ $Apache::Registry::MarkLine = 1; } +sub xlog_error { +my($r, $msg) = @_; +$r-log_error($msg); +$r-notes('error-notes', $msg); +$@{$r-uri} = $msg; +} + sub handler { my $r = shift; if(ref $r) { @@ -127,8 +134,7 @@ compile($eval); $r-stash_rgy_endav($script_name); if ($@) { - $r-log_error($@); - $@{$uri} = $@; + xlog_error($r, $@); return SERVER_ERROR unless $Debug $Debug 2; return Apache::Debug::dump($r, SERVER_ERROR); } @@ -152,7 +158,7 @@ } if($errsv) { - $r-log_error($errsv); + xlog_error($r, $errsv); return SERVER_ERROR unless $Debug $Debug 2; return Apache::Debug::dump($r, SERVER_ERROR); } @@ -165,7 +171,7 @@ #} return $r-status($old_status); } else { -$r-log_error($filename not found or unable to stat); +xlog_error($r, $filename not found or unable to stat); return NOT_FOUND unless $Debug $Debug 2; return Apache::Debug::dump($r, NOT_FOUND); } 1.2 +11 -2 modperl/t/net/perl/server_error.pl Index: server_error.pl === RCS file: /home/cvs/modperl/t/net/perl/server_error.pl,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- server_error.pl 19 Mar 1998 23:09:06 - 1.1 +++ server_error.pl 23 May 2002 04:21:07 - 1.2 @@ -2,9 +2,18 @@ $r-send_http_header(text/plain); -print ServerError:\n; +my $err = $@{$r-prev-uri}; -print $@{$r-prev-uri}; +my $note = $r-prev-notes('error-notes') || 'NONE'; + +print ServerError: $err\n; + +if ($note eq $err) { +print error-notes is also set; +} +else { +print error-notes is different: $note; +} print \n; print 'dump of %@:', \n;
cvs commit: modperl/src/modules/perl mod_perl.c mod_perl.h
dougm 02/05/22 21:35:16 Modified:src/modules/perl mod_perl.c mod_perl.h Log: fix fix to compile with ithreads Revision ChangesPath 1.145 +2 -2 modperl/src/modules/perl/mod_perl.c Index: mod_perl.c === RCS file: /home/cvs/modperl/src/modules/perl/mod_perl.c,v retrieving revision 1.144 retrieving revision 1.145 diff -u -r1.144 -r1.145 --- mod_perl.c23 May 2002 04:03:46 - 1.144 +++ mod_perl.c23 May 2002 04:35:16 - 1.145 -578,9 +578,9 perl_require_module(DynaLoader, NULL); } -static void mod_perl_xs_init(void) +static void mod_perl_xs_init(pTHX) { -xs_init(); +xs_init(aTHX); /* XXX: in 5.7.2+ we can call the body of mod_perl_boot here * but in 5.6.1 the Perl runtime is not properly setup yet 1.116 +2 -0 modperl/src/modules/perl/mod_perl.h Index: mod_perl.h === RCS file: /home/cvs/modperl/src/modules/perl/mod_perl.h,v retrieving revision 1.115 retrieving revision 1.116 diff -u -r1.115 -r1.116 --- mod_perl.h23 May 2002 04:03:46 - 1.115 +++ mod_perl.h23 May 2002 04:35:16 - 1.116 -168,6 +168,8 #ifndef PERL_IS_5_6 #define pTHX_ #define aTHXo_ +#define aTHX +#define pTHX #define CopFILEGV(cop) cop-cop_filegv #define CopLINE(cop) cop-cop_line #define CopLINE_set(c,l) (CopLINE(c) = (l))
cvs commit: modperl-2.0/lib/ModPerl BuildOptions.pm
dougm 02/05/21 09:48:29 Modified:lib/Apache Build.pm lib/ModPerl BuildOptions.pm Log: allow MP_AP_PREFIX to be a source tree directory Revision ChangesPath 1.87 +10 -9 modperl-2.0/lib/Apache/Build.pm Index: Build.pm === RCS file: /home/cvs/modperl-2.0/lib/Apache/Build.pm,v retrieving revision 1.86 retrieving revision 1.87 diff -u -r1.86 -r1.87 --- Build.pm 21 May 2002 16:19:51 - 1.86 +++ Build.pm 21 May 2002 16:48:29 - 1.87 -65,10 +65,6 return include/ directory not found in $prefix; } -if (-e $prefix/CHANGES) { -return $prefix is a build directory (need an install directory); -} - return ''; } -556,7 +552,7 return $self-{dir} if $self-{dir}; -if(IS_MOD_PERL_BUILD) { +if (IS_MOD_PERL_BUILD) { my $build = $self-build_config; if ($dir = $build-{'dir'}) { -566,6 +562,8 } } +$dir ||= $self-{MP_AP_PREFIX}; + # we not longer install Apache headers, so dont bother looking in INC # might end up finding 1.x headers anyhow #unless ($dir and -d $dir) { -1051,10 +1049,13 push inc, $self-mp_include_dir; -my $ainc = $self-apxs('-q' = 'INCLUDEDIR'); -if (-d $ainc) { -push inc, $ainc; -return \@inc; +my $prefix = $self-{MP_AP_PREFIX}; +if (-d $prefix and not -e $prefix/CHANGES) { +my $ainc = $self-apxs('-q' = 'INCLUDEDIR'); +if (-d $ainc) { +push inc, $ainc; +return \@inc; +} } for ($src/modules/perl, $src/include, 1.16 +1 -1 modperl-2.0/lib/ModPerl/BuildOptions.pm Index: BuildOptions.pm === RCS file: /home/cvs/modperl-2.0/lib/ModPerl/BuildOptions.pm,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- BuildOptions.pm 21 May 2002 16:19:51 - 1.15 +++ BuildOptions.pm 21 May 2002 16:48:29 - 1.16 -164,7 +164,7 OPTIONS_FILE Read options from given file STATIC_EXTS Build Apache::*.xs as static extensions APXSPath to apxs -AP_PREFIXApache installation prefix +AP_PREFIXApache installation or source tree prefix XS_GLUE_DIR Directories containing extension glue INCLUDE_DIR Add directories to search for header files GENERATE_XS Generate XS code based on httpd version
cvs commit: modperl-2.0/lib/Apache Build.pm
dougm 02/05/21 09:49:53 Modified:lib/Apache Build.pm Log: dont bother looking for the ssl includes, we dont use them Revision ChangesPath 1.88 +0 -7 modperl-2.0/lib/Apache/Build.pm Index: Build.pm === RCS file: /home/cvs/modperl-2.0/lib/Apache/Build.pm,v retrieving revision 1.87 retrieving revision 1.88 diff -u -r1.87 -r1.88 --- Build.pm 21 May 2002 16:48:29 - 1.87 +++ Build.pm 21 May 2002 16:49:53 - 1.88 -1066,13 +1066,6 push inc, $_ if -d $_; } -my $ssl_dir = $src/../ssl/include; -unless (-d $ssl_dir) { -my $build = $self-build_config; -$ssl_dir = join '/', $self-{MP_SSL_BASE} || '', 'include'; -} -push inc, $ssl_dir if -d $ssl_dir; - return \@inc; }
cvs commit: modperl-2.0/lib/Apache Build.pm
dougm 02/05/21 18:59:00 Modified:.Makefile.PL lib/Apache Build.pm Log: make it possible to change the name of src/modules/perl/Makefile in case static build requires a src/modules/perl/Makefile.in Revision ChangesPath 1.82 +12 -8 modperl-2.0/Makefile.PL Index: Makefile.PL === RCS file: /home/cvs/modperl-2.0/Makefile.PL,v retrieving revision 1.81 retrieving revision 1.82 diff -u -r1.81 -r1.82 --- Makefile.PL 21 May 2002 16:19:51 - 1.81 +++ Makefile.PL 22 May 2002 01:58:59 - 1.82 -23,6 +23,7 use File::Spec::Functions; use DirHandle (); use File::Copy 'cp'; +use File::Basename 'basename'; use Apache::Build (); use Apache::TestReportPerl (); -70,11 +71,14 VERSION = $VERSION, DIR = get_dirs_with_makefile(remote_makefile_dirs), macro = { -MODPERL_SRC = $code-path, -PERL = $build-perl_config('perlpath'), -MOD_INSTALL = ModPerl::MM::mod_install(), -APACHE_PREFIX = $build-apxs('-q' = 'prefix'), -APACHE_LIBDIR = $build-apxs('-q' = 'libexecdir'), +MODPERL_SRC = $code-path, +MODPERL_MAKEFILE = basename($build-default_file('makefile')), +MAKE_F = '$(MAKE) ' . (WIN32 ? '/f' : '-f'), +MODPERL_LIBMAKE = '$(MAKE) -f $(MODPERL_MAKEFILE)', +PERL = $build-perl_config('perlpath'), +MOD_INSTALL = ModPerl::MM::mod_install(), +APACHE_PREFIX= $build-apxs('-q' = 'prefix'), +APACHE_LIBDIR= $build-apxs('-q' = 'libexecdir'), }, clean = { FILES = { clean_files() }, -390,13 +394,13 $(SHELL) build/make_etags modperl_lib: - cd $(MODPERL_SRC) $(MAKE) + cd $(MODPERL_SRC) $(MODPERL_LIBMAKE) modperl_lib_install: - cd $(MODPERL_SRC) $(MAKE) install + cd $(MODPERL_SRC) $(MODPERL_LIBMAKE) install modperl_src_clean: - cd $(MODPERL_SRC) $(MAKE) clean + cd $(MODPERL_SRC) $(MODPERL_LIBMAKE) clean EOF 1.91 +6 -3 modperl-2.0/lib/Apache/Build.pm Index: Build.pm === RCS file: /home/cvs/modperl-2.0/lib/Apache/Build.pm,v retrieving revision 1.90 retrieving revision 1.91 diff -u -r1.90 -r1.91 --- Build.pm 21 May 2002 17:42:39 - 1.90 +++ Build.pm 22 May 2002 01:58:59 - 1.91 -9,6 +9,7 use Config; use Cwd (); use File::Spec (); +use File::Basename; use ExtUtils::Embed (); use ModPerl::Code (); use ModPerl::BuildOptions (); -450,7 +451,7 my %default_files = ( 'build_config' = 'lib/Apache/BuildConfig.pm', 'ldopts' = 'src/modules/perl/ldopts', -'makefile' = 'src/modules/perl/Makefile', +'makefile' = 'src/modules/perl/Makefile.modperl', ); sub clean_files { -908,6 +909,8 print $fh noedit_warning_hash(); +print $fh $self-canon_make_attr('makefile', basename $mf); + $self-make_tools($fh); print $fh $self-canon_make_attr('ap_libs', $self-apache_libs); -1006,8 +1009,8 $(MODPERL_CLEAN_FILES) \ $(MODPERL_XS_CLEAN_FILES) -$(MODPERL_OBJS): $(MODPERL_H_FILES) Makefile -$(MODPERL_PIC_OBJS): $(MODPERL_H_FILES) Makefile +$(MODPERL_OBJS): $(MODPERL_H_FILES) $(MODPERL_MAKEFILE) +$(MODPERL_PIC_OBJS): $(MODPERL_H_FILES) $(MODPERL_MAKEFILE) $(MODPERL_LIB): $(MODPERL_LIBPERL) $(MODPERL_LIBNAME)$(MODPERL_LIB_EXT): $(MODPERL_OBJS)
cvs commit: modperl-2.0/lib/Apache Build.pm
dougm 02/05/20 15:27:30 Modified:lib/Apache Build.pm Log: use Apache::TestConfig::which instead of duplicating Revision ChangesPath 1.85 +2 -7 modperl-2.0/lib/Apache/Build.pm Index: Build.pm === RCS file: /home/cvs/modperl-2.0/lib/Apache/Build.pm,v retrieving revision 1.84 retrieving revision 1.85 diff -u -r1.84 -r1.85 --- Build.pm 19 May 2002 19:46:08 - 1.84 +++ Build.pm 20 May 2002 22:27:30 - 1.85 -13,6 +13,7 use ModPerl::Code (); use ModPerl::BuildOptions (); use Apache::TestTrace; +use Apache::TestConfig (); use constant REQUIRE_ITHREADS = grep { $^O eq $_ } qw(MSWin32); use constant HAS_ITHREADS = -96,7 +97,7 #these extra tries are for things built outside of mod_perl #e.g. libapreq push trys, -which('apxs'), +Apache::TestConfig::which('apxs'), '/usr/local/apache/bin/apxs'; } -133,12 +134,6 my $cflags = __PACKAGE__-apxs('-q' = 'CFLAGS'); $cflags =~ s/\/\\\/g; $cflags; -} - -sub which { -foreach (map { File::Spec-catfile($_, $_[0]) } File::Spec-path) { - return $_ if -x; -} } #--- Perl Config stuff ---
cvs commit: modperl-2.0/xs/Apache/RequestRec Apache__RequestRec.h
dougm 02/05/20 17:07:01 Modified:xs/Apache/RequestRec Apache__RequestRec.h Log: include string terminator when calling ap_set_content_type Revision ChangesPath 1.2 +1 -1 modperl-2.0/xs/Apache/RequestRec/Apache__RequestRec.h Index: Apache__RequestRec.h === RCS file: /home/cvs/modperl-2.0/xs/Apache/RequestRec/Apache__RequestRec.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Apache__RequestRec.h 19 May 2002 20:09:27 - 1.1 +++ Apache__RequestRec.h 21 May 2002 00:07:00 - 1.2 -7,7 +7,7 if (type) { STRLEN len; const char *val = SvPV(type, len); -ap_set_content_type(r, apr_pmemdup(r-pool, val, len)); +ap_set_content_type(r, apr_pmemdup(r-pool, val, len+1)); } return retval;
cvs commit: modperl-2.0/t/response/TestModperl subenv.pm
dougm 02/05/20 19:50:39 Added: t/response/TestModperl subenv.pm Log: tests for $r-subprocess_env Revision ChangesPath 1.1 modperl-2.0/t/response/TestModperl/subenv.pm Index: subenv.pm === package TestModperl::subenv; use strict; use warnings FATAL = 'all'; use Apache::RequestRec (); use APR::Table (); use Apache::Test; use Apache::Const -compile = 'OK'; sub handler { my $r = shift; plan $r, tests = 16; my $env = $r-subprocess_env; ok $env; ok_false($r, 'REMOTE_ADDR'); $r-subprocess_env; #void context populates $env = $r-subprocess_env; #table may have been overlayed ok_true($r, 'REMOTE_ADDR'); $env-set(FOO = 1); ok_true($r, 'FOO'); $r-subprocess_env(FOO = undef); ok_false($r, 'FOO'); $r-subprocess_env(FOO = 1); ok_true($r, 'FOO'); Apache::OK; } sub ok_true { my($r, $key) = _; my $env = $r-subprocess_env; ok $env-get($key); ok $env-{$key}; ok $r-subprocess_env($key); } sub ok_false { my($r, $key) = _; my $env = $r-subprocess_env; ok ! $env-get($key); ok ! $env-{$key}; ok ! $r-subprocess_env($key); } 1; __END__ PerlOptions -SetupEnv
cvs commit: modperl-2.0/t/response/TestAPI module.pm
dougm 02/05/19 12:10:45 Modified:t/response/TestAPI module.pm Log: fix broken test #2 Revision ChangesPath 1.7 +2 -2 modperl-2.0/t/response/TestAPI/module.pm Index: module.pm === RCS file: /home/cvs/modperl-2.0/t/response/TestAPI/module.pm,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- module.pm 13 May 2002 18:19:28 - 1.6 +++ module.pm 19 May 2002 19:10:45 - 1.7 -24,8 +24,8 ok $top_module; -ok t_cmp($cfg-{httpd_info}-{MODULE_MAGIC_NUMBER}, - $top_module-version . ':0', +ok t_cmp($cfg-{httpd_info}-{MODULE_MAGIC_NUMBER_MAJOR}, + $top_module-version, q{$top_module-version}); ok t_cmp(scalar keys %{ $cfg-{modules} },
cvs commit: modperl-2.0/xs/Apache/RequestRec - New directory
dougm 02/05/19 13:08:46 modperl-2.0/xs/Apache/RequestRec - New directory
cvs commit: modperl-2.0/xs/Apache/RequestRec Apache__RequestRec.h
dougm 02/05/19 13:09:27 Added: xs/Apache/RequestRec Apache__RequestRec.h Log: wrapper for $r-content_type Revision ChangesPath 1.1 modperl-2.0/xs/Apache/RequestRec/Apache__RequestRec.h Index: Apache__RequestRec.h === static MP_INLINE const char *mpxs_Apache__RequestRec_content_type(pTHX_ request_rec *r, SV *type) { const char *retval = r-content_type; if (type) { STRLEN len; const char *val = SvPV(type, len); ap_set_content_type(r, apr_pmemdup(r-pool, val, len)); } return retval; }
cvs commit: modperl-2.0/xs/tables/current/ModPerl FunctionTable.pm
dougm 02/05/19 13:11:56 Modified:xs/maps apache_functions.map apache_structures.map modperl_functions.map xs/tables/current/ModPerl FunctionTable.pm Log: wrap $r-content_type(foo/bar) so ap_set_content_type is called underneath Revision ChangesPath 1.51 +1 -1 modperl-2.0/xs/maps/apache_functions.map Index: apache_functions.map === RCS file: /home/cvs/modperl-2.0/xs/maps/apache_functions.map,v retrieving revision 1.50 retrieving revision 1.51 diff -u -r1.50 -r1.51 --- apache_functions.map 19 May 2002 01:05:30 - 1.50 +++ apache_functions.map 19 May 2002 20:11:55 - 1.51 -49,7 +49,7 ap_rgetline_core ?ap_get_request_note ?ap_register_request_note - ap_set_content_type +~ap_set_content_type #MODULE=Apache::RequestConfig ap_document_root 1.15 +1 -1 modperl-2.0/xs/maps/apache_structures.map Index: apache_structures.map === RCS file: /home/cvs/modperl-2.0/xs/maps/apache_structures.map,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- apache_structures.map 19 May 2002 01:05:30 - 1.14 +++ apache_structures.map 19 May 2002 20:11:55 - 1.15 -40,7 +40,7 err_headers_out subprocess_env notes - content_type +~ content_type handler content_encoding content_languages 1.37 +3 -0 modperl-2.0/xs/maps/modperl_functions.map Index: modperl_functions.map === RCS file: /home/cvs/modperl-2.0/xs/maps/modperl_functions.map,v retrieving revision 1.36 retrieving revision 1.37 diff -u -r1.36 -r1.37 --- modperl_functions.map 10 May 2002 17:48:27 - 1.36 +++ modperl_functions.map 19 May 2002 20:11:55 - 1.37 -8,6 +8,9 mpxs_ModPerl__Global_special_list_call mpxs_ModPerl__Global_special_list_clear +MODULE=Apache::RequestRec PACKAGE=Apache::RequestRec + mpxs_Apache__RequestRec_content_type | | r, type=Nullsv + MODULE=Apache::RequestUtil PACKAGE=guess mpxs_Apache__RequestRec_push_handlers mpxs_Apache__RequestRec_set_handlers 1.64 +19 -1 modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm Index: FunctionTable.pm === RCS file: /home/cvs/modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm,v retrieving revision 1.63 retrieving revision 1.64 diff -u -r1.63 -r1.64 --- FunctionTable.pm 18 May 2002 23:56:54 - 1.63 +++ FunctionTable.pm 19 May 2002 20:11:55 - 1.64 -2,7 +2,7 # !! # ! WARNING: generated by ModPerl::ParseSource/0.01 -# ! Sat May 18 16:46:32 2002 +# ! Sun May 19 12:59:55 2002 # ! do NOT edit, any changes will be lost ! # !! -4366,6 +4366,24 { 'type' = 'request_rec *', 'name' = 'r' + } +] + }, + { +'return_type' = 'const char *', +'name' = 'mpxs_Apache__RequestRec_content_type', +'args' = [ + { +'type' = 'PerlInterpreter *', +'name' = 'my_perl' + }, + { +'type' = 'request_rec *', +'name' = 'r' + }, + { +'type' = 'SV *', +'name' = 'type' } ] },
cvs commit: modperl-2.0/xs/Apache/Response Apache__Response.h
dougm 02/05/19 16:01:12 Modified:xs/Apache/Response Apache__Response.h Log: use ap_set_content_type rather than directly setting r-content_type in $r-send_http_header Revision ChangesPath 1.7 +1 -1 modperl-2.0/xs/Apache/Response/Apache__Response.h Index: Apache__Response.h === RCS file: /home/cvs/modperl-2.0/xs/Apache/Response/Apache__Response.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- Apache__Response.h21 Jan 2002 08:27:30 - 1.6 +++ Apache__Response.h19 May 2002 23:01:12 - 1.7 -20,7 +20,7 MP_dRCFG; if (type) { -r-content_type = apr_pstrdup(r-pool, type); +ap_set_content_type(r, apr_pstrdup(r-pool, type)); } rcfg-wbucket-header_parse = 0; /* turn off PerlOptions +ParseHeaders */
cvs commit: modperl-2.0/xs/maps apache_functions.map apr_functions.map
dougm 02/05/19 16:59:52 Modified:xs/maps apache_functions.map apr_functions.map Log: misc api mapping changes: - swap internal_fast_redirect, ap_die args - alias sub_req_lookup_dirent to lookup_dirent, reorder/default args - disable ap_run_child_init, apr_gethostname, apr_base64_decode_len Revision ChangesPath 1.52 +4 -4 modperl-2.0/xs/maps/apache_functions.map Index: apache_functions.map === RCS file: /home/cvs/modperl-2.0/xs/maps/apache_functions.map,v retrieving revision 1.51 retrieving revision 1.52 diff -u -r1.51 -r1.52 --- apache_functions.map 19 May 2002 20:11:55 - 1.51 +++ apache_functions.map 19 May 2002 23:59:52 - 1.52 -81,8 +81,8 -ap_finalize_sub_req_protocol ap_internal_redirect | | r, new_uri ap_internal_redirect_handler | | r, new_uri - ap_internal_fast_redirect - ap_sub_req_lookup_dirent + ap_internal_fast_redirect| | r, sub_req + ap_sub_req_lookup_dirent | | r, finfo, subtype=AP_SUBREQ_NO_ARGS, next_filter=NULL | lookup_dirent subrequest_rec *:ap_sub_req_lookup_file | | \ r, new_file, next_filter=r-output_filters-next | lookup_file -436,7 +436,7 ap_run_open_logs ap_run_post_config ap_run_insert_filter - ap_run_child_init +ap_run_child_init ?ap_run_default_port ?ap_run_http_method ap_run_create_connection -460,7 +460,7 ap_run_pre_mpm !ap_run_quick_handler ap_invoke_handler - ap_die + ap_die | | r, type !MODULE=Apache::MD5 ap_md5 1.40 +2 -2 modperl-2.0/xs/maps/apr_functions.map Index: apr_functions.map === RCS file: /home/cvs/modperl-2.0/xs/maps/apr_functions.map,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- apr_functions.map 19 May 2002 01:05:30 - 1.39 +++ apr_functions.map 19 May 2002 23:59:52 - 1.40 -489,7 +489,7 apr_current_userid MODULE=APR::NetLib - apr_gethostname +-apr_gethostname apr_getnameinfo -apr_getservbyname apr_parse_addr_port -551,7 +551,7 apr_base64_decode | MPXS_ | coded_src apr_base64_encode | MPXS_ | plain_src apr_base64_encode_len - apr_base64_decode_len +-apr_base64_decode_len -apr_base64_encode_binary -apr_base64_decode_binary
cvs commit: modperl-2.0/src/modules/perl mod_perl.h modperl_cmd.c
dougm 02/05/18 19:26:11 Modified:src/modules/perl mod_perl.h modperl_cmd.c Log: fold some duplication in modperl_cmd_{set,add}_var Revision ChangesPath 1.42 +4 -0 modperl-2.0/src/modules/perl/mod_perl.h Index: mod_perl.h === RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.h,v retrieving revision 1.41 retrieving revision 1.42 diff -u -r1.41 -r1.42 --- mod_perl.h6 Apr 2002 17:42:10 - 1.41 +++ mod_perl.h19 May 2002 02:26:11 - 1.42 -62,4 +62,8 #define MgTypeExt(mg) (mg-mg_type == '~') +typedef void MP_FUNC_T(modperl_table_modify_t) (apr_table_t *, +const char *, +const char *); + #endif /* MOD_PERL_H */ 1.20 +19 -19modperl-2.0/src/modules/perl/modperl_cmd.c Index: modperl_cmd.c === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_cmd.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- modperl_cmd.c 19 May 2002 02:10:13 - 1.19 +++ modperl_cmd.c 19 May 2002 02:26:11 - 1.20 -60,38 +60,38 return NULL; } -MP_CMD_SRV_DECLARE2(set_var) +static MP_CMD_SRV_DECLARE2(handle_vars) { MP_dSCFG(parms-server); modperl_config_dir_t *dcfg = (modperl_config_dir_t *)mconfig; - -apr_table_set(dcfg-vars, arg1, arg2); -MP_TRACE_d(MP_FUNC, DIR: arg1 = %s, arg2 = %s\n, arg1, arg2); +const char *name = parms-cmd-name; + +modperl_table_modify_t func = +strEQ(name, PerlSetVar) ? apr_table_set : apr_table_add; + +func(dcfg-vars, arg1, arg2); + +MP_TRACE_d(MP_FUNC, %s DIR: arg1 = %s, arg2 = %s\n, + name, arg1, arg2); /* make available via Apache-server-dir_config */ if (!parms-path) { -apr_table_set(scfg-vars, arg1, arg2); -MP_TRACE_d(MP_FUNC, SRV: arg1 = %s, arg2 = %s\n, arg1, arg2); +func(scfg-vars, arg1, arg2); +MP_TRACE_d(MP_FUNC, %s SRV: arg1 = %s, arg2 = %s\n, + name, arg1, arg2); } return NULL; } -MP_CMD_SRV_DECLARE2(add_var) +MP_CMD_SRV_DECLARE2(set_var) { -MP_dSCFG(parms-server); -modperl_config_dir_t *dcfg = (modperl_config_dir_t *)mconfig; - -apr_table_add(dcfg-vars, arg1, arg2); -MP_TRACE_d(MP_FUNC, DIR: arg1 = %s, arg2 = %s\n, arg1, arg2); - -/* make available via Apache-server-dir_config */ -if (!parms-path) { -apr_table_add(scfg-vars, arg1, arg2); -MP_TRACE_d(MP_FUNC, SRV: arg1 = %s, arg2 = %s\n, arg1, arg2); -} +return modperl_cmd_handle_vars(parms, mconfig, arg1, arg2); +} -return NULL; +MP_CMD_SRV_DECLARE2(add_var) +{ +return modperl_cmd_handle_vars(parms, mconfig, arg1, arg2); } MP_CMD_SRV_DECLARE2(set_env)
cvs commit: modperl-2.0/t/response/TestModperl method.pm methodname.pm methodobj.pm
dougm 02/05/17 19:07:42 Added: t/response/TestModperl method.pm methodname.pm methodobj.pm Log: add some test for method handlers Revision ChangesPath 1.1 modperl-2.0/t/response/TestModperl/method.pm Index: method.pm === package TestModperl::method; use strict; use warnings FATAL = 'all'; use Apache::Test; use Apache::TestUtil; use Apache::Const -compile = 'OK'; sub handler : method { my($class, $r) = _; plan $r, tests = 3; ok t_cmp(2, scalar _, '_ == 2'); my $cmp_class = ref($class) || $class; ok t_cmp($cmp_class, $cmp_class, 'handler class'); ok t_cmp('/' . $cmp_class, $r-uri, '$r-uri eq __PACKAGE__'); Apache::OK; } 1; __END__ 1.1 modperl-2.0/t/response/TestModperl/methodname.pm Index: methodname.pm === package TestModperl::methodname; use strict; use warnings FATAL = 'all'; use Apache::Test; use Apache::TestUtil; use Apache::Const -compile = 'OK'; use TestModperl::method (); sub response : method { TestModperl::method::handler(_); } 1; __END__ PerlResponseHandler TestModperl::methodname-response 1.1 modperl-2.0/t/response/TestModperl/methodobj.pm Index: methodobj.pm === package TestModperl::methodobj; use strict; use warnings FATAL = 'all'; use Apache::Const -compile = 'OK'; use TestModperl::method (); our ISA = qw(TestModperl::method); 1; __END__ PerlResponseHandler $TestModperl::MethodObj-handler
cvs commit: modperl-2.0/t/conf modperl_extra.pl
dougm 02/05/17 19:08:21 Modified:t/conf modperl_extra.pl Log: add config for modperl/methodobj test Revision ChangesPath 1.14 +4 -0 modperl-2.0/t/conf/modperl_extra.pl Index: modperl_extra.pl === RCS file: /home/cvs/modperl-2.0/t/conf/modperl_extra.pl,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- modperl_extra.pl 6 Apr 2002 01:42:53 - 1.13 +++ modperl_extra.pl 18 May 2002 02:08:21 - 1.14 -22,6 +22,10 die '$ENV{MOD_PERL} not set!'; } +#see t/modperl/methodobj +use TestModperl::methodobj (); +$TestModperl::MethodObj = bless {}, 'TestModperl::methodobj'; + #see t/response/TestModperl/env.pm $ENV{MODPERL_EXTRA_PL} = __FILE__;
cvs commit: modperl-2.0/todo asap.txt
dougm 02/05/17 20:20:37 Removed: todo asap.txt Log: these are no longer issues and anything to be added here should be in a STATUS file
cvs commit: modperl/t/docs startup.pl
dougm 02/05/15 11:01:21 Modified:t/docs startup.pl Log: the easy fix for bleedperl taint issue: don't use ExtUtils::testlib we don't need it anyhow. Revision ChangesPath 1.43 +0 -3 modperl/t/docs/startup.pl Index: startup.pl === RCS file: /home/cvs/modperl/t/docs/startup.pl,v retrieving revision 1.42 retrieving revision 1.43 diff -u -r1.42 -r1.43 --- startup.pl6 Jul 2001 20:33:41 - 1.42 +++ startup.pl15 May 2002 18:01:21 - 1.43 -5,9 +5,6 } BEGIN { -#./blib/lib:./blib/arch -use ExtUtils::testlib; - use lib map { $Apache::Server::CWD/$_ } qw(t/docs blib/lib blib/arch); require blib.pl if -e ./t/docs/blib.pl; #Perl ignores w/ -T
cvs commit: modperl/src/modules/perl perl_util.c
dougm 02/05/14 19:08:16 Modified:src/modules/perl perl_util.c Log: reverting fix taint issue with bleedperl change as it was not the right fix Revision ChangesPath 1.49 +0 -1 modperl/src/modules/perl/perl_util.c Index: perl_util.c === RCS file: /home/cvs/modperl/src/modules/perl/perl_util.c,v retrieving revision 1.48 retrieving revision 1.49 diff -u -r1.48 -r1.49 --- perl_util.c 16 Apr 2002 02:32:22 - 1.48 +++ perl_util.c 15 May 2002 02:08:16 - 1.49 -503,7 +503,6 SvREFCNT_dec(HeVAL(entry)); HeVAL(entry) = sv_undef; MP_TRACE_g(fprintf(stderr, reloading %s\n, HeKEY(entry))); - TAINT_NOT; perl_require_pv(HeKEY(entry)); } SvREFCNT_dec(keysv);
cvs commit: modperl/src/modules/perl perl_util.c
dougm 02/04/15 19:32:22 Modified:src/modules/perl perl_util.c Log: fix taint issue with bleedperl Revision ChangesPath 1.48 +1 -0 modperl/src/modules/perl/perl_util.c Index: perl_util.c === RCS file: /home/cvs/modperl/src/modules/perl/perl_util.c,v retrieving revision 1.47 retrieving revision 1.48 diff -u -r1.47 -r1.48 --- perl_util.c 24 Mar 2002 23:01:33 - 1.47 +++ perl_util.c 16 Apr 2002 02:32:22 - 1.48 -503,6 +503,7 SvREFCNT_dec(HeVAL(entry)); HeVAL(entry) = sv_undef; MP_TRACE_g(fprintf(stderr, reloading %s\n, HeKEY(entry))); + TAINT_NOT; perl_require_pv(HeKEY(entry)); } SvREFCNT_dec(keysv);
Re: [Fwd: Re: How to reload PERL module in all Apache children]
if you use Apache::Reload with a threaded MPM and multiple interpreters, the modules will be reloaded by each interpreter as they are used, not every interpreter all at once. similar to 1.x where each child has its own interpreter, the modules are reloaded as each kid is hit with a request. note that if a module is loaded at startup, the syntax tree of each subroutine is shared between interpreters (big win), but each subroutine has its own padlist (where lexical my variables are stored). once Apache::Reload reloads a module, this sharing goes away and each interpreter will have its own copy of the syntax tree for the given subroutines.
Re: [Fwd: Re: How to reload PERL module in all Apache children]
On Fri, 12 Apr 2002, Stas Bekman wrote: But if talk about futuristic Solar variables (perl globals shared between threads). what if a solar variable is a reference to CODE? Can this be shared? If so, will reloading this variable in one interpreter affect others? even if that would work, it would kill performance due to required mutex locking. and that locking would need to happen in the perl core, unlike simple scalars, arrays and hashes. Also if we put the sharing aside for a moment and assuming that we have a pool of interpreters with idle interpreters in it, there can be a thread that monitors changed modules and update the idle interpreters by making them reload the code and put them in the head of the list. This should save the overhead of reloading during a request. Does this make sense? there already is a plan to have a low-priority thread that monitors idle interpreters. this would be a pluggable interface, so you can do whatever you want with the interpreter via callback hooks. but that'll all wait until well after everything else is solid with ithreads, including and most important: perl 5.8.x
Re: [Fwd: Re: How to reload PERL module in all Apache children]
On Thu, 11 Apr 2002, Perrin Harkins wrote: Does it look you'll be able to get the solar variables idea to work for those data types? i had a simple prototype way back that sorta worked for simple scalars, probably won't take it any further now that there is threads::shared in 5.7.x. haven't tried it but i believe the concept is the same.
cvs commit: modperl-2.0/xs typemap
dougm 02/04/09 13:19:25 Modified:xs typemap Log: override T_PTROBJ INPUT typemap to croak if object is not a blessed reference, to prevent possible segv from e.g. Apache::Server-process Revision ChangesPath 1.6 +11 -0 modperl-2.0/xs/typemap Index: typemap === RCS file: /home/cvs/modperl-2.0/xs/typemap,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- typemap 25 Sep 2001 19:44:03 - 1.5 +++ typemap 9 Apr 2002 20:19:25 - 1.6 -19,6 +19,17 ## INPUT +T_PTROBJ + if (SvROK($arg) sv_derived_from($arg, \${ntype}\)) { + IV tmp = SvIV((SV*)SvRV($arg)); + $var = INT2PTR($type,tmp); + } + else { + Perl_croak(aTHX_ SvROK($arg) ? + \$var is not of type ${ntype}\ : + \$var is not a blessed reference\); +} + T_APACHEOBJ $var = modperl_xs_sv2request_rec(aTHX_ $arg, \$ntype\, cv)
cvs commit: modperl-2.0/t/modules include.t
dougm 02/04/08 18:00:52 Modified:.Changes src/modules/perl mod_perl.c modperl_global.c t/htdocs/includes test.shtml t/modules include.t Added: t/htdocs/includes-registry cgipm.pl Log: fix 'PerlOptions +GlobalRequest' when used within subrequests Revision ChangesPath 1.6 +2 -0 modperl-2.0/Changes Index: Changes === RCS file: /home/cvs/modperl-2.0/Changes,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- Changes 7 Apr 2002 22:47:31 - 1.5 +++ Changes 9 Apr 2002 01:00:51 - 1.6 -1,5 +1,7 =item 1.99_02-dev +fix 'PerlOptions +GlobalRequest' when used within subrequests [dougm] + get rid of some subroutine redefined warnings in ModPerl::MM that show up with newer bleedperls. [dougm] 1.113 +6 -0 modperl-2.0/src/modules/perl/mod_perl.c Index: mod_perl.c === RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.c,v retrieving revision 1.112 retrieving revision 1.113 diff -u -r1.112 -r1.113 --- mod_perl.c6 Apr 2002 17:42:10 - 1.112 +++ mod_perl.c9 Apr 2002 01:00:51 - 1.113 -673,6 +673,12 return DECLINED; } +/* + * need to do this incase we are inside a subrequest, + * since header_parser hook is not run in subrequests. + */ +modperl_global_request_cfg_set(r); + #ifdef USE_ITHREADS interp = modperl_interp_select(r, r-connection, r-server); aTHX = interp-perl; 1.5 +5 -8 modperl-2.0/src/modules/perl/modperl_global.c Index: modperl_global.c === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_global.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- modperl_global.c 5 Dec 2001 19:00:29 - 1.4 +++ modperl_global.c 9 Apr 2002 01:00:52 - 1.5 -15,19 +15,16 void modperl_global_request_set(request_rec *r) { MP_dRCFG; +request_rec *old_r = NULL; + +/* reset old value, important for subrequests */ +(void)modperl_tls_get_request_rec(old_r); +modperl_tls_reset_cleanup_request_rec(r-pool, old_r); modperl_tls_set_request_rec(r); /* so 'PerlOptions +GlobalRequest' doesnt wipe us out */ MpReqSET_GLOBAL_REQUEST_On(rcfg); - -if (r-main) { -/* reset after subrequests */ -modperl_tls_reset_cleanup_request_rec(r-pool, r-main); -} -else { -modperl_tls_reset_cleanup_request_rec(r-pool, NULL); -} } void modperl_global_request_obj_set(pTHX_ SV *svr) 1.2 +2 -0 modperl-2.0/t/htdocs/includes/test.shtml Index: test.shtml === RCS file: /home/cvs/modperl-2.0/t/htdocs/includes/test.shtml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- test.shtml26 Feb 2002 19:10:04 - 1.1 +++ test.shtml9 Apr 2002 01:00:52 - 1.2 -2,6 +2,8 !--#include virtual=/includes-registry/test.pl -- +!--#include virtual=/includes-registry/cgipm.pl -- + p align=right[a href=../index.htmlback/a]/p !--#include virtual=/includes/footer.shtml -- 1.1 modperl-2.0/t/htdocs/includes-registry/cgipm.pl Index: cgipm.pl === use CGI (); my $cgi = CGI-new; print $cgi-header; print cgi.pm\n; __END__ 1.2 +1 -0 modperl-2.0/t/modules/include.t Index: include.t === RCS file: /home/cvs/modperl-2.0/t/modules/include.t,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- include.t 26 Feb 2002 19:13:44 - 1.1 +++ include.t 9 Apr 2002 01:00:52 - 1.2 -9,6 +9,7 my patterns = ( 'mod_perl mod_include test', 'Hello World', +'cgi.pm', 'footer', );
cvs commit: modperl-2.0 Changes
dougm 02/04/08 19:59:19 Modified:src/modules/perl modperl_util.c .Changes Log: fix ModPerl::Util::exit to clear $ before calling Perl_croak Revision ChangesPath 1.38 +1 -0 modperl-2.0/src/modules/perl/modperl_util.c Index: modperl_util.c === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_util.c,v retrieving revision 1.37 retrieving revision 1.38 diff -u -r1.37 -r1.38 --- modperl_util.c29 Jan 2002 09:50:39 - 1.37 +++ modperl_util.c9 Apr 2002 02:59:19 - 1.38 -517,6 +517,7 ENTER; SAVESPTR(PL_diehook); PL_diehook = Nullsv; +sv_setpv(ERRSV, ); Perl_croak(aTHX_ NULL); } 1.7 +2 -0 modperl-2.0/Changes Index: Changes === RCS file: /home/cvs/modperl-2.0/Changes,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- Changes 9 Apr 2002 01:00:51 - 1.6 +++ Changes 9 Apr 2002 02:59:19 - 1.7 -1,5 +1,7 =item 1.99_02-dev +fix ModPerl::Util::exit to clear $ before calling Perl_croak [dougm] + fix 'PerlOptions +GlobalRequest' when used within subrequests [dougm] get rid of some subroutine redefined warnings in ModPerl::MM that
cvs commit: modperl-2.0/t/response/TestApache compat2.pm
dougm 02/04/07 14:41:33 Modified:t/response/TestApache compat2.pm Log: needs adjustment after fix to Apache::compat Revision ChangesPath 1.4 +1 -1 modperl-2.0/t/response/TestApache/compat2.pm Index: compat2.pm === RCS file: /home/cvs/modperl-2.0/t/response/TestApache/compat2.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- compat2.pm7 Apr 2002 01:25:14 - 1.3 +++ compat2.pm7 Apr 2002 21:41:33 - 1.4 -18,7 +18,7 42 =1k, 42_000 = 41k, 42_000_000 = 40.1M, -42_000_000_000 = 40054.3M, +42_000_000_000 = 40054M, ); sub handler {
cvs commit: modperl-2.0/t/response/TestApache compat2.pm
dougm 02/04/06 17:25:14 Modified:t/response/TestApache compat2.pm Log: get rid of annoying unexpectedly succeeded messages: apache/compat2..ok, 1/34 unexpectedly succeeded All tests successful (1 subtest UNEXPECTEDLY SUCCEEDED). Revision ChangesPath 1.3 +5 -5 modperl-2.0/t/response/TestApache/compat2.pm Index: compat2.pm === RCS file: /home/cvs/modperl-2.0/t/response/TestApache/compat2.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- compat2.pm29 Jan 2002 07:55:56 - 1.2 +++ compat2.pm7 Apr 2002 01:25:14 - 1.3 -24,7 +24,7 sub handler { my $r = shift; -plan $r, tests = 34, todo = [23]; +plan $r, tests = 33; $r-send_http_header('text/plain'); -152,11 +152,11 $r-headers_out-{Content-length}, \$r-set_content_length($csize) w/ setting explicit size); -$r-set_content_length(); +#$r-set_content_length(); # TODO -ok t_cmp(0, # XXX: $r-finfo-csize is not available yet - $r-headers_out-{Content-length}, - \$r-set_content_length() w/o setting explicit size); +#ok t_cmp(0, # XXX: $r-finfo-csize is not available yet +# $r-headers_out-{Content-length}, +# \$r-set_content_length() w/o setting explicit size); # XXX: how to test etag? t_debug \$r-set_etag;
cvs commit: modperl-2.0/examples/lib/Apache HelloWorld.pm
dougm 02/04/06 20:05:07 Modified:examples/lib/Apache HelloWorld.pm Log: fix example, add more config Revision ChangesPath 1.4 +10 -3 modperl-2.0/examples/lib/Apache/HelloWorld.pm Index: HelloWorld.pm === RCS file: /home/cvs/modperl-2.0/examples/lib/Apache/HelloWorld.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- HelloWorld.pm 6 Apr 2002 03:18:22 - 1.3 +++ HelloWorld.pm 7 Apr 2002 04:05:07 - 1.4 -1,8 +1,15 package Apache::HelloWorld; +#LoadModule perl_module modules/mod_perl.so +#PerlSwitches -Mlib=modperl-2.0/examples/lib + +##optional +#PerlModule Apache2 +#PerlModule Apache::compat + #Location /hello-world -# SetHandler modperl -# PerlResponseHandler Apache::HelloWorld +#SetHandler modperl +#PerlResponseHandler Apache::HelloWorld #/Location use strict; -19,7 +26,7 $r-puts(__PACKAGE__); #print not yet implemented -return OK; +return Apache::OK; } 1;
cvs commit: modperl-2.0 Changes
dougm 02/04/06 20:39:10 Modified:.Changes Log: here goes nuthin Revision ChangesPath 1.2 +3 -1 modperl-2.0/Changes Index: Changes === RCS file: /home/cvs/modperl-2.0/Changes,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Changes 13 Apr 2000 07:03:35 - 1.1 +++ Changes 7 Apr 2002 04:39:09 - 1.2 -1 +1,3 -=item 1.99_01-dev \ No newline at end of file +=item 1.99_01 - April 6, 2002 + +First public release of mod_perl-2.0-tobe.
cvs commit: modperl-2.0/src/modules/perl mod_perl.c
dougm 02/04/05 17:23:17 Modified:src/modules/perl mod_perl.c Log: use AP_FTYPE_RESOURCE rather than AP_FTYPE_CONTENT_SET Revision ChangesPath 1.111 +2 -2 modperl-2.0/src/modules/perl/mod_perl.c Index: mod_perl.c === RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.c,v retrieving revision 1.110 retrieving revision 1.111 diff -u -r1.110 -r1.111 --- mod_perl.c6 Apr 2002 01:19:15 - 1.110 +++ mod_perl.c6 Apr 2002 01:23:17 - 1.111 -504,11 +504,11 ap_register_output_filter(MP_FILTER_REQUEST_OUTPUT_NAME, modperl_output_filter_handler, - AP_FTYPE_CONTENT_SET); + AP_FTYPE_RESOURCE); ap_register_input_filter(MP_FILTER_REQUEST_INPUT_NAME, modperl_input_filter_handler, - AP_FTYPE_CONTENT_SET); + AP_FTYPE_RESOURCE); ap_register_output_filter(MP_FILTER_CONNECTION_OUTPUT_NAME, modperl_output_filter_handler,
cvs commit: modperl-2.0/t/response/TestDirective perlrequire.pm
dougm 02/04/05 17:42:53 Modified:lib .cvsignore lib/ModPerl Code.pm t/conf modperl_extra.pl t/response/TestDirective perlrequire.pm Added: lib Apache2.pm Log: no longer generate Apache2.pm add an Apache2.pm that scans INC for Apache2/ directories rather than hardcode paths as the old generated one did. use Apache2 (); in the tests so t/TEST can run when built with MP_INST_APACHE2=1 Revision ChangesPath 1.2 +1 -1 modperl-2.0/lib/.cvsignore Index: .cvsignore === RCS file: /home/cvs/modperl-2.0/lib/.cvsignore,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- .cvsignore30 Apr 2000 03:34:00 - 1.1 +++ .cvsignore6 Apr 2002 01:42:52 - 1.2 -1 +1 -Apache2.pm + 1.1 modperl-2.0/lib/Apache2.pm Index: Apache2.pm === package Apache2; BEGIN { my dirs = (); for my $path (INC) { my $dir = $path/Apache2; next unless -d $dir; push dirs, $dir; } if (dirs) { unshift INC, dirs; } } 1; 1.76 +0 -29 modperl-2.0/lib/ModPerl/Code.pm Index: Code.pm === RCS file: /home/cvs/modperl-2.0/lib/ModPerl/Code.pm,v retrieving revision 1.75 retrieving revision 1.76 diff -u -r1.75 -r1.76 --- Code.pm 21 Feb 2002 01:45:34 - 1.75 +++ Code.pm 6 Apr 2002 01:42:53 - 1.76 -681,35 +681,6 #create bootstrap method for static xs modules my $static_xs = [keys %{ $build-{XS} }]; ExtUtils::Embed::xsinit($xsinit, 1, $static_xs); - -warn generating..., $self-generate_apache2_pm, \n; -} - -sub generate_apache2_pm { -my $self = shift; - -my $lib = $self-perl_config('installsitelib'); -my $arch = $self-perl_config('installsitearch'); -my $file = $self-default_file('apache2_pm'); - -open my $fh, '', $file or die open $file: $!; - -my $package = 'package Apache2'; - -print $fh noedit_warning_hash(); - -print $fh EOF; -$package; - -use lib qw($lib/Apache2 - $arch/Apache2); - -1; - -EOF -close $fh; - -$file; } my $constant_prefixes = join '|', qw{APR?}; 1.13 +2 -0 modperl-2.0/t/conf/modperl_extra.pl Index: modperl_extra.pl === RCS file: /home/cvs/modperl-2.0/t/conf/modperl_extra.pl,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- modperl_extra.pl 8 Jan 2002 22:46:08 - 1.12 +++ modperl_extra.pl 6 Apr 2002 01:42:53 - 1.13 -1,3 +1,5 +use Apache2 (); + use ModPerl::Util (); #for CORE::GLOBAL::exit use Apache::RequestRec (); 1.6 +1 -0 modperl-2.0/t/response/TestDirective/perlrequire.pm Index: perlrequire.pm === RCS file: /home/cvs/modperl-2.0/t/response/TestDirective/perlrequire.pm,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- perlrequire.pm18 Jan 2002 06:57:32 - 1.5 +++ perlrequire.pm6 Apr 2002 01:42:53 - 1.6 -9,6 +9,7 use strict; use warnings FATAL = 'all'; +use Apache2 (); use Apache::Test (); use Apache::Const -compile = 'OK'; use File::Spec::Functions qw(catfile);
cvs commit: modperl-2.0 .cvsignore Makefile.PL
dougm 02/04/05 20:01:56 Modified:..cvsignore Makefile.PL Log: generate MANIFEST during make dist Revision ChangesPath 1.6 +1 -0 modperl-2.0/.cvsignore Index: .cvsignore === RCS file: /home/cvs/modperl-2.0/.cvsignore,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- .cvsignore6 Mar 2002 05:24:57 - 1.5 +++ .cvsignore6 Apr 2002 04:01:56 - 1.6 -5,3 +5,4 scraps diff.txt smoke-report-*.txt +MANIFEST 1.61 +17 -2 modperl-2.0/Makefile.PL Index: Makefile.PL === RCS file: /home/cvs/modperl-2.0/Makefile.PL,v retrieving revision 1.60 retrieving revision 1.61 diff -u -r1.60 -r1.61 --- Makefile.PL 6 Apr 2002 02:12:14 - 1.60 +++ Makefile.PL 6 Apr 2002 04:01:56 - 1.61 -71,6 +71,9 clean = { FILES = { clean_files() }, }, +dist = { +DIST_DEFAULT = 'mydist', +}, ); post_configure(); -209,7 +212,8 return [@{ $build-clean_files }, xs/*.exp, xs/*.def, - map { $path/$_} { $code-clean_files }]; +qw(MANIFEST), +map { $path/$_} { $code-clean_files }]; } sub set_modperl_version { -358,7 +362,9 } sub MY::postamble { -''; +return EOF; +mydist : manifest tardist +EOF } sub MY::tool_autosplit { -389,4 +395,13 \t.'PERL=$(PERL)\\', \t.'DEFINE=$(DEFINE)', ; +} + +sub MY::dist_basics { +my $self = shift; +my $str = $self-MM::dist_basics; + +$str =~ s/-MExtUtils(::Manifest=mkmanifest)/-Ilib -MModPerl$1/; + +$str; }
cvs commit: modperl-2.0/xs/tables/current/ModPerl FunctionTable.pm
dougm 02/03/29 08:16:21 Modified:xs/tables/current/Apache ConstantsTable.pm FunctionTable.pm StructureTable.pm xs/tables/current/ModPerl FunctionTable.pm Log: sync Revision ChangesPath 1.23 +12 -1 modperl-2.0/xs/tables/current/Apache/ConstantsTable.pm Index: ConstantsTable.pm === RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/ConstantsTable.pm,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- ConstantsTable.pm 10 Mar 2002 00:17:05 - 1.22 +++ ConstantsTable.pm 29 Mar 2002 16:16:20 - 1.23 -2,7 +2,7 # !! # ! WARNING: generated by Apache::ParseSource/0.02 -# ! Sat Mar 9 16:13:55 2002 +# ! Fri Mar 29 06:55:58 2002 # ! do NOT edit, any changes will be lost ! # !! -59,6 +59,17 'M_MOVE', 'M_LOCK', 'M_UNLOCK', + 'M_VERSION_CONTROL', + 'M_CHECKOUT', + 'M_UNCHECKOUT', + 'M_CHECKIN', + 'M_UPDATE', + 'M_LABEL', + 'M_REPORT', + 'M_MKWORKSPACE', + 'M_MKACTIVITY', + 'M_BASELINE_CONTROL', + 'M_MERGE', 'M_INVALID', 'METHODS' ], 1.35 +301 -43 modperl-2.0/xs/tables/current/Apache/FunctionTable.pm Index: FunctionTable.pm === RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/FunctionTable.pm,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- FunctionTable.pm 10 Mar 2002 00:17:05 - 1.34 +++ FunctionTable.pm 29 Mar 2002 16:16:20 - 1.35 -2,7 +2,7 # !! # ! WARNING: generated by Apache::ParseSource/0.02 -# ! Sat Mar 9 16:14:02 2002 +# ! Fri Mar 29 06:55:29 2002 # ! do NOT edit, any changes will be lost ! # !! -195,6 +195,16 }, { 'return_type' = 'void', +'name' = 'ap_add_output_filters_by_type', +'args' = [ + { +'type' = 'request_rec *', +'name' = 'r' + } +] + }, + { +'return_type' = 'void', 'name' = 'ap_add_per_dir_conf', 'args' = [ { -340,6 +350,10 { 'type' = 'apr_pool_t *', 'name' = 'p' + }, + { +'type' = 'apr_bucket_alloc_t *', +'name' = 'list' } ] }, -2964,6 +2978,10 'name' = 'ap_method_name_of', 'args' = [ { +'type' = 'apr_pool_t *', +'name' = 'p' + }, + { 'type' = 'int', 'name' = 'methnum' } -3620,6 +3638,20 ] }, { +'return_type' = 'apr_status_t', +'name' = 'ap_recent_ctime', +'args' = [ + { +'type' = 'char *', +'name' = 'date_str' + }, + { +'type' = 'apr_time_t', +'name' = 't' + } +] + }, + { 'return_type' = 'void', 'name' = 'ap_reclaim_child_processes', 'args' = [ -3854,7 +3886,7 }, { 'return_type' = 'apr_status_t', -'name' = 'ap_rgetline', +'name' = 'ap_rgetline_core', 'args' = [ { 'type' = 'char **', -4005,6 +4037,10 { 'type' = 'void *', 'name' = 'sbh' + }, + { +'type' = 'apr_bucket_alloc_t *', +'name' = 'alloc' } ] }, -4286,6 +4322,10 { 'type' = 'request_rec *', 'name' = 'r' + }, + { +'type' = 'int', +'name' = 'lookup_uri' } ] }, -4413,6 +4453,24 }, { 'return_type' = 'int', +'name' = 'ap_scan_script_header_err_brigade', +'args' = [ + { +'type' = 'request_rec *', +'name' = 'r' + }, + { +'type' = 'apr_bucket_brigade *', +'name' = 'bb' + }, + { +'type' = 'char *', +'name' = 'buffer' + } +] + }, + { +'return_type' = 'int', 'name' = 'ap_scan_script_header_err_core', 'args' = [ { -4570,6 +4628,20 ] }, { +'return_type' = 'void', +'name' = 'ap_set_content_type', +'args' = [ + { +'type' = 'request_rec *', +'name' = 'r' + }, + { +'type' = 'const char *', +'name' = 'ct' + } +] + }, + { 'return_type' = 'const char *', 'name' = 'ap_set_deprecated', 'args' = [ -5276,6
cvs commit: modperl-2.0/xs/maps apache_functions.map
dougm 02/03/28 16:52:44 Modified:xs/maps apache_functions.map Log: fix to build against current httpd-2.0 Revision ChangesPath 1.46 +2 -2 modperl-2.0/xs/maps/apache_functions.map Index: apache_functions.map === RCS file: /home/cvs/modperl-2.0/xs/maps/apache_functions.map,v retrieving revision 1.45 retrieving revision 1.46 diff -u -r1.45 -r1.46 --- apache_functions.map 10 Mar 2002 00:14:23 - 1.45 +++ apache_functions.map 29 Mar 2002 00:52:44 - 1.46 -359,7 +359,7 ap_hook_process_connection ap_hook_translate_name ap_hook_type_checker - ap_hook_quick_handler +!ap_hook_quick_handler ap_hook_map_to_storage ap_hook_create_request ap_hook_error_log -422,7 +422,7 ap_run_get_mgmt_items ap_run_map_to_storage ap_run_pre_mpm - ap_run_quick_handler +!ap_run_quick_handler ap_invoke_handler ap_die
cvs commit: modperl/t/net/perl util.pl
dougm 02/03/26 06:52:28 Modified:.Changes t/net/perl util.pl Log: Submitted by: Tatsuhiko Miyagawa Reviewed by: dougm fix bug in modules/util test Revision ChangesPath 1.640 +3 -0 modperl/Changes Index: Changes === RCS file: /home/cvs/modperl/Changes,v retrieving revision 1.639 retrieving revision 1.640 diff -u -r1.639 -r1.640 --- Changes 25 Mar 2002 18:45:23 - 1.639 +++ Changes 26 Mar 2002 14:52:28 - 1.640 @@ -10,6 +10,9 @@ =item 1.26_01-dev +fix bug in modules/util test +[Tatsuhiko Miyagawa [EMAIL PROTECTED]] + Adjust the mailling list addresses 's|\@apache\.org|\@perl.apache.org|' [Stas Bekman [EMAIL PROTECTED]] 1.14 +1 -1 modperl/t/net/perl/util.pl Index: util.pl === RCS file: /home/cvs/modperl/t/net/perl/util.pl,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- util.pl 25 Mar 2002 18:45:23 - 1.13 +++ util.pl 26 Mar 2002 14:52:28 - 1.14 @@ -152,7 +152,7 @@ Perl: 21 secs (20.57 usr 0.14 sys = 20.71 cpu) =cut -my $date_str = Sat, 18 Jul 1998 08:38:00 -0700; +my $date_str = Sat, 18 Jul 1998 08:38:00 GMT; test ++$i, Apache::Util::parsedate($date_str);
cvs commit: modperl/Util Util.pm
dougm 02/03/26 06:56:15 Modified:Util Util.pm Log: Submitted by: Eric Cholet, Robin Berjon Reviewed by: dougm doc: Apache::Util::escape_html is only meant to escape US-ASCII text Revision ChangesPath 1.9 +4 -0 modperl/Util/Util.pm Index: Util.pm === RCS file: /home/cvs/modperl/Util/Util.pm,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- Util.pm 4 Mar 2000 20:55:47 - 1.8 +++ Util.pm 26 Mar 2002 14:56:15 - 1.9 -68,6 +68,10 my $esc = Apache::Util::escape_html($html); +This function will correctly escape US-ASCII output. If you are using +a different character set such as UTF8, or need more control on +the escaping process, use HTML::Entities. + =item escape_uri This function replaces all unsafe characters in the $string with their
cvs commit: modperl-2.0/xs/Apache/Log Apache__Log.h
dougm 02/03/25 19:37:47 Modified:xs/Apache/Log Apache__Log.h Log: workaround win32/5.6.1 bug which crashes when using PL_sv_no with do_join Revision ChangesPath 1.9 +24 -6 modperl-2.0/xs/Apache/Log/Apache__Log.h Index: Apache__Log.h === RCS file: /home/cvs/modperl-2.0/xs/Apache/Log/Apache__Log.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- Apache__Log.h 4 May 2001 06:31:37 - 1.8 +++ Apache__Log.h 26 Mar 2002 03:37:47 - 1.9 -102,6 +102,27 #define mpxs_Apache__Server_log(sv) \ mpxs_Apache__Log_log(aTHX_ sv, MP_LOG_SERVER) +static MP_INLINE SV *modperl_perl_do_join(pTHX_ SV **mark, SV **sp) +{ +SV *sv = newSV(0); +SV *delim; +#ifdef WIN32 +/* XXX: using PL_sv_no crashes on win32 with 5.6.1 */ +delim = newSVpv(, 0); +#else +delim = SvREFCNT_inc(PL_sv_no); +#endif + +do_join(sv, delim, mark, sp); + +SvREFCNT_dec(delim); + +return sv; +} + +#define my_do_join(m, s) \ + modperl_perl_do_join(aTHX_ (m), (s)) + static XS(MPXS_Apache__Log_dispatch) { dXSARGS; -115,8 +136,7 } if (items 2) { -msgsv = newSV(0); -do_join(msgsv, PL_sv_no, MARK+1, SP); +msgsv = my_do_join(MARK+1, SP); } else { msgsv = ST(1); -213,8 +233,7 status = (apr_status_t)SvIV(ST(4)); if (items 6) { -msgsv = newSV(0); -do_join(msgsv, PL_sv_no, MARK+5, SP); +msgsv = my_do_join(MARK+5, SP); } else { msgsv = ST(5); -279,8 +298,7 } if (items 1+i) { -sv = newSV(0); -do_join(sv, PL_sv_no, MARK+i, SP); /* $sv = join '', _[1..$#_] */ +sv = my_do_join(MARK+i, SP); /* $sv = join '', _[1..$#_] */ errstr = SvPV(sv,n_a); } else {
cvs commit: modperl/t/net/perl util.pl
dougm 02/03/25 10:45:23 Modified:.Changes src/modules/perl Util.xs t/net/perl util.pl Log: backing out change: properly escape highbit chars in Apache::Utils::escape_html Revision ChangesPath 1.639 +0 -4 modperl/Changes Index: Changes === RCS file: /home/cvs/modperl/Changes,v retrieving revision 1.638 retrieving revision 1.639 diff -u -r1.638 -r1.639 --- Changes 25 Mar 2002 02:57:59 - 1.638 +++ Changes 25 Mar 2002 18:45:23 - 1.639 @@ -26,10 +26,6 @@ properly deal with $r-status codes (e.g. redirect) in Apache::RegistryNG [Geoff Young [EMAIL PROTECTED]] -properly escape highbit chars in Apache::Utils::escape_html -[Geoff Young [EMAIL PROTECTED], -Robin Berjon [EMAIL PROTECTED]] - allow $r-auth_name and $r-auth_type to be set on win32 [John Kelly [EMAIL PROTECTED]] 1.11 +1 -8 modperl/src/modules/perl/Util.xs Index: Util.xs === RCS file: /home/cvs/modperl/src/modules/perl/Util.xs,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- Util.xs 24 Mar 2002 21:57:53 - 1.10 +++ Util.xs 25 Mar 2002 18:45:23 - 1.11 @@ -32,9 +32,6 @@ return sv; } -#define IS_HIGHBIT_CHAR(b) \ - ( (((unsigned char)(b)) 126) (((unsigned char)(b)) = 255) ) - static SV *my_escape_html(char *s) { int i, j; @@ -46,7 +43,7 @@ j += 3; else if (s[i] == '') j += 4; -else if (s[i] == '' || IS_HIGHBIT_CHAR(s[i])) +else if (s[i] == '') j += 5; if (j == 0) @@ -70,10 +67,6 @@ memcpy(SvPVX(x)[j], quot;, 6); j += 5; } -else if (IS_HIGHBIT_CHAR(s[i])) { -sprintf(SvPVX(x)[j], #%d;, (unsigned char)s[i]); -j += 5; -} else SvPVX(x)[j] = s[i]; 1.13 +1 -5 modperl/t/net/perl/util.pl Index: util.pl === RCS file: /home/cvs/modperl/t/net/perl/util.pl,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- util.pl 24 Mar 2002 21:57:53 - 1.12 +++ util.pl 25 Mar 2002 18:45:23 - 1.13 @@ -2,7 +2,7 @@ use Apache::test; $|++; my $i = 0; -my $tests = 8; +my $tests = 7; my $r = shift; $r-send_http_header('text/plain'); @@ -61,10 +61,6 @@ /body /html EOF - -#XXX: this test could be more robust, but its better than nothing -my $c = Apache::Util::escape_html(\x8b); -test ++$i, $c =~ /^\#\d{3,3}\;$/; my $txt = No html tags in here at all; my $etxt = Apache::Util::escape_html($txt);
cvs commit: modperl/lib/Apache ExtUtils.pm
dougm 02/03/24 11:06:03 Modified:.Changes Makefile.PL lib/Apache ExtUtils.pm Log: Submitted by: stas Reviewed by:dougm rip -D_GNU_SOURCE out of Perl 5.7.3+'s ccflags, which modperl doesn't need and apache won't compile with Revision ChangesPath 1.629 +3 -0 modperl/Changes Index: Changes === RCS file: /home/cvs/modperl/Changes,v retrieving revision 1.628 retrieving revision 1.629 diff -u -r1.628 -r1.629 --- Changes 24 Mar 2002 18:22:56 - 1.628 +++ Changes 24 Mar 2002 19:06:03 - 1.629 @@ -10,6 +10,9 @@ =item 1.26_01-dev +rip -D_GNU_SOURCE out of Perl 5.7.3+'s ccflags, which modperl doesn't +need and apache won't compile with [Stas Bekman [EMAIL PROTECTED]] + make sure PerlSetEnv variables are visible after first access to each child [Geoff Young [EMAIL PROTECTED]] 1.199 +3 -0 modperl/Makefile.PL Index: Makefile.PL === RCS file: /home/cvs/modperl/Makefile.PL,v retrieving revision 1.198 retrieving revision 1.199 diff -u -r1.198 -r1.199 --- Makefile.PL 24 Mar 2002 02:07:58 - 1.198 +++ Makefile.PL 24 Mar 2002 19:06:03 - 1.199 @@ -386,6 +386,9 @@ $PERL_EXTRA_CFLAGS .= $Config{ccflags}; } +# apache-1.3.xx won't compile with -D_GNU_SOURCE +$PERL_EXTRA_CFLAGS =~ s/-D_GNU_SOURCE//; + for (keys %PassEnv) { $ENV{$_} = $$_ if $$_; } 1.24 +1 -0 modperl/lib/Apache/ExtUtils.pm Index: ExtUtils.pm === RCS file: /home/cvs/modperl/lib/Apache/ExtUtils.pm,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- ExtUtils.pm 25 Aug 2001 19:55:03 - 1.23 +++ ExtUtils.pm 24 Mar 2002 19:06:03 - 1.24 @@ -37,6 +37,7 @@ my %config_fixups = ( ccdlflags = sub { s/-R\s+/-R/; }, ccflags = sub { + s/-D_GNU_SOURCE//; unless ($Apache::MyConfig::Setup{PERL_USELARGEFILES}) { s/-D_LARGEFILE_SOURCE\s+-D_FILE_OFFSET_BITS=\d+//; }
cvs commit: modperl/src/modules/perl perl_config.c
dougm 02/03/24 12:45:18 Modified:.Changes STATUS src/modules/perl perl_config.c Log: Submitted by: Salvador Ortiz Garcia [EMAIL PROTECTED] Reviewed by: dougm fix multiple %LocationMatch in Perl sections bug Revision ChangesPath 1.630 +3 -0 modperl/Changes Index: Changes === RCS file: /home/cvs/modperl/Changes,v retrieving revision 1.629 retrieving revision 1.630 diff -u -r1.629 -r1.630 --- Changes 24 Mar 2002 19:06:03 - 1.629 +++ Changes 24 Mar 2002 20:45:17 - 1.630 @@ -10,6 +10,9 @@ =item 1.26_01-dev +fix multiple %LocationMatch in Perl sections bug +[Salvador Ortiz Garcia [EMAIL PROTECTED]] + rip -D_GNU_SOURCE out of Perl 5.7.3+'s ccflags, which modperl doesn't need and apache won't compile with [Stas Bekman [EMAIL PROTECTED]] 1.6 +1 -7 modperl/STATUS Index: STATUS === RCS file: /home/cvs/modperl/STATUS,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- STATUS24 Mar 2002 18:22:56 - 1.5 +++ STATUS24 Mar 2002 20:45:17 - 1.6 @@ -1,5 +1,5 @@ mod_perl 1.3 STATUS: - Last modified at [$Date: 2002/03/24 18:22:56 $] + Last modified at [$Date: 2002/03/24 20:45:17 $] Release: @@ -20,12 +20,6 @@ Report: http://marc.theaimsgroup.com/?l=apache-modperlm=97449481013350w=2 Status: doc patch at http://marc.theaimsgroup.com/?l=apache-modperlm=97450363501652w=2 - -* %LocationMatch Perl bug -Report: http://marc.theaimsgroup.com/?l=apache-modperlm=98260537428737w=2 - Status: - may be fixed here -http://marc.theaimsgroup.com/?l=apache-modperlm=101366182205497w=2 * PVIV issues Report: http://marc.theaimsgroup.com/?l=apache-modperlm=99905070209305w=2 1.112 +6 -3 modperl/src/modules/perl/perl_config.c Index: perl_config.c === RCS file: /home/cvs/modperl/src/modules/perl/perl_config.c,v retrieving revision 1.111 retrieving revision 1.112 diff -u -r1.111 -r1.112 --- perl_config.c 11 Jul 2001 03:02:26 - 1.111 +++ perl_config.c 24 Mar 2002 20:45:17 - 1.112 @@ -1166,6 +1166,8 @@ char *tmpkey; I32 tmpklen; SV *tmpval; +void *old_info = cmd-info; + (void)hv_iterinit(hv); while ((tmpval = hv_iternextsv(hv, tmpkey, tmpklen))) { char line[MAX_STRING_LEN]; @@ -1195,6 +1197,9 @@ if(errmsg) log_printf(cmd-server, Perl: %s, errmsg); } + +cmd-info = old_info; + /* Emulate the handling of end token for the section */ perl_set_config_vectors(cmd, cfg, core_module); } @@ -1511,9 +1516,7 @@ void *dummy = perl_set_config_vectors(cmd, config, core_module); void *old_info = cmd-info; -if (strstr(key, Match)) { - cmd-info = (void*)key; -} +cmd-info = (void *)strstr(key, Match); if(strnEQ(key, Location, 8)) perl_urlsection(cmd, dummy, hv);
cvs commit: modperl STATUS
dougm 02/03/24 12:53:41 Modified:.STATUS Log: address the print() dereferencing issue Revision ChangesPath 1.7 +14 -7 modperl/STATUS Index: STATUS === RCS file: /home/cvs/modperl/STATUS,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- STATUS24 Mar 2002 20:45:17 - 1.6 +++ STATUS24 Mar 2002 20:53:41 - 1.7 -1,5 +1,5 mod_perl 1.3 STATUS: - Last modified at [$Date: 2002/03/24 20:45:17 $] + Last modified at [$Date: 2002/03/24 20:53:41 $] Release: -21,12 +21,6 Status: doc patch at http://marc.theaimsgroup.com/?l=apache-modperlm=97450363501652w=2 -* PVIV issues -Report: http://marc.theaimsgroup.com/?l=apache-modperlm=99905070209305w=2 - Status: - patch available -http://marc.theaimsgroup.com/?l=apache-modperlm=9116330145w=2 - * mod_perl.h issues for Win32 Report: http://marc.theaimsgroup.com/?l=apache-modperl-devm=101253855721619w=2 Status: -231,3 +225,16 production environment, as it adds quite a bit of bloat * docs: update CREDITS, cleanup install docs + +Patches unlikely to be applied: + +* print() dereferencing issues +Report: http://marc.theaimsgroup.com/?l=apache-modperlm=99905070209305w=2 + Status: + patch available +http://marc.theaimsgroup.com/?l=apache-modperlm=9116330145w=2 + + the feature of print() dereferencing scalars should be deprecated. + therefor, i don't think this patch should be applied as it + would introduce overhead to support a deprecated feature. + user should simply dereference themselves, print $$foo; -dougm
cvs commit: modperl/t/net/perl util.pl
dougm 02/03/24 13:57:53 Modified:.Changes STATUS src/modules/perl Util.xs t/net/perl util.pl Log: Submitted by: Geoff Young [EMAIL PROTECTED] Reviewed by: dougm properly escape highbit chars in Apache::Utils::escape_html Revision ChangesPath 1.633 +4 -0 modperl/Changes Index: Changes === RCS file: /home/cvs/modperl/Changes,v retrieving revision 1.632 retrieving revision 1.633 diff -u -r1.632 -r1.633 --- Changes 24 Mar 2002 21:00:05 - 1.632 +++ Changes 24 Mar 2002 21:57:53 - 1.633 @@ -10,6 +10,10 @@ =item 1.26_01-dev +properly escape highbit chars in Apache::Utils::escape_html +[Geoff Young [EMAIL PROTECTED], +Robin Berjon [EMAIL PROTECTED]] + allow $r-auth_name and $r-auth_type to be set on win32 [John Kelly [EMAIL PROTECTED]] 1.9 +1 -7 modperl/STATUS Index: STATUS === RCS file: /home/cvs/modperl/STATUS,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- STATUS24 Mar 2002 21:00:20 - 1.8 +++ STATUS24 Mar 2002 21:57:53 - 1.9 @@ -1,5 +1,5 @@ mod_perl 1.3 STATUS: - Last modified at [$Date: 2002/03/24 21:00:20 $] + Last modified at [$Date: 2002/03/24 21:57:53 $] Release: @@ -20,12 +20,6 @@ Report: http://marc.theaimsgroup.com/?l=apache-modperlm=97449481013350w=2 Status: doc patch at http://marc.theaimsgroup.com/?l=apache-modperlm=97450363501652w=2 - -* Apache::Utils::escape_html issues -Report: http://marc.theaimsgroup.com/?l=apache-modperlm=101180404809059w=2 - Status: - patch available - http://marc.theaimsgroup.com/?l=apache-modperl-devm=101188287032621w=2 * Apache::RegistryNG issues Report: http://marc.theaimsgroup.com/?l=apache-modperl-devm=101240123609773w=2 1.10 +8 -1 modperl/src/modules/perl/Util.xs Index: Util.xs === RCS file: /home/cvs/modperl/src/modules/perl/Util.xs,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- Util.xs 4 Mar 2000 20:55:47 - 1.9 +++ Util.xs 24 Mar 2002 21:57:53 - 1.10 @@ -32,6 +32,9 @@ return sv; } +#define IS_HIGHBIT_CHAR(b) \ + ( (((unsigned char)(b)) 126) (((unsigned char)(b)) = 255) ) + static SV *my_escape_html(char *s) { int i, j; @@ -43,7 +46,7 @@ j += 3; else if (s[i] == '') j += 4; -else if (s[i] == '') +else if (s[i] == '' || IS_HIGHBIT_CHAR(s[i])) j += 5; if (j == 0) @@ -67,6 +70,10 @@ memcpy(SvPVX(x)[j], quot;, 6); j += 5; } +else if (IS_HIGHBIT_CHAR(s[i])) { +sprintf(SvPVX(x)[j], #%d;, (unsigned char)s[i]); +j += 5; +} else SvPVX(x)[j] = s[i]; 1.12 +5 -1 modperl/t/net/perl/util.pl Index: util.pl === RCS file: /home/cvs/modperl/t/net/perl/util.pl,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- util.pl 6 Mar 2000 07:50:54 - 1.11 +++ util.pl 24 Mar 2002 21:57:53 - 1.12 @@ -2,7 +2,7 @@ use Apache::test; $|++; my $i = 0; -my $tests = 7; +my $tests = 8; my $r = shift; $r-send_http_header('text/plain'); @@ -61,6 +61,10 @@ /body /html EOF + +#XXX: this test could be more robust, but its better than nothing +my $c = Apache::Util::escape_html(\x8b); +test ++$i, $c =~ /^\#\d{3,3}\;$/; my $txt = No html tags in here at all; my $etxt = Apache::Util::escape_html($txt);
cvs commit: modperl/lib/Apache RegistryNG.pm
dougm 02/03/24 14:06:39 Modified:.Changes STATUS lib/Apache RegistryNG.pm Log: Submitted by: Geoff Young Reviewed by: dougm properly deal with $r-status codes (e.g. redirect) in Apache::RegistryNG Revision ChangesPath 1.634 +3 -0 modperl/Changes Index: Changes === RCS file: /home/cvs/modperl/Changes,v retrieving revision 1.633 retrieving revision 1.634 diff -u -r1.633 -r1.634 --- Changes 24 Mar 2002 21:57:53 - 1.633 +++ Changes 24 Mar 2002 22:06:39 - 1.634 @@ -10,6 +10,9 @@ =item 1.26_01-dev +properly deal with $r-status codes (e.g. redirect) in +Apache::RegistryNG [Geoff Young [EMAIL PROTECTED]] + properly escape highbit chars in Apache::Utils::escape_html [Geoff Young [EMAIL PROTECTED], Robin Berjon [EMAIL PROTECTED]] 1.10 +1 -6 modperl/STATUS Index: STATUS === RCS file: /home/cvs/modperl/STATUS,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- STATUS24 Mar 2002 21:57:53 - 1.9 +++ STATUS24 Mar 2002 22:06:39 - 1.10 @@ -1,5 +1,5 @@ mod_perl 1.3 STATUS: - Last modified at [$Date: 2002/03/24 21:57:53 $] + Last modified at [$Date: 2002/03/24 22:06:39 $] Release: @@ -20,11 +20,6 @@ Report: http://marc.theaimsgroup.com/?l=apache-modperlm=97449481013350w=2 Status: doc patch at http://marc.theaimsgroup.com/?l=apache-modperlm=97450363501652w=2 - -* Apache::RegistryNG issues -Report: http://marc.theaimsgroup.com/?l=apache-modperl-devm=101240123609773w=2 - Status: - patch available * vanishing symbol tables Report: http://marc.theaimsgroup.com/?l=apache-modperlm=100820262006934w=2 1.8 +7 -1 modperl/lib/Apache/RegistryNG.pm Index: RegistryNG.pm === RCS file: /home/cvs/modperl/lib/Apache/RegistryNG.pm,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- RegistryNG.pm 28 Sep 2000 19:59:39 - 1.7 +++ RegistryNG.pm 24 Mar 2002 22:06:39 - 1.8 @@ -48,9 +48,15 @@ $pr-set_mtime; } +my $old_status = $r-status; + $rc = $pr-run(@_); $pr-chdir_file($Apache::Server::CWD/); -return ($rc != OK) ? $rc : $pr-status; + +my $pr_status = $pr-status; +$r-status($old_status); + +return ($rc != OK) ? $rc : $pr_status; } 1;
cvs commit: modperl/src/modules/perl perl_config.c
dougm 02/03/24 14:51:04 Modified:.Changes STATUS src/modules/perl perl_config.c Log: Submitted by: Stephen Clouse [EMAIL PROTECTED] Reviewed by: dougm do not clear symbol tables within a package in perl_clear_symtab() used by directive handler extensions Revision ChangesPath 1.635 +4 -0 modperl/Changes Index: Changes === RCS file: /home/cvs/modperl/Changes,v retrieving revision 1.634 retrieving revision 1.635 diff -u -r1.634 -r1.635 --- Changes 24 Mar 2002 22:06:39 - 1.634 +++ Changes 24 Mar 2002 22:51:04 - 1.635 @@ -10,6 +10,10 @@ =item 1.26_01-dev +do not clear symbol tables within a package in perl_clear_symtab() +used by directive handler extensions +[Stephen Clouse [EMAIL PROTECTED]] + properly deal with $r-status codes (e.g. redirect) in Apache::RegistryNG [Geoff Young [EMAIL PROTECTED]] 1.11 +1 -6 modperl/STATUS Index: STATUS === RCS file: /home/cvs/modperl/STATUS,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- STATUS24 Mar 2002 22:06:39 - 1.10 +++ STATUS24 Mar 2002 22:51:04 - 1.11 @@ -1,5 +1,5 @@ mod_perl 1.3 STATUS: - Last modified at [$Date: 2002/03/24 22:06:39 $] + Last modified at [$Date: 2002/03/24 22:51:04 $] Release: @@ -21,11 +21,6 @@ Status: doc patch at http://marc.theaimsgroup.com/?l=apache-modperlm=97450363501652w=2 -* vanishing symbol tables -Report: http://marc.theaimsgroup.com/?l=apache-modperlm=100820262006934w=2 - Status: - patch available - * $r-finfo problem with HTML::Mason::ApacheHandler Report: http://marc.theaimsgroup.com/?l=apache-modperlm=96854561311519w=2 Status: 1.114 +22 -1 modperl/src/modules/perl/perl_config.c Index: perl_config.c === RCS file: /home/cvs/modperl/src/modules/perl/perl_config.c,v retrieving revision 1.113 retrieving revision 1.114 diff -u -r1.113 -r1.114 --- perl_config.c 24 Mar 2002 21:00:06 - 1.113 +++ perl_config.c 24 Mar 2002 22:51:04 - 1.114 @@ -1666,6 +1666,27 @@ } } +static int gvhv_is_stash(GV *gv) +{ +int len = GvNAMELEN(gv); +char *name = GvNAME(gv); + +if ((len 2) +(name[len - 1] == ':') +(name[len - 2] == ':')) +{ +return 1; +} + +return 0; +} + +/* + * we do not clear symbols within packages, the desired behavior + * for directive handler classes. and there should never be a package + * within the %Apache::ReadConfig. nothing else that i'm aware of calls + * this function, so we should be ok. + */ void perl_clear_symtab(HV *symtab) { SV *val; @@ -1684,7 +1705,7 @@ continue; if((sv = GvSV((GV*)val))) sv_setsv(GvSV((GV*)val), sv_undef); - if((hv = GvHV((GV*)val))) + if((hv = GvHV((GV*)val)) !gvhv_is_stash((GV*)val)) hv_clear(hv); if((av = GvAV((GV*)val))) av_clear(av);
cvs commit: modperl/src/modules/perl mod_perl.c mod_perl.h perl_util.c
dougm 02/03/24 15:01:33 Modified:.Changes STATUS src/modules/perl mod_perl.c mod_perl.h perl_util.c Log: Submitted by: Tatsuhiko Miyagawa [EMAIL PROTECTED] Reviewed by: dougm PERL5LIB support now properly unshifts paths into @INC rather than push Revision ChangesPath 1.636 +3 -0 modperl/Changes Index: Changes === RCS file: /home/cvs/modperl/Changes,v retrieving revision 1.635 retrieving revision 1.636 diff -u -r1.635 -r1.636 --- Changes 24 Mar 2002 22:51:04 - 1.635 +++ Changes 24 Mar 2002 23:01:33 - 1.636 @@ -10,6 +10,9 @@ =item 1.26_01-dev +PERL5LIB support now properly unshifts paths into @INC rather than push +[Tatsuhiko Miyagawa [EMAIL PROTECTED]] + do not clear symbol tables within a package in perl_clear_symtab() used by directive handler extensions [Stephen Clouse [EMAIL PROTECTED]] 1.12 +1 -7 modperl/STATUS Index: STATUS === RCS file: /home/cvs/modperl/STATUS,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- STATUS24 Mar 2002 22:51:04 - 1.11 +++ STATUS24 Mar 2002 23:01:33 - 1.12 @@ -1,5 +1,5 @@ mod_perl 1.3 STATUS: - Last modified at [$Date: 2002/03/24 22:51:04 $] + Last modified at [$Date: 2002/03/24 23:01:33 $] Release: @@ -37,12 +37,6 @@ Report: http://marc.theaimsgroup.com/?l=apache-modperl-devm=98278446807561w=2 Status: patch available - -* PERL5LIB should unshift @INC instead of push -Report: http://marc.theaimsgroup.com/?l=apache-modperl-devm=100434522809036w=2 -Status: - patch available - Needs Patch or Further Investigation 1.143 +2 -2 modperl/src/modules/perl/mod_perl.c Index: mod_perl.c === RCS file: /home/cvs/modperl/src/modules/perl/mod_perl.c,v retrieving revision 1.142 retrieving revision 1.143 diff -u -r1.142 -r1.143 --- mod_perl.c24 Mar 2002 18:22:56 - 1.142 +++ mod_perl.c24 Mar 2002 23:01:33 - 1.143 @@ -747,7 +747,7 @@ #endif #ifdef APACHE_PERL5LIB -perl_incpush(APACHE_PERL5LIB); +perl_inc_unshift(APACHE_PERL5LIB); #else av_push(GvAV(incgv), newSVpv(server_root_relative(p,),0)); av_push(GvAV(incgv), newSVpv(server_root_relative(p,lib/perl),0)); @@ -1412,7 +1412,7 @@ char *path = (char *)table_get(r-subprocess_env, PERL5LIB); if (path) { - perl_incpush(path); + perl_inc_unshift(path); MP_INCPUSH_on(cld); } } 1.113 +1 -1 modperl/src/modules/perl/mod_perl.h Index: mod_perl.h === RCS file: /home/cvs/modperl/src/modules/perl/mod_perl.h,v retrieving revision 1.112 retrieving revision 1.113 diff -u -r1.112 -r1.113 --- mod_perl.h24 Mar 2002 20:57:23 - 1.112 +++ mod_perl.h24 Mar 2002 23:01:33 - 1.113 @@ -1179,7 +1179,7 @@ void mod_perl_init_ids(void); int perl_eval_ok(server_rec *s); int perl_sv_is_http_code(SV *sv, int *status); -void perl_incpush(char *s); +void perl_inc_unshift(char *s); SV *mod_perl_sv_name(SV *svp); void mod_perl_mark_where(char *where, SV *sub); 1.47 +3 -2 modperl/src/modules/perl/perl_util.c Index: perl_util.c === RCS file: /home/cvs/modperl/src/modules/perl/perl_util.c,v retrieving revision 1.46 retrieving revision 1.47 diff -u -r1.46 -r1.47 --- perl_util.c 17 Apr 2001 21:30:02 - 1.46 +++ perl_util.c 24 Mar 2002 23:01:33 - 1.47 @@ -785,7 +785,7 @@ #define PERLLIB_SEP ':' #endif -void perl_incpush(char *p) +void perl_inc_unshift(char *p) { if(!p) return; @@ -803,7 +803,8 @@ sv_setpv(libdir, p); p = Nullch; } - av_push(GvAV(incgv), libdir); + av_unshift(GvAV(incgv), 1); + av_store(GvAV(incgv), 0, libdir); } }
cvs commit: modperl/apaci load_modules.pl.PL
dougm 02/03/24 16:16:20 Modified:apaciload_modules.pl.PL Log: 5.7.3+ File::Find croaks if the finddepth directory does not exist, which it doesn't when building with USE_APXS=1 Revision ChangesPath 1.4 +1 -1 modperl/apaci/load_modules.pl.PL Index: load_modules.pl.PL === RCS file: /home/cvs/modperl/apaci/load_modules.pl.PL,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- load_modules.pl.PL7 Apr 1999 19:10:16 - 1.3 +++ load_modules.pl.PL25 Mar 2002 00:16:20 - 1.4 -40,7 +40,7 } return if $name =~ /(auth|autoindex|digest)/; #a few that screw make test push sh_mods, LoadModule ${name}_module $full; -}, $APACHE_SRC); +}, $APACHE_SRC) if $APACHE_SRC and -d $APACHE_SRC; my($perl_mod) = grep /perl/, sh_mods; unshift sh_mods, $perl_mod; #must come before mod_include/USE_PERL_SSI
cvs commit: modperl Changes
dougm 02/03/24 17:59:02 Modified:lib/Apache PerlRun.pm .Changes Log: Apache::PerlRun will now localize $SIG{__{DIE,WARN}__} Revision ChangesPath 1.38 +5 -0 modperl/lib/Apache/PerlRun.pm Index: PerlRun.pm === RCS file: /home/cvs/modperl/lib/Apache/PerlRun.pm,v retrieving revision 1.37 retrieving revision 1.38 diff -u -r1.37 -r1.38 --- PerlRun.pm11 Jul 2001 15:11:57 - 1.37 +++ PerlRun.pm25 Mar 2002 01:59:02 - 1.38 @@ -280,6 +280,11 @@ $pr-set_script_name; $pr-chdir_file; my $line = $pr-mark_line; + +#make sure this hooks are restored to their original state +local $SIG{__DIE__} = $SIG{__DIE__}; +local $SIG{__WARN__} = $SIG{__WARN__}; + my %orig_inc = %INC; my $eval = join '', 'package ', 1.637 +3 -0 modperl/Changes Index: Changes === RCS file: /home/cvs/modperl/Changes,v retrieving revision 1.636 retrieving revision 1.637 diff -u -r1.636 -r1.637 --- Changes 24 Mar 2002 23:01:33 - 1.636 +++ Changes 25 Mar 2002 01:59:02 - 1.637 @@ -10,6 +10,9 @@ =item 1.26_01-dev +Apache::PerlRun will now localize $SIG{__{DIE,WARN}__} +thanks to Jon Coulter for the spot + PERL5LIB support now properly unshifts paths into @INC rather than push [Tatsuhiko Miyagawa [EMAIL PROTECTED]]
cvs commit: modperl-2.0/src/modules/perl modperl_io.c
dougm 02/03/23 18:36:41 Modified:src/modules/perl modperl_io.c Log: figure out which tiehandle SV to use at compile as 1.x does, rather than at runtime Revision ChangesPath 1.7 +12 -10modperl-2.0/src/modules/perl/modperl_io.c Index: modperl_io.c === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_io.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- modperl_io.c 8 Jan 2002 19:04:22 - 1.6 +++ modperl_io.c 24 Mar 2002 02:36:41 - 1.7 -1,5 +1,11 #include mod_perl.h +#if ((PERL_REVISION == 5) (PERL_VERSION = 7)) +# define TIEHANDLE_SV(handle) (SV*)GvIOp((SV*)handle) +#else +# define TIEHANDLE_SV(handle) (SV*)handle +#endif + #define dHANDLE(name) GV *handle = gv_fetchpv(name, TRUE, SVt_PVIO) #define TIEHANDLE(handle,r) \ -16,20 +22,17 MP_INLINE void modperl_io_handle_untie(pTHX_ GV *handle) { #ifdef MP_TRACE -if (mg_find((SV*)handle, 'q') || -mg_find((SV*)GvIOp(handle), 'q')) -{ +if (mg_find(TIEHANDLE_SV(handle), 'q')) { MP_TRACE_g(MP_FUNC, untie *%s(0x%lx), REFCNT=%d\n, GvNAME(handle), (unsigned long)handle, - SvREFCNT((SV*)handle)); + SvREFCNT(TIEHANDLE_SV(handle))); } else { return; } #endif -sv_unmagic((SV*)handle, 'q'); -sv_unmagic((SV*)GvIOp(handle), 'q'); +sv_unmagic(TIEHANDLE_SV(handle), 'q'); } MP_INLINE void modperl_io_handle_tie(pTHX_ GV *handle, -39,20 +42,19 modperl_io_handle_untie(aTHX_ handle); -sv_magic((SV*)handle, obj, 'q', Nullch, 0); -sv_magic((SV*)GvIOp(handle), obj, 'q', Nullch, 0); +sv_magic(TIEHANDLE_SV(handle), obj, 'q', Nullch, 0); SvREFCNT_dec(obj); /* since sv_magic did SvREFCNT_inc */ MP_TRACE_g(MP_FUNC, tie *%s(0x%lx) = %s, REFCNT=%d\n, GvNAME(handle), (unsigned long)handle, classname, - SvREFCNT((SV*)handle)); + SvREFCNT(TIEHANDLE_SV(handle))); } MP_INLINE int modperl_io_handle_tied(pTHX_ GV *handle, char *classname) { MAGIC *mg; -SV *sv = SvMAGICAL(GvIOp(handle)) ? (SV*)GvIOp(handle) : (SV*)handle; +SV *sv = TIEHANDLE_SV(handle); if (SvMAGICAL(sv) (mg = mg_find(sv, 'q'))) { char *package = HvNAME(SvSTASH((SV*)SvRV(mg-mg_obj)));
cvs commit: modperl/src/modules/perl perlio.c
dougm 02/03/23 18:17:10 Modified:.STATUS src/modules/perl perlio.c Log: fix tiehandle fix so it will compile with Perls 5.6.0 and fold some duplication in the original patch Revision ChangesPath 1.4 +1 -5 modperl/STATUS Index: STATUS === RCS file: /home/cvs/modperl/STATUS,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- STATUS24 Mar 2002 02:07:58 - 1.3 +++ STATUS24 Mar 2002 02:17:09 - 1.4 -1,5 +1,5 mod_perl 1.3 STATUS: - Last modified at [$Date: 2002/03/24 02:07:58 $] + Last modified at [$Date: 2002/03/24 02:17:09 $] Release: -120,10 +120,6 * Apache-server-register_cleanup Report: ? Status: - -* bleedperl TIEHANDLE issues? -Report: http://marc.theaimsgroup.com/?l=apache-modperl-devm=99909095916498w=2 -Status: * Apache-request(bless {r = $r}, 'My::Apache') Report: http://marc.theaimsgroup.com/?l=apache-modperl-devm=98600785703290w=2 1.9 +10 -13modperl/src/modules/perl/perlio.c Index: perlio.c === RCS file: /home/cvs/modperl/src/modules/perl/perlio.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- perlio.c 19 Mar 2002 02:18:02 - 1.8 +++ perlio.c 24 Mar 2002 02:17:10 - 1.9 -51,25 +51,22 #define dHANDLE(name) GV *handle = gv_fetchpv(name, TRUE, SVt_PVIO) -#if (PERL_REVISION == 5 PERL_VERSION 7) +#ifdef PERL_REVISION +# if ((PERL_REVISION == 5) (PERL_VERSION = 7)) +# define TIEHANDLE_SV(handle) (SV*)GvIOp((SV*)handle) +# endif +#endif -#define TIEHANDLE(name,obj) \ -{ \ - dHANDLE(name); \ - sv_unmagic((SV*)handle, 'q'); \ - sv_magic((SV*)handle, obj, 'q', Nullch, 0); \ -} - -#else +#ifndef TIEHANDLE_SV +# define TIEHANDLE_SV(handle) (SV*)handle +#endif #define TIEHANDLE(name,obj) \ { \ dHANDLE(name); \ - sv_unmagic((SV*)GvIOp((SV*)handle), 'q'); \ - sv_magic((SV*)GvIOp((SV*)handle), obj, 'q', Nullch, 0); \ + sv_unmagic(TIEHANDLE_SV(handle), 'q'); \ + sv_magic(TIEHANDLE_SV(handle), obj, 'q', Nullch, 0); \ } - -#endif #if 0 #define TIED tied_handle
cvs commit: modperl/lib/Apache test.pm
dougm 02/03/23 18:55:44 Modified:lib/Apache test.pm Log: change lwp default to use HTTP/1.0, preventing a pile of warnings in t/internal/http-get Revision ChangesPath 1.24 +2 -0 modperl/lib/Apache/test.pm Index: test.pm === RCS file: /home/cvs/modperl/lib/Apache/test.pm,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- test.pm 26 Aug 2001 18:29:55 - 1.23 +++ test.pm 24 Mar 2002 02:55:44 - 1.24 -12,6 +12,8 EXPORT_OK = qw(have_httpd); BEGIN { +$ENV{PERL_LWP_USE_HTTP_10} = 1; #default to http/1.0 + if(not $ENV{MOD_PERL}) { eval { require net/config.pl; }; #for 'make test' $PERL_DIR = $net::perldir;
cvs commit: modperl MANIFEST
dougm 02/03/23 19:02:45 Modified:.MANIFEST Log: add missing files to MANIFEST that caused t/internal/redirect #4 to fail Revision ChangesPath 1.70 +2 -0 modperl/MANIFEST Index: MANIFEST === RCS file: /home/cvs/modperl/MANIFEST,v retrieving revision 1.69 retrieving revision 1.70 diff -u -r1.69 -r1.70 --- MANIFEST 6 Mar 2002 13:45:41 - 1.69 +++ MANIFEST 24 Mar 2002 03:02:44 - 1.70 -173,6 +173,8 t/net/perl/request-cookie.pl #t/net/perl/resolver.pl t/net/perl/io/redir.pl +t/net/perl/io/redir1.pl +t/net/perl/io/redir2.pl t/net/perl/io/perlio.pl t/net/perl/io/ssi1.pl t/net/perl/io/ssi2.pl
cvs commit: modperl-2.0/src/modules/perl modperl_log.h
dougm 02/03/13 09:21:53 Modified:src/modules/perl modperl_log.h Log: Submitted by: Philippe M. Chiasson [EMAIL PROTECTED] Reviewed by: dougm fix MP_FUNC for gcc3 Revision ChangesPath 1.7 +9 -4 modperl-2.0/src/modules/perl/modperl_log.h Index: modperl_log.h === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_log.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- modperl_log.h 11 Oct 2001 19:14:06 - 1.6 +++ modperl_log.h 13 Mar 2002 17:21:53 - 1.7 @@ -2,10 +2,15 @@ #define MODPERL_LOG_H #ifdef MP_TRACE -/* XXX: not every cc supports this - * sort out later - */ -# define MP_FUNC __FUNCTION__ +# if defined(__GNUC__) +# if (__GNUC__ 2) +# define MP_FUNC __func__ +# else +# define MP_FUNC __FUNCTION__ +# endif +# else +# define MP_FUNC MP_FUNC +# endif #else # define MP_FUNC MP_FUNC #endif
cvs commit: modperl-2.0/src/modules/perl mod_perl.c modperl_filter.c
dougm 02/03/09 16:09:52 Modified:src/modules/perl mod_perl.c modperl_filter.c Log: Submitted by: Philippe M. Chiasson [EMAIL PROTECTED] Reviewed by: dougm sync with filter name changes Revision ChangesPath 1.109 +2 -2 modperl-2.0/src/modules/perl/mod_perl.c Index: mod_perl.c === RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.c,v retrieving revision 1.108 retrieving revision 1.109 diff -u -r1.108 -r1.109 --- mod_perl.c26 Feb 2002 19:01:38 - 1.108 +++ mod_perl.c10 Mar 2002 00:09:52 - 1.109 @@ -504,11 +504,11 @@ ap_register_output_filter(MODPERL_OUTPUT_FILTER_NAME, modperl_output_filter_handler, - AP_FTYPE_CONTENT); + AP_FTYPE_CONTENT_SET); ap_register_input_filter(MODPERL_INPUT_FILTER_NAME, modperl_input_filter_handler, - AP_FTYPE_CONTENT); + AP_FTYPE_CONTENT_SET); ap_hook_pre_connection(modperl_hook_pre_connection, NULL, NULL, APR_HOOK_FIRST); 1.32 +1 -1 modperl-2.0/src/modules/perl/modperl_filter.c Index: modperl_filter.c === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_filter.c,v retrieving revision 1.31 retrieving revision 1.32 diff -u -r1.31 -r1.32 --- modperl_filter.c 25 Jan 2002 04:04:22 - 1.31 +++ modperl_filter.c 10 Mar 2002 00:09:52 - 1.32 @@ -506,7 +506,7 @@ ctx = (modperl_filter_ctx_t *)apr_pcalloc(r-pool, sizeof(*ctx)); ctx-handler = handlers[i]; -addfunc(name, (void*)ctx, r, NULL); +addfunc(name, (void*)ctx, r, r-connection); } return OK;
cvs commit: modperl-2.0/xs/maps apr_structures.map apr_types.map
dougm 02/03/09 16:11:50 Modified:xs/maps apr_structures.map apr_types.map Log: Submitted by: Philippe M. Chiasson [EMAIL PROTECTED] Reviewed by: dougm adjust to apr_exploded_time_t = apr_time_exp_t rename Revision ChangesPath 1.7 +2 -2 modperl-2.0/xs/maps/apr_structures.map Index: apr_structures.map === RCS file: /home/cvs/modperl-2.0/xs/maps/apr_structures.map,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- apr_structures.map10 Sep 2001 05:49:04 - 1.6 +++ apr_structures.map10 Mar 2002 00:11:50 - 1.7 @@ -67,7 +67,7 @@ err /apr_proc_t -!apr_exploded_time_t +!apr_time_exp_t tm_usec tm_sec tm_min @@ -79,7 +79,7 @@ tm_yday tm_isdst tm_gmtoff -/apr_exploded_time_t +/apr_time_exp_t #generic data structures 1.12 +1 -1 modperl-2.0/xs/maps/apr_types.map Index: apr_types.map === RCS file: /home/cvs/modperl-2.0/xs/maps/apr_types.map,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- apr_types.map 31 Dec 2001 12:11:48 - 1.11 +++ apr_types.map 10 Mar 2002 00:11:50 - 1.12 @@ -78,7 +78,7 @@ apr_other_child_rec_t| UNDEFINED #time stuff -struct apr_exploded_time_t| APR::ExplodedTime +struct apr_time_exp_t| APR::ExplodedTime struct apr_os_exp_time_t | UNDEFINED struct apr_os_imp_time_t | NOTIMPL
cvs commit: modperl-2.0/xs/maps apache_functions.map
dougm 02/03/09 16:14:23 Modified:xs/maps apache_functions.map Log: Submitted by: Philippe M. Chiasson [EMAIL PROTECTED] Reviewed by: dougm fix $r-no_cache Revision ChangesPath 1.45 +0 -1 modperl-2.0/xs/maps/apache_functions.map Index: apache_functions.map === RCS file: /home/cvs/modperl-2.0/xs/maps/apache_functions.map,v retrieving revision 1.44 retrieving revision 1.45 diff -u -r1.44 -r1.45 --- apache_functions.map 26 Feb 2002 19:04:24 - 1.44 +++ apache_functions.map 10 Mar 2002 00:14:23 - 1.45 @@ -42,7 +42,6 @@ !ap_content_type_tolower ap_get_status_line ap_is_initial_req - mpxs_Apache__RequestRec_no_cache ap_method_register ap_method_registry_init ap_process_request_internal
cvs commit: modperl-2.0/xs/tables/current/ModPerl FunctionTable.pm
dougm 02/03/09 16:17:05 Modified:xs/tables/current/Apache ConstantsTable.pm FunctionTable.pm StructureTable.pm xs/tables/current/ModPerl FunctionTable.pm Log: sync Revision ChangesPath 1.22 +4 -3 modperl-2.0/xs/tables/current/Apache/ConstantsTable.pm Index: ConstantsTable.pm === RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/ConstantsTable.pm,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- ConstantsTable.pm 20 Jan 2002 18:35:26 - 1.21 +++ ConstantsTable.pm 10 Mar 2002 00:17:05 - 1.22 -2,7 +2,7 # !! # ! WARNING: generated by Apache::ParseSource/0.02 -# ! Sun Jan 20 10:13:22 2002 +# ! Sat Mar 9 16:13:55 2002 # ! do NOT edit, any changes will be lost ! # !! -133,8 +133,9 'HTTP_NOT_EXTENDED' ], 'filter_type' = [ - 'AP_FTYPE_CONTENT', - 'AP_FTYPE_HTTP_HEADER', + 'AP_FTYPE_RESOURCE', + 'AP_FTYPE_CONTENT_SET', + 'AP_FTYPE_PROTOCOL', 'AP_FTYPE_TRANSCODE', 'AP_FTYPE_CONNECTION', 'AP_FTYPE_NETWORK' 1.34 +334 -146 modperl-2.0/xs/tables/current/Apache/FunctionTable.pm Index: FunctionTable.pm === RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/FunctionTable.pm,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- FunctionTable.pm 30 Jan 2002 03:29:38 - 1.33 +++ FunctionTable.pm 10 Mar 2002 00:17:05 - 1.34 -2,7 +2,7 # !! # ! WARNING: generated by Apache::ParseSource/0.02 -# ! Tue Jan 29 19:27:23 2002 +# ! Sat Mar 9 16:14:02 2002 # ! do NOT edit, any changes will be lost ! # !! -848,7 +848,7 'name' = 'ap_explode_recent_gmt', 'args' = [ { -'type' = 'apr_exploded_time_t *', +'type' = 'apr_time_exp_t *', 'name' = 'tm' }, { -862,7 +862,7 'name' = 'ap_explode_recent_localtime', 'args' = [ { -'type' = 'apr_exploded_time_t *', +'type' = 'apr_time_exp_t *', 'name' = 'tm' }, { -1158,6 +1158,16 ] }, { +'return_type' = 'ap_filter_rec_t *', +'name' = 'ap_get_input_filter_handle', +'args' = [ + { +'type' = 'const char *', +'name' = 'name' + } +] + }, + { 'return_type' = 'apr_off_t', 'name' = 'ap_get_limit_req_body', 'args' = [ -1202,6 +1212,16 ] }, { +'return_type' = 'ap_filter_rec_t *', +'name' = 'ap_get_output_filter_handle', +'args' = [ + { +'type' = 'const char *', +'name' = 'name' + } +] + }, + { 'return_type' = 'const char *', 'name' = 'ap_get_remote_host', 'args' = [ -1505,11 +1525,6 ] }, { -'return_type' = 'int', -'name' = 'ap_graceful_stop_signalled', -'args' = [] - }, - { 'return_type' = 'void', 'name' = 'ap_hook_access_checker', 'args' = [ -1599,6 +1614,28 }, { 'return_type' = 'void', +'name' = 'ap_hook_create_connection', +'args' = [ + { +'type' = 'ap_HOOK_create_connection_t *', +'name' = 'pf' + }, + { +'type' = 'const char * const *', +'name' = 'aszPre' + }, + { +'type' = 'const char * const *', +'name' = 'aszSucc' + }, + { +'type' = 'int', +'name' = 'nOrder' + } +] + }, + { +'return_type' = 'void', 'name' = 'ap_hook_create_request', 'args' = [ { -1707,6 +1744,11 }, { 'return_type' = 'apr_array_header_t *', +'name' = 'ap_hook_get_create_connection', +'args' = [] + }, + { +'return_type' = 'apr_array_header_t *', 'name' = 'ap_hook_get_create_request', 'args' = [] }, -1757,11 +1799,6 }, { 'return_type' = 'apr_array_header_t *', -'name' = 'ap_hook_get_install_transport_filters', -'args' = [] - }, - { -'return_type' = 'apr_array_header_t *', 'name' = 'ap_hook_get_log_transaction', 'args' = [] }, -1959,28 +1996,6 }, { 'return_type' = 'void', -'name' = 'ap_hook_install_transport_filters', -'args' = [ - { -'type' = 'ap_HOOK_install_transport_filters_t *', -'name
cvs commit: modperl-2.0/lib/Apache ParseSource.pm
dougm 02/03/01 10:44:36 Modified:lib/Apache ParseSourcepm Log: skip header files that #include apr_optionalh Revision ChangesPath 136 +2 -1 modperl-20/lib/Apache/ParseSourcepm Index: ParseSourcepm === RCS file: /home/cvs/modperl-20/lib/Apache/ParseSourcepm,v retrieving revision 135 retrieving revision 136 diff -u -r135 -r136 --- ParseSourcepm21 Feb 2002 01:50:41 - 135 +++ ParseSourcepm1 Mar 2002 18:44:36 - 136 -105,7 +105,8 my includes; my $unwanted = join '|', qw(ap_listen internal version apr_optional mod_include mod_cgi mod_proxy -mod_ssl ssl_ apr_anylock apr_rmm); +mod_ssl ssl_ apr_anylock apr_rmm +ap_config mod_log_config); for my $dir (dirs) { File::Find::finddepth({
cvs commit: modperl-2.0/src/modules/perl modperl_perl.c
dougm 02/02/28 19:30:04 Modified:src/modules/perl modperl_perlc Log: trickery to prevent perl_destruct from freeing the environ array does not work in win32 service shutdown pull a different stunt to get the same effect, preventing the server from crashing Revision ChangesPath 111 +18 -0 modperl-20/src/modules/perl/modperl_perlc Index: modperl_perlc === RCS file: /home/cvs/modperl-20/src/modules/perl/modperl_perlc,v retrieving revision 110 retrieving revision 111 diff -u -r110 -r111 --- modperl_perlc11 Dec 2001 04:43:36 - 110 +++ modperl_perlc1 Mar 2002 03:30:03 - 111 -85,6 +85,7 void modperl_perl_destruct(PerlInterpreter *perl) { +char **orig_environ = NULL; dTHXa(perl); PERL_SET_CONTEXT(perl); -97,7 +98,20 * at least, not if modperl is doing things right * this is a bug in Perl */ +# ifdef WIN32 +/* + * PL_origenviron = environ; doesn't work under win32 service + * we pull a different stunt here that has the same effect of + * tricking perl into _not_ freeing the real 'environ' array + * instead temporarily swap with a dummy array we malloc + * here which is ok to let perl free + */ +orig_environ = environ; +environ = safemalloc(2 * sizeof(char *)); +environ[0] = NULL; +# else PL_origenviron = environ; +# endif #endif if (PL_endav) { -113,4 +127,8 #ifndef WIN32 perl_free(perl); #endif + +if (orig_environ) { +environ = orig_environ; +} }
cvs commit: modperl-2.0/xs/Apache/SubRequest Apache__SubRequest.h
dougm 02/02/26 11:03:58 Added: xs/Apache/SubRequest Apache__SubRequest.h Log: moving the subrequest special case here, to flush main output buffer before running a subrequest. Revision ChangesPath 1.1 modperl-2.0/xs/Apache/SubRequest/Apache__SubRequest.h Index: Apache__SubRequest.h === static MP_INLINE int mpxs_ap_run_sub_req(pTHX_ request_rec *r) { /* need to flush main request output buffer if any * before running any subrequests, else we get subrequest * output before anything already written in the main request */ if (r-main) { modperl_config_req_t *rcfg = modperl_config_req_get(r-main); modperl_wbucket_flush(rcfg-wbucket); } return ap_run_sub_req(r); }
cvs commit: modperl-2.0/xs/maps apache_functions.map
dougm 02/02/26 11:04:25 Modified:xs/maps apache_functions.map Log: call the modperl wrapper for ap_run_sub_req Revision ChangesPath 1.44 +1 -1 modperl-2.0/xs/maps/apache_functions.map Index: apache_functions.map === RCS file: /home/cvs/modperl-2.0/xs/maps/apache_functions.map,v retrieving revision 1.43 retrieving revision 1.44 diff -u -r1.43 -r1.44 --- apache_functions.map 25 Jan 2002 04:04:22 - 1.43 +++ apache_functions.map 26 Feb 2002 19:04:24 - 1.44 @@ -81,7 +81,7 @@ PACKAGE=Apache::SubRequest ISA=Apache::RequestRec ap_destroy_sub_req | | r | DESTROY - ap_run_sub_req | | r | run + ap_run_sub_req | mpxs_ | | run MODULE=Apache::RequestIO PACKAGE=Apache::RequestRec ap_discard_request_body
cvs commit: modperl-2.0/t/htdocs .cvsignore
dougm 02/02/26 11:09:10 Added: t/htdocs .cvsignore Log: ignore Revision ChangesPath 1.1 modperl-2.0/t/htdocs/.cvsignore Index: .cvsignore === index.html perlio testdirective util
cvs commit: modperl-2.0/t/htdocs/includes-registry test.pl
dougm 02/02/26 11:10:38 Added: t/htdocs/includes-registry test.pl Log: test for mod_include include virtual of a mod_perl script Revision ChangesPath 1.1 modperl-2.0/t/htdocs/includes-registry/test.pl Index: test.pl === print Content-type: text/html\n\n; print Hello Worldbr\n;
cvs commit: modperl-2.0/t/conf extra.conf.in
dougm 02/02/26 11:12:04 Modified:t/conf extra.conf.in Log: configuration for mod_include+mod_perl test Revision ChangesPath 1.2 +12 -0 modperl-2.0/t/conf/extra.conf.in Index: extra.conf.in === RCS file: /home/cvs/modperl-2.0/t/conf/extra.conf.in,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- extra.conf.in 6 Sep 2001 04:58:43 - 1.1 +++ extra.conf.in 26 Feb 2002 19:12:04 - 1.2 @@ -1,3 +1,15 @@ # make sure that we test under Taint mode PerlSwitches -T +#for t/modules/include.t +Directory @ServerRoot@/htdocs/includes +AddOutputFilter INCLUDES .shtml +Options Indexes FollowSymLinks IncludesNoExec +/Directory + +Directory @ServerRoot@/htdocs/includes-registry +SetHandler perl-script +Options +ExecCGI +PerlResponseHandler ModPerl::Registry +PerlOptions +ParseHeaders +/Directory
cvs commit: modperl-2.0/lib/ModPerl TypeMap.pm
dougm 02/02/20 17:40:03 Modified:lib/ModPerl TypeMap.pm Log: loosen aTHX check; might be register PerlInterpreter Revision ChangesPath 1.13 +1 -1 modperl-2.0/lib/ModPerl/TypeMap.pm Index: TypeMap.pm === RCS file: /home/cvs/modperl-2.0/lib/ModPerl/TypeMap.pm,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- TypeMap.pm7 Nov 2001 03:14:54 - 1.12 +++ TypeMap.pm21 Feb 2002 01:40:03 - 1.13 @@ -203,7 +203,7 @@ return unless $first; -if ($first-{type} =~ /^PerlInterpreter/) { +if ($first-{type} =~ /PerlInterpreter/) { shift @{ $func-{args} }; $func-{thx} = 1; }
cvs commit: modperl-2.0/xs/APR/APR APR.xs
dougm 02/02/01 12:00:53 Modified:xs/APR/APR APR.xs Log: specify prototyping behavior to shutup xsubpp Revision ChangesPath 1.4 +2 -0 modperl-2.0/xs/APR/APR/APR.xs Index: APR.xs === RCS file: /home/cvs/modperl-2.0/xs/APR/APR/APR.xs,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- APR.xs22 Oct 2001 03:26:03 - 1.3 +++ APR.xs1 Feb 2002 20:00:53 - 1.4 @@ -13,6 +13,8 @@ MODULE = APRPACKAGE = APR +PROTOTYPES: disable + BOOT: file = file; /* -Wall */ apr_initialize();
cvs commit: modperl-2.0/xs/Apache/Connection Apache__Connection.h
dougm 02/01/29 08:32:25 Modified:xs/Apache/Connection Apache__Connection.h Log: get Apache::Connection-client_socket working again Revision ChangesPath 1.2 +9 -0 modperl-2.0/xs/Apache/Connection/Apache__Connection.h Index: Apache__Connection.h === RCS file: /home/cvs/modperl-2.0/xs/Apache/Connection/Apache__Connection.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Apache__Connection.h 19 Nov 2001 17:32:46 - 1.1 +++ Apache__Connection.h 29 Jan 2002 16:32:25 - 1.2 @@ -2,6 +2,8 @@ apr_socket_t *mpxs_Apache__Connection_client_socket(pTHX_ conn_rec *c, apr_socket_t *s) { +/* XXX: until minds are made up */ +#if 0 apr_socket_t *socket = ap_get_module_config(c-conn_config, core_module); @@ -10,4 +12,11 @@ } return socket; +#else +if (s) { +c-client_socket = s; +} + +return c-client_socket; +#endif }
cvs commit: modperl-2.0/xs/tables/current/ModPerl FunctionTable.pm
dougm 02/01/29 19:29:38 Modified:xs/tables/current/Apache FunctionTable.pm StructureTable.pm xs/tables/current/ModPerl FunctionTable.pm Log: sync Revision ChangesPath 1.33 +42 -1 modperl-2.0/xs/tables/current/Apache/FunctionTable.pm Index: FunctionTable.pm === RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/FunctionTable.pm,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- FunctionTable.pm 29 Jan 2002 05:35:34 - 1.32 +++ FunctionTable.pm 30 Jan 2002 03:29:38 - 1.33 @@ -2,7 +2,7 @@ # !! # ! WARNING: generated by Apache::ParseSource/0.02 -# ! Mon Jan 28 20:30:40 2002 +# ! Tue Jan 29 19:27:23 2002 # ! do NOT edit, any changes will be lost ! # !! @@ -1757,6 +1757,11 @@ }, { 'return_type' = 'apr_array_header_t *', +'name' = 'ap_hook_get_install_transport_filters', +'args' = [] + }, + { +'return_type' = 'apr_array_header_t *', 'name' = 'ap_hook_get_log_transaction', 'args' = [] }, @@ -1954,6 +1959,28 @@ }, { 'return_type' = 'void', +'name' = 'ap_hook_install_transport_filters', +'args' = [ + { +'type' = 'ap_HOOK_install_transport_filters_t *', +'name' = 'pf' + }, + { +'type' = 'const char * const *', +'name' = 'aszPre' + }, + { +'type' = 'const char * const *', +'name' = 'aszSucc' + }, + { +'type' = 'int', +'name' = 'nOrder' + } +] + }, + { +'return_type' = 'void', 'name' = 'ap_hook_log_transaction', 'args' = [ { @@ -4121,6 +4148,20 @@ { 'type' = 'request_rec *', 'name' = 'r' + } +] + }, + { +'return_type' = 'int', +'name' = 'ap_run_install_transport_filters', +'args' = [ + { +'type' = 'conn_rec *', +'name' = 'c' + }, + { +'type' = 'apr_socket_t *', +'name' = 'csd' } ] }, 1.29 +34 -5 modperl-2.0/xs/tables/current/Apache/StructureTable.pm Index: StructureTable.pm === RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/StructureTable.pm,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- StructureTable.pm 29 Jan 2002 05:35:34 - 1.28 +++ StructureTable.pm 30 Jan 2002 03:29:38 - 1.29 @@ -2,7 +2,7 @@ # !! # ! WARNING: generated by Apache::ParseSource/0.02 -# ! Mon Jan 28 20:30:43 2002 +# ! Tue Jan 29 19:27:25 2002 # ! do NOT edit, any changes will be lost ! # !! @@ -64,6 +64,10 @@ 'elts' = [] }, { +'type' = 'ap_HOOK_install_transport_filters_t', +'elts' = [] + }, + { 'type' = 'ap_HOOK_log_transaction_t', 'elts' = [] }, @@ -466,6 +470,31 @@ ] }, { +'type' = 'ap_LINK_install_transport_filters_t', +'elts' = [ + { +'type' = 'ap_HOOK_install_transport_filters_t *', +'name' = 'pFunc' + }, + { +'type' = 'const char *', +'name' = 'szName' + }, + { +'type' = 'const char * const *', +'name' = 'aszPredecessors' + }, + { +'type' = 'const char * const *', +'name' = 'aszSuccessors' + }, + { +'type' = 'int', +'name' = 'nOrder' + } +] + }, + { 'type' = 'ap_LINK_log_transaction_t', 'elts' = [ { @@ -2425,10 +2454,6 @@ 'name' = 'vhost_lookup_data' }, { -'type' = 'apr_socket_t *', -'name' = 'client_socket' - }, - { 'type' = 'apr_sockaddr_t *', 'name' = 'local_addr' }, @@ -2497,6 +2522,10 @@ 'name' = 'sbh' } ] + }, + { +'type' = 'core_net_rec', +'elts' = [] }, { 'type' = 'htaccess_result', 1.58 +15 -1 modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm Index: FunctionTable.pm === RCS file: /home/cvs/modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm,v retrieving revision 1.57 retrieving revision 1.58 diff -u -r1.57 -r1.58 --- FunctionTable.pm 25 Jan 2002 04:04:12 - 1.57 +++ FunctionTable.pm 30 Jan 2002 03:29:38 - 1.58
cvs commit: modperl-2.0/xs/Apache/Connection Apache__Connection.h
dougm 02/01/29 19:30:24 Modified:xs/Apache/Connection Apache__Connection.h Log: conn_rec.client_socket has gone away again Revision ChangesPath 1.3 +0 -9 modperl-2.0/xs/Apache/Connection/Apache__Connection.h Index: Apache__Connection.h === RCS file: /home/cvs/modperl-2.0/xs/Apache/Connection/Apache__Connection.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- Apache__Connection.h 29 Jan 2002 16:32:25 - 1.2 +++ Apache__Connection.h 30 Jan 2002 03:30:24 - 1.3 @@ -2,8 +2,6 @@ apr_socket_t *mpxs_Apache__Connection_client_socket(pTHX_ conn_rec *c, apr_socket_t *s) { -/* XXX: until minds are made up */ -#if 0 apr_socket_t *socket = ap_get_module_config(c-conn_config, core_module); @@ -12,11 +10,4 @@ } return socket; -#else -if (s) { -c-client_socket = s; -} - -return c-client_socket; -#endif }
cvs commit: modperl-2.0/xs/tables/current/Apache FunctionTable.pm StructureTable.pm
dougm 02/01/28 21:35:34 Modified:xs/tables/current/Apache FunctionTable.pm StructureTable.pm Log: sync Revision ChangesPath 1.32 +146 -59 modperl-2.0/xs/tables/current/Apache/FunctionTable.pm Index: FunctionTable.pm === RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/FunctionTable.pm,v retrieving revision 1.31 retrieving revision 1.32 diff -u -r1.31 -r1.32 --- FunctionTable.pm 25 Jan 2002 04:04:12 - 1.31 +++ FunctionTable.pm 29 Jan 2002 05:35:34 - 1.32 @@ -2,7 +2,7 @@ # !! # ! WARNING: generated by Apache::ParseSource/0.02 -# ! Thu Jan 24 19:50:33 2002 +# ! Mon Jan 28 20:30:40 2002 # ! do NOT edit, any changes will be lost ! # !! @@ -28,6 +28,20 @@ ] }, { +'return_type' = 'void', +'name' = 'ap_add_file_conf', +'args' = [ + { +'type' = 'core_dir_config *', +'name' = 'conf' + }, + { +'type' = 'void *', +'name' = 'url_config' + } +] + }, + { 'return_type' = 'ap_filter_t *', 'name' = 'ap_add_input_filter', 'args' = [ @@ -50,6 +64,28 @@ ] }, { +'return_type' = 'ap_filter_t *', +'name' = 'ap_add_input_filter_handle', +'args' = [ + { +'type' = 'ap_filter_rec_t *', +'name' = 'f' + }, + { +'type' = 'void *', +'name' = 'ctx' + }, + { +'type' = 'request_rec *', +'name' = 'r' + }, + { +'type' = 'conn_rec *', +'name' = 'c' + } +] + }, + { 'return_type' = 'void', 'name' = 'ap_add_loaded_module', 'args' = [ @@ -136,6 +172,56 @@ ] }, { +'return_type' = 'ap_filter_t *', +'name' = 'ap_add_output_filter_handle', +'args' = [ + { +'type' = 'ap_filter_rec_t *', +'name' = 'f' + }, + { +'type' = 'void *', +'name' = 'ctx' + }, + { +'type' = 'request_rec *', +'name' = 'r' + }, + { +'type' = 'conn_rec *', +'name' = 'c' + } +] + }, + { +'return_type' = 'void', +'name' = 'ap_add_per_dir_conf', +'args' = [ + { +'type' = 'server_rec *', +'name' = 's' + }, + { +'type' = 'void *', +'name' = 'dir_config' + } +] + }, + { +'return_type' = 'void', +'name' = 'ap_add_per_url_conf', +'args' = [ + { +'type' = 'server_rec *', +'name' = 's' + }, + { +'type' = 'void *', +'name' = 'url_config' + } +] + }, + { 'return_type' = 'void', 'name' = 'ap_add_version_component', 'args' = [ @@ -581,7 +667,7 @@ ] }, { -'return_type' = 'void', +'return_type' = 'int', 'name' = 'ap_create_scoreboard', 'args' = [ { @@ -1513,28 +1599,6 @@ }, { 'return_type' = 'void', -'name' = 'ap_hook_create_connection', -'args' = [ - { -'type' = 'ap_HOOK_create_connection_t *', -'name' = 'pf' - }, - { -'type' = 'const char * const *', -'name' = 'aszPre' - }, - { -'type' = 'const char * const *', -'name' = 'aszSucc' - }, - { -'type' = 'int', -'name' = 'nOrder' - } -] - }, - { -'return_type' = 'void', 'name' = 'ap_hook_create_request', 'args' = [ { @@ -1643,11 +1707,6 @@ }, { 'return_type' = 'apr_array_header_t *', -'name' = 'ap_hook_get_create_connection', -'args' = [] - }, - { -'return_type' = 'apr_array_header_t *', 'name' = 'ap_hook_get_create_request', 'args' = [] }, @@ -2400,6 +2459,24 @@ ] }, { +'return_type' = 'const char *', +'name' = 'ap_limit_section', +'args' = [ + { +'type' = 'cmd_parms *', +'name' = 'cmd' + }, + { +'type' = 'void *', +'name' = 'dummy' + }, + { +'type' = 'const char *', +'name' = 'arg' + } +] + }, + { 'return_type' = 'void', 'name' = 'ap_lingering_close', 'args' = [ @@ -3912,32 +3989,6 @@ ] }, { -'return_type' = 'conn_rec *', -'name' = 'ap_run_create_connection', -'args' = [ - { -'type' = 'apr_pool_t *', -'name' = 'p' - }, - { -'type' = 'server_rec
cvs commit: modperl-2.0/xs/tables/current/ModPerl FunctionTable.pm
dougm 02/01/24 20:04:12 Modified:xs/tables/current/Apache FunctionTable.pm xs/tables/current/ModPerl FunctionTable.pm Log: sync Revision ChangesPath 1.31 +72 -6 modperl-2.0/xs/tables/current/Apache/FunctionTable.pm Index: FunctionTable.pm === RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/FunctionTable.pm,v retrieving revision 1.30 retrieving revision 1.31 diff -u -r1.30 -r1.31 --- FunctionTable.pm 20 Jan 2002 18:35:26 - 1.30 +++ FunctionTable.pm 25 Jan 2002 04:04:12 - 1.31 @@ -2,7 +2,7 @@ # !! # ! WARNING: generated by Apache::ParseSource/0.02 -# ! Sun Jan 20 10:18:13 2002 +# ! Thu Jan 24 19:50:33 2002 # ! do NOT edit, any changes will be lost ! # !! @@ -1048,7 +1048,7 @@ 'name' = 'block' }, { -'type' = 'apr_off_t *', +'type' = 'apr_off_t', 'name' = 'readbytes' } ] @@ -,7 +,7 @@ 'name' = 'block' }, { -'type' = 'apr_off_t *', +'type' = 'apr_off_t', 'name' = 'readbytes' } ] @@ -3782,7 +3782,7 @@ ] }, { -'return_type' = 'int', +'return_type' = 'apr_status_t', 'name' = 'ap_rgetline', 'args' = [ { @@ -3790,10 +3790,14 @@ 'name' = 's' }, { -'type' = 'int', +'type' = 'apr_size_t', 'name' = 'n' }, { +'type' = 'apr_size_t *', +'name' = 'read' + }, + { 'type' = 'request_rec *', 'name' = 'r' }, @@ -5452,6 +5456,24 @@ }, { 'return_type' = 'apr_status_t', +'name' = 'apr_brigade_flatten', +'args' = [ + { +'type' = 'apr_bucket_brigade *', +'name' = 'bb' + }, + { +'type' = 'char *', +'name' = 'c' + }, + { +'type' = 'apr_off_t *', +'name' = 'len' + } +] + }, + { +'return_type' = 'apr_status_t', 'name' = 'apr_brigade_length', 'args' = [ { @@ -5488,6 +5510,28 @@ }, { 'return_type' = 'apr_status_t', +'name' = 'apr_brigade_pflatten', +'args' = [ + { +'type' = 'apr_bucket_brigade *', +'name' = 'bb' + }, + { +'type' = 'char **', +'name' = 'c' + }, + { +'type' = 'apr_off_t *', +'name' = 'len' + }, + { +'type' = 'apr_pool_t *', +'name' = 'pool' + } +] + }, + { +'return_type' = 'apr_status_t', 'name' = 'apr_brigade_printf', 'args' = [ { @@ -5594,6 +5638,28 @@ }, { 'return_type' = 'apr_status_t', +'name' = 'apr_brigade_split_line', +'args' = [ + { +'type' = 'apr_bucket_brigade *', +'name' = 'bbOut' + }, + { +'type' = 'apr_bucket_brigade *', +'name' = 'bbIn' + }, + { +'type' = 'apr_read_type_e', +'name' = 'block' + }, + { +'type' = 'apr_off_t', +'name' = 'maxbytes' + } +] + }, + { +'return_type' = 'apr_status_t', 'name' = 'apr_brigade_to_iovec', 'args' = [ { @@ -6773,7 +6839,7 @@ 'name' = 'apr_file_dup2', 'args' = [ { -'type' = 'apr_file_t **', +'type' = 'apr_file_t *', 'name' = 'new_file' }, { 1.57 +25 -32modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm Index: FunctionTable.pm === RCS file: /home/cvs/modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm,v retrieving revision 1.56 retrieving revision 1.57 diff -u -r1.56 -r1.57 --- FunctionTable.pm 20 Jan 2002 18:35:26 - 1.56 +++ FunctionTable.pm 25 Jan 2002 04:04:12 - 1.57 @@ -2,7 +2,7 @@ # !! # ! WARNING: generated by ModPerl::ParseSource/0.01 -# ! Sun Jan 20 10:18:42 2002 +# ! Thu Jan 24 20:01:03 2002 # ! do NOT edit, any changes will be lost ! # !! @@ -2079,7 +2079,11 @@ 'name' = 'mode' }, { -'type' = 'apr_off_t *', +'type' = 'apr_read_type_e', +'name' = 'block' + }, + { +'type' = 'apr_off_t', 'name' = 'readbytes' } ] @@ -3305,7 +3309,11 @@ 'name' = 'mode
cvs commit: modperl-2.0/xs/maps apache_functions.map
dougm 02/01/24 20:04:22 Modified:src/modules/perl modperl_filter.c modperl_filter.h xs/Apache/Filter Apache__Filter.h xs/maps apache_functions.map Log: adjust to ap_get_brigade() API change Revision ChangesPath 1.31 +3 -3 modperl-2.0/src/modules/perl/modperl_filter.c Index: modperl_filter.c === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_filter.c,v retrieving revision 1.30 retrieving revision 1.31 diff -u -r1.30 -r1.31 --- modperl_filter.c 20 Jan 2002 18:37:04 - 1.30 +++ modperl_filter.c 25 Jan 2002 04:04:22 - 1.31 @@ -116,7 +116,7 @@ int modperl_run_filter(modperl_filter_t *filter, ap_input_mode_t mode, apr_read_type_e block, - apr_off_t *readbytes) + apr_off_t readbytes) { AV *args = Nullav; int status; @@ -140,7 +140,7 @@ if (filter-mode == MP_INPUT_FILTER_MODE) { av_push(args, newSViv(mode)); av_push(args, newSViv(block)); -av_push(args, newSViv(*readbytes)); +av_push(args, newSViv(readbytes)); } if ((status = modperl_callback(aTHX_ handler, p, r, s, args)) != OK) { @@ -394,7 +394,7 @@ apr_bucket_brigade *bb, ap_input_mode_t mode, apr_read_type_e block, - apr_off_t *readbytes) + apr_off_t readbytes) { modperl_filter_t *filter; int status; 1.12 +2 -2 modperl-2.0/src/modules/perl/modperl_filter.h Index: modperl_filter.h === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_filter.h,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- modperl_filter.h 20 Jan 2002 18:37:04 - 1.11 +++ modperl_filter.h 25 Jan 2002 04:04:22 - 1.12 @@ -28,7 +28,7 @@ int modperl_run_filter(modperl_filter_t *filter, ap_input_mode_t mode, apr_read_type_e block, - apr_off_t *readbytes); + apr_off_t readbytes); /* output filters */ apr_status_t modperl_output_filter_handler(ap_filter_t *f, @@ -56,7 +56,7 @@ apr_bucket_brigade *bb, ap_input_mode_t mode, apr_read_type_e block, - apr_off_t *readbytes); + apr_off_t readbytes); void modperl_input_filter_register_connection(conn_rec *c); 1.18 +0 -17 modperl-2.0/xs/Apache/Filter/Apache__Filter.h Index: Apache__Filter.h === RCS file: /home/cvs/modperl-2.0/xs/Apache/Filter/Apache__Filter.h,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- Apache__Filter.h 20 Jan 2002 18:37:05 - 1.17 +++ Apache__Filter.h 25 Jan 2002 04:04:22 - 1.18 @@ -60,23 +60,6 @@ return len; } -static apr_status_t mpxs_ap_get_brigade(pTHX_ ap_filter_t *filter, -apr_bucket_brigade *brigade, -ap_input_mode_t mode, -apr_read_type_e block, -SV *svreadbytes) -{ -apr_off_t readbytes = svreadbytes ? SvIV(svreadbytes) : 0; -apr_status_t status = ap_get_brigade(filter, brigade, - mode, block, readbytes); - -if (svreadbytes) { -sv_setiv(svreadbytes, readbytes); -} - -return status; -} - static MP_INLINE U32 *modperl_filter_attributes(SV *package, SV *cvrv) { return (U32 *)MP_CODE_ATTRS(SvRV(cvrv)); 1.43 +2 -2 modperl-2.0/xs/maps/apache_functions.map Index: apache_functions.map === RCS file: /home/cvs/modperl-2.0/xs/maps/apache_functions.map,v retrieving revision 1.42 retrieving revision 1.43 diff -u -r1.42 -r1.43 --- apache_functions.map 21 Jan 2002 08:27:30 - 1.42 +++ apache_functions.map 25 Jan 2002 04:04:22 - 1.43 @@ -203,10 +203,10 @@ PACKAGE=guess ~ap_add_output_filter ~ap_add_input_filter - ap_get_brigade | mpxs_ | \ + ap_get_brigade | | \ filter, bucket, mode=AP_MODE_READBYTES, \ block=APR_BLOCK_READ
cvs commit: modperl-2.0/xs/tables/current/ModPerl FunctionTable.pm
dougm 02/01/20 10:35:26 Modified:xs/tables/current/Apache ConstantsTable.pm FunctionTable.pm StructureTable.pm xs/tables/current/ModPerl FunctionTable.pm Log: sync Revision ChangesPath 1.21 +6 -4 modperl-2.0/xs/tables/current/Apache/ConstantsTable.pm Index: ConstantsTable.pm === RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/ConstantsTable.pm,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- ConstantsTable.pm 31 Dec 2001 12:16:37 - 1.20 +++ ConstantsTable.pm 20 Jan 2002 18:35:26 - 1.21 @@ -2,7 +2,7 @@ # !! # ! WARNING: generated by Apache::ParseSource/0.02 -# ! Mon Dec 31 20:02:32 2001 +# ! Sun Jan 20 10:13:22 2002 # ! do NOT edit, any changes will be lost ! # !! @@ -76,9 +76,11 @@ 'APLOG_STARTUP' ], 'input_mode' = [ - 'AP_MODE_BLOCKING', - 'AP_MODE_NONBLOCKING', - 'AP_MODE_PEEK', + 'AP_MODE_READBYTES', + 'AP_MODE_GETLINE', + 'AP_MODE_EATCRLF', + 'AP_MODE_SPECULATIVE', + 'AP_MODE_EXHAUSTIVE', 'AP_MODE_INIT' ], 'http' = [ 1.30 +183 -521 modperl-2.0/xs/tables/current/Apache/FunctionTable.pm Index: FunctionTable.pm === RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/FunctionTable.pm,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- FunctionTable.pm 31 Dec 2001 12:16:37 - 1.29 +++ FunctionTable.pm 20 Jan 2002 18:35:26 - 1.30 @@ -2,7 +2,7 @@ # !! # ! WARNING: generated by Apache::ParseSource/0.02 -# ! Mon Dec 31 19:58:28 2001 +# ! Sun Jan 20 10:18:13 2002 # ! do NOT edit, any changes will be lost ! # !! @@ -563,8 +563,8 @@ 'name' = 'ap_create_sb_handle', 'args' = [ { -'type' = 'void **', -'name' = 'new_handle' +'type' = 'ap_sb_handle_t **', +'name' = 'new_sbh' }, { 'type' = 'apr_pool_t *', @@ -1044,6 +1044,10 @@ 'name' = 'mode' }, { +'type' = 'apr_read_type_e', +'name' = 'block' + }, + { 'type' = 'apr_off_t *', 'name' = 'readbytes' } @@ -1068,12 +1072,7 @@ ] }, { -'return_type' = 'global_score *', -'name' = 'ap_get_global_scoreboard', -'args' = [] - }, - { -'return_type' = 'unsigned long', +'return_type' = 'apr_off_t', 'name' = 'ap_get_limit_req_body', 'args' = [ { @@ -1117,16 +1116,6 @@ ] }, { -'return_type' = 'process_score *', -'name' = 'ap_get_parent_scoreboard', -'args' = [ - { -'type' = 'int', -'name' = 'x' - } -] - }, - { 'return_type' = 'const char *', 'name' = 'ap_get_remote_host', 'args' = [ @@ -1159,6 +1148,49 @@ ] }, { +'return_type' = 'void **', +'name' = 'ap_get_request_note', +'args' = [ + { +'type' = 'request_rec *', +'name' = 'r' + }, + { +'type' = 'apr_size_t', +'name' = 'note_num' + } +] + }, + { +'return_type' = 'global_score *', +'name' = 'ap_get_scoreboard_global', +'args' = [] + }, + { +'return_type' = 'process_score *', +'name' = 'ap_get_scoreboard_process', +'args' = [ + { +'type' = 'int', +'name' = 'x' + } +] + }, + { +'return_type' = 'worker_score *', +'name' = 'ap_get_scoreboard_worker', +'args' = [ + { +'type' = 'int', +'name' = 'x' + }, + { +'type' = 'int', +'name' = 'y' + } +] + }, + { 'return_type' = 'const char *', 'name' = 'ap_get_server_built', 'args' = [] @@ -1189,20 +1221,6 @@ 'args' = [] }, { -'return_type' = 'worker_score *', -'name' = 'ap_get_servers_scoreboard', -'args' = [ - { -'type' = 'int', -'name' = 'x' - }, - { -'type' = 'int', -'name' = 'y' - } -] - }, - { 'return_type' = 'const char *', 'name' = 'ap_get_status_line', 'args' = [ @@ -2200,6 +2218,10 @@ 'name' = 'mode' }, { +'type' = 'apr_read_type_e', +'name' = 'block
cvs commit: modperl-2.0/xs/maps apache_functions.map
dougm 02/01/20 10:37:05 Modified:src/modules/perl modperl_filter.c modperl_filter.h t/filter/TestFilter input_body.pm input_msg.pm t/protocol/TestProtocol echo_filter.pm xs/Apache/Filter Apache__Filter.h xs/maps apache_functions.map Log: adjust to ap_get_brigade and input filter api changes Revision ChangesPath 1.30 +7 -3 modperl-2.0/src/modules/perl/modperl_filter.c Index: modperl_filter.c === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_filter.c,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- modperl_filter.c 8 Jan 2002 00:04:33 - 1.29 +++ modperl_filter.c 20 Jan 2002 18:37:04 - 1.30 @@ -113,7 +113,9 @@ return mg ? (modperl_filter_t *)mg-mg_ptr : NULL; } -int modperl_run_filter(modperl_filter_t *filter, ap_input_mode_t mode, +int modperl_run_filter(modperl_filter_t *filter, + ap_input_mode_t mode, + apr_read_type_e block, apr_off_t *readbytes) { AV *args = Nullav; @@ -137,6 +139,7 @@ if (filter-mode == MP_INPUT_FILTER_MODE) { av_push(args, newSViv(mode)); +av_push(args, newSViv(block)); av_push(args, newSViv(*readbytes)); } @@ -374,7 +377,7 @@ } else { filter = modperl_filter_new(f, bb, MP_OUTPUT_FILTER_MODE); -status = modperl_run_filter(filter, 0, 0); +status = modperl_run_filter(filter, 0, 0, 0); } switch (status) { @@ -390,6 +393,7 @@ apr_status_t modperl_input_filter_handler(ap_filter_t *f, apr_bucket_brigade *bb, ap_input_mode_t mode, + apr_read_type_e block, apr_off_t *readbytes) { modperl_filter_t *filter; @@ -402,7 +406,7 @@ } else { filter = modperl_filter_new(f, bb, MP_INPUT_FILTER_MODE); -status = modperl_run_filter(filter, mode, readbytes); +status = modperl_run_filter(filter, mode, block, readbytes); } switch (status) { 1.11 +4 -1 modperl-2.0/src/modules/perl/modperl_filter.h Index: modperl_filter.h === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_filter.h,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- modperl_filter.h 9 Aug 2001 16:52:51 - 1.10 +++ modperl_filter.h 20 Jan 2002 18:37:04 - 1.11 @@ -25,7 +25,9 @@ modperl_filter_t *modperl_filter_mg_get(pTHX_ SV *obj); -int modperl_run_filter(modperl_filter_t *filter, ap_input_mode_t mode, +int modperl_run_filter(modperl_filter_t *filter, + ap_input_mode_t mode, + apr_read_type_e block, apr_off_t *readbytes); /* output filters */ @@ -53,6 +55,7 @@ apr_status_t modperl_input_filter_handler(ap_filter_t *f, apr_bucket_brigade *bb, ap_input_mode_t mode, + apr_read_type_e block, apr_off_t *readbytes); void modperl_input_filter_register_connection(conn_rec *c); 1.9 +2 -2 modperl-2.0/t/filter/TestFilter/input_body.pm Index: input_body.pm === RCS file: /home/cvs/modperl-2.0/t/filter/TestFilter/input_body.pm,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- input_body.pm 21 Dec 2001 11:30:38 - 1.8 +++ input_body.pm 20 Jan 2002 18:37:05 - 1.9 @@ -11,11 +11,11 @@ use APR::Bucket (); sub handler : FilterRequestHandler { -my($filter, $bb, $mode, $readbytes) = @_; +my($filter, $bb, $mode, $block, $readbytes) = @_; my $ctx_bb = APR::Brigade-new($filter-r-pool); -my $rv = $filter-next-get_brigade($ctx_bb, $mode, $readbytes); +my $rv = $filter-next-get_brigade($ctx_bb, $mode, $block, $readbytes); if ($rv != APR::SUCCESS) { return $rv; 1.9 +2 -2 modperl-2.0/t/filter/TestFilter/input_msg.pm Index: input_msg.pm === RCS file: /home/cvs/modperl-2.0/t/filter/TestFilter/input_msg.pm,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- input_msg.pm 21 Dec 2001 11:30:38 - 1.8 +++ input_msg.pm 20 Jan 2002 18:37:05 - 1.9 @@ -12,11
cvs commit: modperl-2.0/xs/Apache/SubProcess Apache__SubProcess.h
dougm 02/01/18 16:25:41 Modified:xs/Apache/SubProcess Apache__SubProcess.h Log: get rid of warning on win32 - FAILED : macro redefinition Revision ChangesPath 1.9 +1 -0 modperl-2.0/xs/Apache/SubProcess/Apache__SubProcess.h Index: Apache__SubProcess.h === RCS file: /home/cvs/modperl-2.0/xs/Apache/SubProcess/Apache__SubProcess.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- Apache__SubProcess.h 18 Dec 2001 05:44:16 - 1.8 +++ Apache__SubProcess.h 19 Jan 2002 00:25:41 - 1.9 @@ -15,6 +15,7 @@ apr_cmdtype_e cmd_type; } exec_info; +#undef FAILED /* win32 defines a macro with this name */ #define FAILED(command) ((rc = command) != APR_SUCCESS) #define SET_TIMEOUT(fp) \
cvs commit: modperl-2.0/t/protocol/TestProtocol eliza.pm
dougm 02/01/10 09:26:20 Modified:t/protocol/TestProtocol eliza.pm Log: chomp the string before testing value Revision ChangesPath 1.2 +1 -0 modperl-2.0/t/protocol/TestProtocol/eliza.pm Index: eliza.pm === RCS file: /home/cvs/modperl-2.0/t/protocol/TestProtocol/eliza.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- eliza.pm 6 Sep 2001 02:45:13 - 1.1 +++ eliza.pm 10 Jan 2002 17:26:20 - 1.2 @@ -19,6 +19,7 @@ my $rlen = BUFF_LEN; $socket-recv($buff, $rlen); last if $rlen = 0; +chomp $buff; $last++ if $buff eq 'good bye'; $buff = $mybot-transform( $buff ) . \n; $socket-send($buff, length $buff);
cvs commit: modperl-2.0/src/modules/perl modperl_io.c
dougm 02/01/08 11:04:22 Modified:src/modules/perl modperl_io.c Log: plug leaking tied STD{IN,OUT} objects Revision ChangesPath 1.6 +2 -0 modperl-2.0/src/modules/perl/modperl_io.c Index: modperl_io.c === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_io.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- modperl_io.c 6 Jan 2002 21:56:22 - 1.5 +++ modperl_io.c 8 Jan 2002 19:04:22 - 1.6 @@ -42,6 +42,8 @@ sv_magic((SV*)handle, obj, 'q', Nullch, 0); sv_magic((SV*)GvIOp(handle), obj, 'q', Nullch, 0); +SvREFCNT_dec(obj); /* since sv_magic did SvREFCNT_inc */ + MP_TRACE_g(MP_FUNC, tie *%s(0x%lx) = %s, REFCNT=%d\n, GvNAME(handle), (unsigned long)handle, classname, SvREFCNT((SV*)handle));
cvs commit: modperl-2.0/t/response/TestModperl print.pm
dougm 02/01/08 14:46:09 Modified:t/conf modperl_extra.pl t/response/TestModperl print.pm Log: add some END blocks for testing Revision ChangesPath 1.12 +4 -0 modperl-2.0/t/conf/modperl_extra.pl Index: modperl_extra.pl === RCS file: /home/cvs/modperl-2.0/t/conf/modperl_extra.pl,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- modperl_extra.pl 22 Dec 2001 18:59:52 - 1.11 +++ modperl_extra.pl 8 Jan 2002 22:46:08 - 1.12 @@ -53,4 +53,8 @@ return $buf; } +END { +warn END in modperl_extra.pl, pid=$$\n; +} + 1; 1.4 +5 -0 modperl-2.0/t/response/TestModperl/print.pm Index: print.pm === RCS file: /home/cvs/modperl-2.0/t/response/TestModperl/print.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- print.pm 1 Jan 2002 10:36:05 - 1.3 +++ print.pm 8 Jan 2002 22:46:09 - 1.4 @@ -21,4 +21,9 @@ Apache::OK; } +END { +my $package = __PACKAGE__; +warn END in $package, pid=$$\n; +} + 1;
cvs commit: modperl-2.0/xs/maps modperl_functions.map
dougm 02/01/08 14:48:38 Modified:xs/Apache/RequestIO Apache__RequestIO.h xs/maps modperl_functions.map Log: dd UNTIE method to avoid warning from pp_untie: untie attempted while %d inner references still exist which is legit in our case, since we do not create a new object in TIEHANDLE, but rather increment the refcount of and existing one. Revision ChangesPath 1.25 +3 -0 modperl-2.0/xs/Apache/RequestIO/Apache__RequestIO.h Index: Apache__RequestIO.h === RCS file: /home/cvs/modperl-2.0/xs/Apache/RequestIO/Apache__RequestIO.h,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- Apache__RequestIO.h 6 Jan 2002 20:45:36 - 1.24 +++ Apache__RequestIO.h 8 Jan 2002 22:48:38 - 1.25 @@ -6,6 +6,9 @@ #define mpxs_Apache__RequestRec_BINMODE(r) \ r ? PL_sv_yes : PL_sv_no /* noop */ +#define mpxs_Apache__RequestRec_UNTIE(r, refcnt) \ +(r refcnt) ? PL_sv_yes : PL_sv_no /* noop */ + #define mpxs_output_flush(r, rcfg) \ /* if ($|) */ \ if (IoFLUSH(PL_defoutgv)) { \ 1.32 +1 -0 modperl-2.0/xs/maps/modperl_functions.map Index: modperl_functions.map === RCS file: /home/cvs/modperl-2.0/xs/maps/modperl_functions.map,v retrieving revision 1.31 retrieving revision 1.32 diff -u -r1.31 -r1.32 --- modperl_functions.map 20 Dec 2001 18:12:16 - 1.31 +++ modperl_functions.map 8 Jan 2002 22:48:38 - 1.32 @@ -30,6 +30,7 @@ apr_size_t:DEFINE_PRINT | | ... apr_size_t:DEFINE_PRINTF | | ... SV *:DEFINE_BINMODE | | request_rec *:r + SV *:DEFINE_UNTIE| | request_rec *:r, int:refcnt mpxs_Apache__RequestRec_sendfile | | r, filename=r-filename, offset=0, len=0 mpxs_Apache__RequestRec_read | | r, buffer, bufsiz, offset=0 long:DEFINE_READ | | request_rec *:r, SV *:buffer, int:bufsiz, int:offset=0
cvs commit: modperl-2.0/t/response/TestModperl readline.pm getc.pm
dougm 02/01/08 14:49:32 Modified:t/response/TestModperl readline.pm getc.pm Log: untie STDIN Revision ChangesPath 1.3 +2 -0 modperl-2.0/t/response/TestModperl/readline.pm Index: readline.pm === RCS file: /home/cvs/modperl-2.0/t/response/TestModperl/readline.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- readline.pm 5 Dec 2001 05:48:39 - 1.2 +++ readline.pm 8 Jan 2002 22:49:32 - 1.3 @@ -16,6 +16,8 @@ $r-puts($line); } +untie *STDIN; + Apache::OK; } 1.3 +2 -0 modperl-2.0/t/response/TestModperl/getc.pm Index: getc.pm === RCS file: /home/cvs/modperl-2.0/t/response/TestModperl/getc.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- getc.pm 7 Dec 2001 04:47:13 - 1.2 +++ getc.pm 8 Jan 2002 22:49:32 - 1.3 @@ -16,6 +16,8 @@ $r-puts($c); } +untie *STDIN; + Apache::OK; }
cvs commit: modperl-2.0/src/modules/perl mod_perl.c
dougm 02/01/08 16:31:39 Modified:src/modules/perl mod_perl.c Log: rid warning #ifdef USE_ITHREADS Revision ChangesPath 1.104 +1 -1 modperl-2.0/src/modules/perl/mod_perl.c Index: mod_perl.c === RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.c,v retrieving revision 1.103 retrieving revision 1.104 diff -u -r1.103 -r1.104 --- mod_perl.c8 Jan 2002 01:13:28 - 1.103 +++ mod_perl.c9 Jan 2002 00:31:39 - 1.104 @@ -640,10 +640,10 @@ int modperl_response_handler_cgi(request_rec *r) { MP_dDCFG; -MP_dRCFG; GV *h_stdin, *h_stdout; int retval; #ifdef USE_ITHREADS +MP_dRCFG; pTHX; modperl_interp_t *interp; #endif
cvs commit: modperl-2.0/xs/APR/PerlIO apr_perlio.c
dougm 02/01/07 17:06:20 Modified:xs/APR/PerlIO apr_perlio.c Log: add some debug info Revision ChangesPath 1.9 +23 -2 modperl-2.0/xs/APR/PerlIO/apr_perlio.c Index: apr_perlio.c === RCS file: /home/cvs/modperl-2.0/xs/APR/PerlIO/apr_perlio.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- apr_perlio.c 4 Jan 2002 09:29:50 - 1.8 +++ apr_perlio.c 8 Jan 2002 01:06:20 - 1.9 @@ -82,6 +82,13 @@ st-pool = modperl_sv2pool(aTHX_ sv); rc = apr_file_open(st-file, path, apr_flag, APR_OS_DEFAULT, st-pool); + +#ifdef PERLIO_APR_DEBUG +Perl_warn(aTHX_ PerlIOAPR_open obj=0x%lx, file=0x%lx, name=%s, rc=%d\n, + (unsigned long)f, (unsigned long)st-file, + path ? path : (UNKNOWN), rc); +#endif + if (rc != APR_SUCCESS) { PerlIOBase(f)-flags |= PERLIO_F_ERROR; return NULL; @@ -110,6 +117,15 @@ PerlIOAPR *ost = PerlIOSelf(o, PerlIOAPR); rc = apr_file_dup(fst-file, ost-file, ost-pool); + +#ifdef PERLIO_APR_DEBUG +Perl_warn(aTHX_ PerlIOAPR_dup obj=0x%lx, +file=0x%lx = 0x%lx, rc=%d\n, + (unsigned long)f, + (unsigned long)ost-file, + (unsigned long)fst-file, rc); +#endif + if (rc == APR_SUCCESS) { fst-pool = ost-pool; return f; @@ -190,9 +206,14 @@ IV code = PerlIOBase_close(aTHX_ f); apr_status_t rc; -const char *new_path; +const char *new_path = NULL; apr_file_name_get(new_path, st-file); -/* Perl_warn(aTHX_ closing file %s\n, new_path); */ + +#ifdef PERLIO_APR_DEBUG +Perl_warn(aTHX_ PerlIOAPR_close obj=0x%lx, file=0x%lx, name=%s\n, + (unsigned long)f, (unsigned long)st-file, + new_path ? new_path : (UNKNOWN)); +#endif rc = apr_file_flush(st-file); if (rc != APR_SUCCESS) {
cvs commit: modperl-2.0/xs/APR/PerlIO apr_perlio.c
dougm 02/01/07 17:09:19 Modified:xs/APR/PerlIO apr_perlio.c Log: work around bug where some PerlIOAPR filehandles are still open during perl_destruct Revision ChangesPath 1.10 +14 -2 modperl-2.0/xs/APR/PerlIO/apr_perlio.c Index: apr_perlio.c === RCS file: /home/cvs/modperl-2.0/xs/APR/PerlIO/apr_perlio.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- apr_perlio.c 8 Jan 2002 01:06:20 - 1.9 +++ apr_perlio.c 8 Jan 2002 01:09:19 - 1.10 @@ -206,14 +206,26 @@ IV code = PerlIOBase_close(aTHX_ f); apr_status_t rc; +#ifdef PERLIO_APR_DEBUG const char *new_path = NULL; -apr_file_name_get(new_path, st-file); +if (!PL_dirty) { +/* if this is called during perl_destruct we are in trouble */ +apr_file_name_get(new_path, st-file); +} -#ifdef PERLIO_APR_DEBUG Perl_warn(aTHX_ PerlIOAPR_close obj=0x%lx, file=0x%lx, name=%s\n, (unsigned long)f, (unsigned long)st-file, new_path ? new_path : (UNKNOWN)); #endif + +if (PL_dirty) { +/* there should not be any PerlIOAPR handles open + * during perl_destruct + */ +Perl_warn(aTHX_ leaked PerlIOAPR handle 0x%lx, + (unsigned long)f); +return -1; +} rc = apr_file_flush(st-file); if (rc != APR_SUCCESS) {
cvs commit: modperl-2.0/src/modules/perl mod_perl.c mod_perl.h modperl_interp.c
dougm 02/01/07 17:13:29 Modified:src/modules/perl mod_perl.c mod_perl.h modperl_interp.c Log: fix so perl_destruct (and things like END blocks) are run in child processes when they are shutdown Revision ChangesPath 1.103 +30 -3 modperl-2.0/src/modules/perl/mod_perl.c Index: mod_perl.c === RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.c,v retrieving revision 1.102 retrieving revision 1.103 diff -u -r1.102 -r1.103 --- mod_perl.c6 Jan 2002 21:39:36 - 1.102 +++ mod_perl.c8 Jan 2002 01:13:28 - 1.103 @@ -128,6 +128,20 @@ SAVEDESTRUCTOR_X(modperl_boot, 0); } +/* + * the server_pool is a subpool of the parent pool (aka pconf) + * this is where we register the cleanups that teardown the interpreter. + * the parent process will run the cleanups since server_pool is a subpool + * of pconf. we manually clear the server_pool to run cleanups in the + * child processes + */ +static apr_pool_t *server_pool = NULL; + +apr_pool_t *modperl_server_pool(void) +{ +return server_pool; +} + PerlInterpreter *modperl_startup(server_rec *s, apr_pool_t *p) { AV *endav; @@ -198,8 +212,8 @@ } #ifndef USE_ITHREADS -cdata = modperl_cleanup_data_new(p, (void*)perl); -apr_pool_cleanup_register(p, cdata, +cdata = modperl_cleanup_data_new(server_pool, (void*)perl); +apr_pool_cleanup_register(server_pool, cdata, modperl_shutdown, apr_pool_cleanup_null); #endif @@ -380,8 +394,10 @@ int modperl_hook_init(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s) { +apr_pool_create(server_pool, pconf); + modperl_sys_init(); -apr_pool_cleanup_register(pconf, NULL, +apr_pool_cleanup_register(server_pool, NULL, modperl_sys_term, apr_pool_cleanup_null); modperl_init_globals(s, pconf); modperl_init(s, pconf); @@ -461,9 +477,20 @@ return OK; } +static apr_status_t modperl_child_exit(void *data) +{ +apr_pool_clear(server_pool); +server_pool = NULL; + +return APR_SUCCESS; +} + static void modperl_hook_child_init(apr_pool_t *p, server_rec *s) { modperl_perl_init_ids_server(s); + +apr_pool_cleanup_register(p, NULL, modperl_child_exit, + apr_pool_cleanup_null); } void modperl_register_hooks(apr_pool_t *p) 1.40 +1 -0 modperl-2.0/src/modules/perl/mod_perl.h Index: mod_perl.h === RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.h,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- mod_perl.h24 Nov 2001 01:15:01 - 1.39 +++ mod_perl.h8 Jan 2002 01:13:28 - 1.40 @@ -45,6 +45,7 @@ void modperl_pre_config_handler(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp); void modperl_register_hooks(apr_pool_t *p); +apr_pool_t *modperl_server_pool(void); PerlInterpreter *modperl_startup(server_rec *s, apr_pool_t *p); void xs_init(pTHXo); 1.39 +2 -1 modperl-2.0/src/modules/perl/modperl_interp.c Index: modperl_interp.c === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_interp.c,v retrieving revision 1.38 retrieving revision 1.39 diff -u -r1.38 -r1.39 --- modperl_interp.c 5 Nov 2001 05:19:01 - 1.38 +++ modperl_interp.c 8 Jan 2002 01:13:28 - 1.39 @@ -191,6 +191,7 @@ void modperl_interp_init(server_rec *s, apr_pool_t *p, PerlInterpreter *perl) { +apr_pool_t *server_pool = modperl_server_pool(); pTHX; MP_dSCFG(s); @@ -210,7 +211,7 @@ /* this happens post-config in mod_perl.c:modperl_init_clones() */ /* modperl_tipool_init(tipool); */ -apr_pool_cleanup_register(p, (void*)mip, +apr_pool_cleanup_register(server_pool, (void*)mip, modperl_interp_pool_destroy, apr_pool_cleanup_null);