svn commit: r1638259 - /perl/modperl/trunk/src/modules/perl/modperl_interp.h
Author: gozer Date: Tue Nov 11 18:58:12 2014 New Revision: 1638259 URL: http://svn.apache.org/r1638259 Log: Silence 2 warnings when using -Wall -Werrror for edge cases where we'd fail to allocate an interpreter. At that point, we are pretty much dead anyways. Modified: perl/modperl/trunk/src/modules/perl/modperl_interp.h Modified: perl/modperl/trunk/src/modules/perl/modperl_interp.h URL: http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/modperl_interp.h?rev=1638259r1=1638258r2=1638259view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_interp.h (original) +++ perl/modperl/trunk/src/modules/perl/modperl_interp.h Tue Nov 11 18:58:12 2014 @@ -63,6 +63,7 @@ modperl_interp_t *modperl_interp_select( aTHX = interp-perl;\ } \ else { \ +aTHX = NULL;\ MP_TRACE_i(MP_FUNC, -- failed);\ } \ NOOP @@ -80,6 +81,7 @@ modperl_interp_t *modperl_interp_select( aTHX = interp-perl;\ } \ else { \ +aTHX = NULL;\ MP_TRACE_i(MP_FUNC, -- failed);\ } \ NOOP
svn commit: r1638260 - /perl/modperl/trunk/lib/ModPerl/MapUtil.pm
Author: gozer Date: Tue Nov 11 18:59:28 2014 New Revision: 1638260 URL: http://svn.apache.org/r1638260 Log: Fix a little warning about apxs when running Makefile.PL with MP_APXS Modified: perl/modperl/trunk/lib/ModPerl/MapUtil.pm Modified: perl/modperl/trunk/lib/ModPerl/MapUtil.pm URL: http://svn.apache.org/viewvc/perl/modperl/trunk/lib/ModPerl/MapUtil.pm?rev=1638260r1=1638259r2=1638260view=diff == --- perl/modperl/trunk/lib/ModPerl/MapUtil.pm (original) +++ perl/modperl/trunk/lib/ModPerl/MapUtil.pm Tue Nov 11 18:59:28 2014 @@ -46,7 +46,7 @@ my $function_table = []; sub function_table { return $function_table if @$function_table; -my $build = Apache2::Build-new(init = 1); +my $build = Apache2::Build-new(); my $httpd_version = $build-httpd_version; if ($httpd_version lt '2.4.0' || ! -d xs/tables/current24) { push @INC, xs/tables/current;
svn commit: r1638351 - in /perl/modperl/trunk/xs/tables: current/ModPerl/FunctionTable.pm current24/ModPerl/FunctionTable.pm
Author: gozer Date: Tue Nov 11 20:20:43 2014 New Revision: 1638351 URL: http://svn.apache.org/r1638351 Log: Add some missed functions in XS function tables Modified: perl/modperl/trunk/xs/tables/current/ModPerl/FunctionTable.pm perl/modperl/trunk/xs/tables/current24/ModPerl/FunctionTable.pm Modified: perl/modperl/trunk/xs/tables/current/ModPerl/FunctionTable.pm URL: http://svn.apache.org/viewvc/perl/modperl/trunk/xs/tables/current/ModPerl/FunctionTable.pm?rev=1638351r1=1638350r2=1638351view=diff == --- perl/modperl/trunk/xs/tables/current/ModPerl/FunctionTable.pm (original) +++ perl/modperl/trunk/xs/tables/current/ModPerl/FunctionTable.pm Tue Nov 11 20:20:43 2014 @@ -8130,6 +8130,24 @@ $ModPerl::FunctionTable = [ }, { 'return_type' = 'SV *', +'name' = 'mpxs_apr_thread_rwlock_create', +'args' = [ + { +'type' = 'PerlInterpreter *', +'name' = 'my_perl' + }, + { +'type' = 'SV *', +'name' = 'classname' + }, + { +'type' = 'SV *', +'name' = 'p_sv' + } +] + }, + { +'return_type' = 'SV *', 'name' = 'mpxs_apr_uri_parse', 'args' = [ { Modified: perl/modperl/trunk/xs/tables/current24/ModPerl/FunctionTable.pm URL: http://svn.apache.org/viewvc/perl/modperl/trunk/xs/tables/current24/ModPerl/FunctionTable.pm?rev=1638351r1=1638350r2=1638351view=diff == --- perl/modperl/trunk/xs/tables/current24/ModPerl/FunctionTable.pm (original) +++ perl/modperl/trunk/xs/tables/current24/ModPerl/FunctionTable.pm Tue Nov 11 20:20:43 2014 @@ -6436,6 +6436,20 @@ $ModPerl::FunctionTable = [ ] }, { +'return_type' = 'void', +'name' = 'mpxs_Apache2__Connection_pnotes_kill', +'args' = [ + { +'type' = 'PerlInterpreter*', +'name' = 'my_perl' + }, + { +'type' = 'conn_rec *', +'name' = 'c' + } +] + }, + { 'return_type' = 'SV *', 'name' = 'mpxs_Apache2__Directive_as_hash', 'attr' = [ @@ -7311,6 +7325,20 @@ $ModPerl::FunctionTable = [ ] }, { + 'return_type' = 'void', +'name' = 'mpxs_Apache2__RequestRec_pnotes_kill', +'args' = [ + { +'type' = 'PerlInterpreter*', +'name' = 'my_perl' + }, + { +'type' = 'request_rec *', +'name' = 'r' + } +] + }, + { 'return_type' = 'SV *', 'name' = 'mpxs_Apache2__RequestRec_print', 'args' = [
svn commit: r1491887 - /perl/modperl/trunk/t/modperl/local_env.t
Author: gozer Date: Tue Jun 11 17:50:57 2013 New Revision: 1491887 URL: http://svn.apache.org/r1491887 Log: Re-enable test for local %ENV, now fixed. Fixed-By-Revision: 357236 Reviewed-By: Gozer Modified: perl/modperl/trunk/t/modperl/local_env.t Modified: perl/modperl/trunk/t/modperl/local_env.t URL: http://svn.apache.org/viewvc/perl/modperl/trunk/t/modperl/local_env.t?rev=1491887r1=1491886r2=1491887view=diff == --- perl/modperl/trunk/t/modperl/local_env.t (original) +++ perl/modperl/trunk/t/modperl/local_env.t Tue Jun 11 17:50:57 2013 @@ -5,8 +5,6 @@ use Apache::Test; use Apache::TestUtil; use Apache::TestRequest; -plan tests = 1, skip_reason('local %ENV is still broken'); - my $module = 'TestModperl::local_env'; my $url= Apache::TestRequest::module2url($module);
svn commit: r1221285 - /perl/modperl/trunk/lib/Apache2/Build.pm
Author: gozer Date: Tue Dec 20 14:40:21 2011 New Revision: 1221285 URL: http://svn.apache.org/viewvc?rev=1221285view=rev Log: Adjust for latest ExtUtils::MakeMaker internal change. We must call init_tools when it is available. Reference: https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/commit/f4904b4ce499b7f0c420efae69f44e19fe7dd12f Modified: perl/modperl/trunk/lib/Apache2/Build.pm Modified: perl/modperl/trunk/lib/Apache2/Build.pm URL: http://svn.apache.org/viewvc/perl/modperl/trunk/lib/Apache2/Build.pm?rev=1221285r1=1221284r2=1221285view=diff == --- perl/modperl/trunk/lib/Apache2/Build.pm (original) +++ perl/modperl/trunk/lib/Apache2/Build.pm Tue Dec 20 14:40:21 2011 @@ -1572,8 +1572,11 @@ sub make_tools { require ExtUtils::MakeMaker; my $mm = bless { @mm_init_vars }, 'MM'; -$mm-init_main; -$mm-init_others; + +# Fake initialize MakeMaker +foreach my $m (qw(init_main init_others init_tools)) { +$mm-$m() if $mm-can($m); +} for (qw(rm_f mv ld ar cp test_f)) { my $val = $mm-{\U$_};
svn commit: r1221359 - in /perl/modperl/trunk: Changes lib/Apache2/Build.pm
Author: gozer Date: Tue Dec 20 17:22:31 2011 New Revision: 1221359 URL: http://svn.apache.org/viewvc?rev=1221359view=rev Log: Apache 2.4 and onwards doesn't require linking the MPM module directly in the httpd binary anymore. APXS lost the MPM_NAME query, so we can't assume a given MPM anymore. Introduce a fake MPM 'dynamic' to represent this. Borrowed from the 2.4 branch Modified: perl/modperl/trunk/Changes perl/modperl/trunk/lib/Apache2/Build.pm Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewvc/perl/modperl/trunk/Changes?rev=1221359r1=1221358r2=1221359view=diff == --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Tue Dec 20 17:22:31 2011 @@ -12,6 +12,11 @@ Also refer to the Apache::Test changes l =item 2.0.6-dev +Apache 2.4 and onwards doesn't require linking the MPM module directly in +the httpd binary anymore. APXS lost the MPM_NAME query, so we can't assume +a given MPM anymore. Introduce a fake MPM 'dynamic' to represent this. +[Torsten Foertsch, Gozer] + Perl 5.14 brought a few changes in Perl_sv_dup() that made a threaded apache segfault while cloning interpreters. [Torsten Foertsch] Modified: perl/modperl/trunk/lib/Apache2/Build.pm URL: http://svn.apache.org/viewvc/perl/modperl/trunk/lib/Apache2/Build.pm?rev=1221359r1=1221358r2=1221359view=diff == --- perl/modperl/trunk/lib/Apache2/Build.pm (original) +++ perl/modperl/trunk/lib/Apache2/Build.pm Tue Dec 20 17:22:31 2011 @@ -276,7 +276,8 @@ sub caller_package { } my %threaded_mpms = map { $_ = 1 } -qw(worker winnt beos mpmt_os2 netware leader perchild threadpool); +qw(worker winnt beos mpmt_os2 netware leader perchild threadpool + dynamic); sub mpm_is_threaded { my $self = shift; my $mpm_name = $self-mpm_name(); @@ -291,7 +292,15 @@ sub mpm_name { # XXX: hopefully apxs will work on win32 one day return $self-{mpm_name} = 'winnt' if WIN32; -my $mpm_name = $self-apxs('-q' = 'MPM_NAME'); +my $mpm_name; + +# httpd = 2.3 +if ($self-httpd_version_as_int =~ m/^2[3-9]\d+/) { +$mpm_name = 'dynamic'; +} +else { +$mpm_name = $self-apxs('-q' = 'MPM_NAME'); +} # building against the httpd source dir unless (($mpm_name and $self-httpd_is_source_tree)) {
svn commit: r1205130 - in /perl/Apache-Reload/trunk: ./ t/ t/conf/
Author: gozer Date: Tue Nov 22 19:06:46 2011 New Revision: 1205130 URL: http://svn.apache.org/viewvc?rev=1205130view=rev Log: Add some svn:ignores Modified: perl/Apache-Reload/trunk/ (props changed) perl/Apache-Reload/trunk/t/ (props changed) perl/Apache-Reload/trunk/t/conf/ (props changed) Propchange: perl/Apache-Reload/trunk/ -- --- svn:ignore (added) +++ svn:ignore Tue Nov 22 19:06:46 2011 @@ -0,0 +1,8 @@ +blib +glue_pods +pm_to_blib +pm_to_blib.ts +blibdirs +blibdirs.ts +Makefile +Makefile.old Propchange: perl/Apache-Reload/trunk/t/ -- --- svn:ignore (added) +++ svn:ignore Tue Nov 22 19:06:46 2011 @@ -0,0 +1,4 @@ +logs +htdocs +TEST +SMOKE Propchange: perl/Apache-Reload/trunk/t/conf/ -- --- svn:ignore (added) +++ svn:ignore Tue Nov 22 19:06:46 2011 @@ -0,0 +1,8 @@ +extra.conf +httpd.conf +extra.last.conf +extra.conf.in +apache_test_config.pm +mime.types +modperl_inc.pl +modperl_startup.pl
svn commit: r978911 - /perl/modperl/branches/release/
Author: gozer Date: Sat Jul 24 17:41:54 2010 New Revision: 978911 URL: http://svn.apache.org/viewvc?rev=978911view=rev Log: create release branch holding area Added: perl/modperl/branches/release/
svn commit: r933408 - in /perl/modperl/trunk: lib/Apache2/Build.pm src/modules/perl/modperl_apache_compat.h xs/Apache2/RequestRec/Apache2__RequestRec.h xs/tables/current/Apache2/ConstantsTable.pm
Author: gozer Date: Mon Apr 12 20:59:02 2010 New Revision: 933408 URL: http://svn.apache.org/viewvc?rev=933408view=rev Log: revert rev 933407 Modified: perl/modperl/trunk/lib/Apache2/Build.pm perl/modperl/trunk/src/modules/perl/modperl_apache_compat.h perl/modperl/trunk/xs/Apache2/RequestRec/Apache2__RequestRec.h perl/modperl/trunk/xs/tables/current/Apache2/ConstantsTable.pm Modified: perl/modperl/trunk/lib/Apache2/Build.pm URL: http://svn.apache.org/viewvc/perl/modperl/trunk/lib/Apache2/Build.pm?rev=933408r1=933407r2=933408view=diff == --- perl/modperl/trunk/lib/Apache2/Build.pm (original) +++ perl/modperl/trunk/lib/Apache2/Build.pm Mon Apr 12 20:59:02 2010 @@ -511,7 +511,7 @@ my $Wall = # perl v5.6.1 and earlier produces lots of warnings, so we can't use # -Werror with those versions. -#$Wall .= -Werror if $] = 5.006002; +$Wall .= -Werror if $] = 5.006002; sub ap_ccopts { my ($self) = @_; Modified: perl/modperl/trunk/src/modules/perl/modperl_apache_compat.h URL: http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/modperl_apache_compat.h?rev=933408r1=933407r2=933408view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_apache_compat.h (original) +++ perl/modperl/trunk/src/modules/perl/modperl_apache_compat.h Mon Apr 12 20:59:02 2010 @@ -72,8 +72,4 @@ AP_DECLARE(const char *) ap_get_server_v OPT_SYM_OWNER | \ OPT_MULTI) -#ifndef PROXYREQ_RESPONSE -#define PROXYREQ_RESPONSE (3) -#endif - #endif /* MODPERL_APACHE_COMPAT_H */ Modified: perl/modperl/trunk/xs/Apache2/RequestRec/Apache2__RequestRec.h URL: http://svn.apache.org/viewvc/perl/modperl/trunk/xs/Apache2/RequestRec/Apache2__RequestRec.h?rev=933408r1=933407r2=933408view=diff == --- perl/modperl/trunk/xs/Apache2/RequestRec/Apache2__RequestRec.h (original) +++ perl/modperl/trunk/xs/Apache2/RequestRec/Apache2__RequestRec.h Mon Apr 12 20:59:02 2010 @@ -59,7 +59,7 @@ int mpxs_Apache2__RequestRec_proxyreq(pT r-parsed_uri.port : ap_default_port(r { -retval = r-proxyreq = PROXYREQ_PROXY; +retval = r-proxyreq = 1; r-uri = r-unparsed_uri; /* else mod_proxy will segfault */ r-filename = apr_pstrcat(r-pool, modperl-proxy:, r-uri, NULL); Modified: perl/modperl/trunk/xs/tables/current/Apache2/ConstantsTable.pm URL: http://svn.apache.org/viewvc/perl/modperl/trunk/xs/tables/current/Apache2/ConstantsTable.pm?rev=933408r1=933407r2=933408view=diff == --- perl/modperl/trunk/xs/tables/current/Apache2/ConstantsTable.pm (original) +++ perl/modperl/trunk/xs/tables/current/Apache2/ConstantsTable.pm Mon Apr 12 20:59:02 2010 @@ -232,7 +232,6 @@ $Apache2::ConstantsTable = { 'PROXYREQ_REVERSE', 'PROXYREQ_NONE', 'PROXYREQ_PROXY', - 'PROXYREQ_RESPONSE', ], }, 'APR::Const' = {
svn commit: r933411 - in /perl/modperl/trunk: Changes src/modules/perl/modperl_apache_compat.h xs/tables/current/Apache2/ConstantsTable.pm
Author: gozer Date: Mon Apr 12 21:02:14 2010 New Revision: 933411 URL: http://svn.apache.org/viewvc?rev=933411view=rev Log: Export PROXYREQ_RESPONSE, a missing PROXYREQ_* constant Modified: perl/modperl/trunk/Changes perl/modperl/trunk/src/modules/perl/modperl_apache_compat.h perl/modperl/trunk/xs/tables/current/Apache2/ConstantsTable.pm Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewvc/perl/modperl/trunk/Changes?rev=933411r1=933410r2=933411view=diff == --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Mon Apr 12 21:02:14 2010 @@ -12,6 +12,8 @@ Also refer to the Apache::Test changes l =item 2.0.5-dev +Export PROXYREQ_RESPONSE, a missing PROXYREQ_* constant [Gozer] + Make sure standard file descriptors are preserved by the perl-script handler [Torsten Foertsch] Modified: perl/modperl/trunk/src/modules/perl/modperl_apache_compat.h URL: http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/modperl_apache_compat.h?rev=933411r1=933410r2=933411view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_apache_compat.h (original) +++ perl/modperl/trunk/src/modules/perl/modperl_apache_compat.h Mon Apr 12 21:02:14 2010 @@ -72,4 +72,8 @@ AP_DECLARE(const char *) ap_get_server_v OPT_SYM_OWNER | \ OPT_MULTI) +#ifndef PROXYREQ_RESPONSE +#define PROXYREQ_RESPONSE (3) +#endif + #endif /* MODPERL_APACHE_COMPAT_H */ Modified: perl/modperl/trunk/xs/tables/current/Apache2/ConstantsTable.pm URL: http://svn.apache.org/viewvc/perl/modperl/trunk/xs/tables/current/Apache2/ConstantsTable.pm?rev=933411r1=933410r2=933411view=diff == --- perl/modperl/trunk/xs/tables/current/Apache2/ConstantsTable.pm (original) +++ perl/modperl/trunk/xs/tables/current/Apache2/ConstantsTable.pm Mon Apr 12 21:02:14 2010 @@ -232,6 +232,7 @@ $Apache2::ConstantsTable = { 'PROXYREQ_REVERSE', 'PROXYREQ_NONE', 'PROXYREQ_PROXY', + 'PROXYREQ_RESPONSE', ], }, 'APR::Const' = {
svn commit: r774171 - /perl/modperl/trunk/RELEASE
Author: gozer Date: Wed May 13 02:40:20 2009 New Revision: 774171 URL: http://svn.apache.org/viewvc?rev=774171view=rev Log: We no longer have direct access to perl.apache.org. people.apache.org replaces it for all release purposes, except it's on a delayed rsync from there to the live site. Updating RELEASE instructions accordingly Modified: perl/modperl/trunk/RELEASE Modified: perl/modperl/trunk/RELEASE URL: http://svn.apache.org/viewvc/perl/modperl/trunk/RELEASE?rev=774171r1=774170r2=774171view=diff == --- perl/modperl/trunk/RELEASE (original) +++ perl/modperl/trunk/RELEASE Wed May 13 02:40:20 2009 @@ -102,14 +102,14 @@ 4. Release the package and update links (e.g. mod_perl-2.0.5.tar.gz) - a. upload to perl.apache.org:/www/perl.apache.org/dist/ + a. upload to people.apache.org:/www/perl.apache.org/dist/ -% scp mod_perl-2.0.5.tar.gz perl.apache.org:/www/perl.apache.org/dist/ +% scp mod_perl-2.0.5.tar.gz people.apache.org:/www/perl.apache.org/dist/ - b. ssh to perl.apache.org, unpack the package, update symlinks to the + b. ssh to people.apache.org, unpack the package, update symlinks to the tar ball and unpacked distro: -% ssh perl.apache.org +% ssh people.apache.org % cd /www/perl.apache.org/dist/ % ln -sf mod_perl-2.0.5.tar.gz mod_perl-2.0-current.tar.gz % tar -xzvf mod_perl-2.0.5.tar.gz @@ -152,10 +152,10 @@ % pgps -b --armor mod_perl-2.0.5.tar.gz - b. upload the generated sig file to perl.apache.org: + b. upload the generated sig file to people.apache.org: -% scp mod_perl-2.0.5.tar.gz.asc perl.apache.org:/www/perl.apache.org/dist/ -% ssh perl.apache.org +% scp mod_perl-2.0.5.tar.gz.asc people.apache.org:/www/perl.apache.org/dist/ +% ssh people.apache.org % cd /www/perl.apache.org/dist/ % chmod 0664 mod_perl-2.0.5.tar.gz.asc % ln -sf mod_perl-2.0.5.tar.gz.asc mod_perl-2.0-current.tar.gz.asc
svn commit: r773759 - /perl/modperl/branches/1.x/Changes
Author: gozer Date: Tue May 12 01:59:47 2009 New Revision: 773759 URL: http://svn.apache.org/viewvc?rev=773759view=rev Log: releasing 1.31 Modified: perl/modperl/branches/1.x/Changes Modified: perl/modperl/branches/1.x/Changes URL: http://svn.apache.org/viewvc/perl/modperl/branches/1.x/Changes?rev=773759r1=773758r2=773759view=diff == --- perl/modperl/branches/1.x/Changes (original) +++ perl/modperl/branches/1.x/Changes Tue May 12 01:59:47 2009 @@ -8,7 +8,7 @@ =over 3 -=item 1.31-dev +=item 1.31 May 11, 2009 Fix static APACI build on Mac OS X. [Gozer]
svn commit: r773760 - /perl/modperl/tags/1_31/
Author: gozer Date: Tue May 12 02:00:29 2009 New Revision: 773760 URL: http://svn.apache.org/viewvc?rev=773760view=rev Log: releasing 1.30 Added: perl/modperl/tags/1_31/ - copied from r773759, perl/modperl/branches/1.x/
svn commit: r773761 - in /perl/modperl/branches/1.x: Changes RELEASE STATUS lib/mod_perl.pm
Author: gozer Date: Tue May 12 02:02:15 2009 New Revision: 773761 URL: http://svn.apache.org/viewvc?rev=773761view=rev Log: start 1.32 dev cycle Modified: perl/modperl/branches/1.x/Changes perl/modperl/branches/1.x/RELEASE perl/modperl/branches/1.x/STATUS perl/modperl/branches/1.x/lib/mod_perl.pm Modified: perl/modperl/branches/1.x/Changes URL: http://svn.apache.org/viewvc/perl/modperl/branches/1.x/Changes?rev=773761r1=773760r2=773761view=diff == --- perl/modperl/branches/1.x/Changes (original) +++ perl/modperl/branches/1.x/Changes Tue May 12 02:02:15 2009 @@ -8,6 +8,8 @@ =over 3 +=item 1.32-dev + =item 1.31 May 11, 2009 Fix static APACI build on Mac OS X. [Gozer] Modified: perl/modperl/branches/1.x/RELEASE URL: http://svn.apache.org/viewvc/perl/modperl/branches/1.x/RELEASE?rev=773761r1=773760r2=773761view=diff == --- perl/modperl/branches/1.x/RELEASE (original) +++ perl/modperl/branches/1.x/RELEASE Tue May 12 02:02:15 2009 @@ -30,7 +30,7 @@ make sure you give the correct permissions to them. 1. 'make dist' - to make sure nothing is missing from the manifest, - etc. Now test this generated package mod_perl-1.31-dev.tar.gz (not + etc. Now test this generated package mod_perl-1.32-dev.tar.gz (not the current build) with as many configurations as possible on as many platforms as possible, unpacking the package each time afresh. @@ -51,7 +51,7 @@ to the modperl/dev list (may be longer to give most people a chance to catch up). no need to tag this package - Subject: [RELEASE CANDIDATE]: mod_perl-1.31 RC\d+ + Subject: [RELEASE CANDIDATE]: mod_perl-1.32 RC\d+ 2a. if problems are detected during stage 2, repeat stages 1 and 2. @@ -78,29 +78,29 @@ f. test the final package again at least once -4. Release the package and update links (e.g. mod_perl-1.31.tar.gz) +4. Release the package and update links (e.g. mod_perl-1.32.tar.gz) a. upload to perl.apache.org:/www/perl.apache.org/dist/ -% scp mod_perl-1.31.tar.gz perl.apache.org:/www/perl.apache.org/dist/ +% scp mod_perl-1.32.tar.gz perl.apache.org:/www/perl.apache.org/dist/ b. ssh to perl.apache.org, unpack the package, update symlinks to the tar ball and unpacked distro: % ssh perl.apache.org % cd /www/perl.apache.org/dist/ -% ln -sf mod_perl-1.31.tar.gz mod_perl-1.1-current.tar.gz -% tar -xzvf mod_perl-1.31.tar.gz -% rm /www/perl.apache.org/dist/mod_perl-1.1-current -% ln -sf mod_perl-1.31 mod_perl-1.1-current +% ln -sf mod_perl-1.32.tar.gz mod_perl-1.2-current.tar.gz +% tar -xzvf mod_perl-1.32.tar.gz +% rm /www/perl.apache.org/dist/mod_perl-1.2-current +% ln -sf mod_perl-1.32 mod_perl-1.2-current c. archive older releases (keep current + one prior release) -% mv /www/perl.apache.org/dist/mod_perl-1.29.tar.gz \ +% mv /www/perl.apache.org/dist/mod_perl-1.30.tar.gz \ /www/perl.apache.org/dist/old -% mv /www/perl.apache.org/dist/mod_perl-1.30.tar.gz.asc \ +% mv /www/perl.apache.org/dist/mod_perl-1.31.tar.gz.asc \ /www/perl.apache.org/dist/old -% rm -rf /www/perl.apache.org/dist/mod_perl-1.29 +% rm -rf /www/perl.apache.org/dist/mod_perl-1.30 d. update the version and release date modperl-docs/src/download/index_top.html and commit. It'll be @@ -123,27 +123,27 @@ a. sign your local copy of the tarball: -% gpg --detach-sign --armor mod_perl-1.31.tar.gz +% gpg --detach-sign --armor mod_perl-1.32.tar.gz -% pgps -b --armor mod_perl-1.31.tar.gz +% pgps -b --armor mod_perl-1.32.tar.gz b. upload the generated sig file to perl.apache.org: -% scp mod_perl-1.31.tar.gz.asc perl.apache.org:/www/perl.apache.org/dist/ +% scp mod_perl-1.32.tar.gz.asc perl.apache.org:/www/perl.apache.org/dist/ % ssh perl.apache.org % cd /www/perl.apache.org/dist/ -% chmod 0664 mod_perl-1.31.tar.gz.asc -% ln -sf mod_perl-1.31.tar.gz.asc mod_perl-1.1-current.tar.gz.asc +% chmod 0664 mod_perl-1.32.tar.gz.asc +% ln -sf mod_perl-1.32.tar.gz.asc mod_perl-1.2-current.tar.gz.asc c. ask one of the other developers to double check the signature file and tarball: download both files and verify the signature: -http://perl.apache.org/dist/mod_perl-1.31.tar.gz.asc -http://perl.apache.org/dist/mod_perl-1.31.tar.gz +http://perl.apache.org/dist/mod_perl-1.32.tar.gz.asc +http://perl.apache.org/dist/mod_perl-1.32.tar.gz -% gpg --verify mod_perl-1.31.tar.gz.asc +% gpg --verify mod_perl-1.32.tar.gz.asc -% pgpv mod_perl-1.31.tar.gz.asc +% pgpv mod_perl-1.32.tar.gz.asc d. make sure that the files you just created are group rw so all the dist admins can make changes: @@ -157,10 +157,10 @@ a. unpack the package, update symlinks
svn commit: r773444 - in /perl/modperl/branches/1.x: Changes apaci/mod_perl.config.sh
Author: gozer Date: Mon May 11 01:21:15 2009 New Revision: 773444 URL: http://svn.apache.org/viewvc?rev=773444view=rev Log: Fix broken APACI static builds on recent Mac OS X. Reported-By: da...@kineticode.com Modified: perl/modperl/branches/1.x/Changes perl/modperl/branches/1.x/apaci/mod_perl.config.sh Modified: perl/modperl/branches/1.x/Changes URL: http://svn.apache.org/viewvc/perl/modperl/branches/1.x/Changes?rev=773444r1=773443r2=773444view=diff == --- perl/modperl/branches/1.x/Changes (original) +++ perl/modperl/branches/1.x/Changes Mon May 11 01:21:15 2009 @@ -10,6 +10,8 @@ =item 1.31-dev +Fix static APACI build on Mac OS X. [Gozer] + Fix XSS vulnerability in Apache::Status reported by Richard J. Brain, CVE-2009-0796 [Fred Moyer] Modified: perl/modperl/branches/1.x/apaci/mod_perl.config.sh URL: http://svn.apache.org/viewvc/perl/modperl/branches/1.x/apaci/mod_perl.config.sh?rev=773444r1=773443r2=773444view=diff == --- perl/modperl/branches/1.x/apaci/mod_perl.config.sh (original) +++ perl/modperl/branches/1.x/apaci/mod_perl.config.sh Mon May 11 01:21:15 2009 @@ -133,6 +133,12 @@ perl_lddlflags=$perl_lddlflags $XLINKER-bI:\$(APACHELIBEXEC)/httpd.exp ;; +darwin*) +# OS X has .bundle's, .so's and .dylib's, but we need to normalize +# to .so, so keep it simple, and blindly normalize +perl_dlext=`echo $perl_dlext | sed -e's/bundle/so/' | sed -e's/dylib/so/'` +;; + cygwin*) perl_ld=gcc -shared ;;
svn commit: r758847 - /perl/modperl/trunk/INSTALL
Author: gozer Date: Thu Mar 26 20:49:51 2009 New Revision: 758847 URL: http://svn.apache.org/viewvc?rev=758847view=rev Log: whitespace fix to test buildbot Modified: perl/modperl/trunk/INSTALL Modified: perl/modperl/trunk/INSTALL URL: http://svn.apache.org/viewvc/perl/modperl/trunk/INSTALL?rev=758847r1=758846r2=758847view=diff == --- perl/modperl/trunk/INSTALL (original) +++ perl/modperl/trunk/INSTALL Thu Mar 26 20:49:51 2009 @@ -27,3 +27,4 @@ http://perl.apache.org/docs/2.0/user/install/install.pod http://perl.apache.org/docs/2.0/user/config/config.pod +
svn commit: r693357 - in /perl/modperl/trunk/src/modules/perl: modperl_apache_compat.c modperl_common_log.h
Author: gozer Date: Mon Sep 8 20:46:19 2008 New Revision: 693357 URL: http://svn.apache.org/viewvc?rev=693357view=rev Log: __func__ is gcc-specific, use the safer, cross-platform MP_FUNC instead. Note: this needed exposing MP_FUNC all the time, not just when MP_TRACE is enabled, but since it's a preprocessor macro, it will not hurt at all. Modified: perl/modperl/trunk/src/modules/perl/modperl_apache_compat.c perl/modperl/trunk/src/modules/perl/modperl_common_log.h Modified: perl/modperl/trunk/src/modules/perl/modperl_apache_compat.c URL: http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/modperl_apache_compat.c?rev=693357r1=693356r2=693357view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_apache_compat.c (original) +++ perl/modperl/trunk/src/modules/perl/modperl_apache_compat.c Mon Sep 8 20:46:19 2008 @@ -36,7 +36,7 @@ dTHX; \ Perl_warn(aTHX_ %s() not available until httpd/%s \ falling back to %s(), \ - __func__, ver, fallback); \ + MP_FUNC, ver, fallback); \ } /* added in APACHE_2.2.4 */ @@ -59,7 +59,7 @@ dTHX; \ Perl_warn(aTHX_ %s() is deprecated since httpd/%s \ try using %s() instead, \ - __func__, ver, fallback); \ + MP_FUNC, ver, fallback); \ } AP_DECLARE(const char *) ap_get_server_version(void) { Modified: perl/modperl/trunk/src/modules/perl/modperl_common_log.h URL: http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/modperl_common_log.h?rev=693357r1=693356r2=693357view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_common_log.h (original) +++ perl/modperl/trunk/src/modules/perl/modperl_common_log.h Mon Sep 8 20:46:19 2008 @@ -20,7 +20,6 @@ #define MP_STRINGIFY(n) MP_STRINGIFY_HELPER(n) #define MP_STRINGIFY_HELPER(n) #n -#ifdef MP_TRACE # if defined(__GNUC__) # if (__GNUC__ 2) # define MP_FUNC __func__ @@ -30,9 +29,6 @@ # else # define MP_FUNC __FILE__ : MP_STRINGIFY(__LINE__) # endif -#else -# define MP_FUNC NULL -#endif #include modperl_apr_includes.h #include apr_lib.h
svn commit: r649412 - in /perl/modperl/trunk: Changes src/modules/perl/mod_perl.c
Author: gozer Date: Fri Apr 18 01:53:11 2008 New Revision: 649412 URL: http://svn.apache.org/viewvc?rev=649412view=rev Log: Make sure mod_perl's own ChildInitHandlers are run before user supplied ones. This fixes the incorrectly reported value of $$ at ChildInit time Reported-By: Mark Blackman [EMAIL PROTECTED] Message-Id: [EMAIL PROTECTED] Modified: perl/modperl/trunk/Changes perl/modperl/trunk/src/modules/perl/mod_perl.c Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewvc/perl/modperl/trunk/Changes?rev=649412r1=649411r2=649412view=diff == --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Fri Apr 18 01:53:11 2008 @@ -12,6 +12,10 @@ =item 2.0.5-dev +Make sure mod_perl's own ChildInitHandlers are run before user +supplied ones. This fixes the incorrectly reported value of $$ +at ChildInit time [Gozer] + =item 2.0.4 April 16, 2008 Fix $r-location corruption under certain conditions Modified: perl/modperl/trunk/src/modules/perl/mod_perl.c URL: http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/mod_perl.c?rev=649412r1=649411r2=649412view=diff == --- perl/modperl/trunk/src/modules/perl/mod_perl.c (original) +++ perl/modperl/trunk/src/modules/perl/mod_perl.c Fri Apr 18 01:53:11 2008 @@ -896,7 +896,7 @@ NULL, NULL, MODPERL_HOOK_REALLY_REALLY_FIRST); ap_hook_child_init(modperl_hook_child_init, - NULL, NULL, APR_HOOK_FIRST); + NULL, NULL, MODPERL_HOOK_REALLY_REALLY_FIRST); modperl_register_handler_hooks(); }
svn commit: r648962 - /perl/modperl/tags/2_0_4/
Author: gozer Date: Wed Apr 16 23:07:13 2008 New Revision: 648962 URL: http://svn.apache.org/viewvc?rev=648962view=rev Log: Releasing 2.0.4 Added: perl/modperl/tags/2_0_4/ - copied from r648961, perl/modperl/trunk/
svn commit: r648975 - in /perl/modperl/trunk: Changes RELEASE STATUS lib/mod_perl2.pm
Author: gozer Date: Wed Apr 16 23:37:13 2008 New Revision: 648975 URL: http://svn.apache.org/viewvc?rev=648975view=rev Log: start 2.0.4-dev cycle Modified: perl/modperl/trunk/Changes perl/modperl/trunk/RELEASE perl/modperl/trunk/STATUS perl/modperl/trunk/lib/mod_perl2.pm Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewvc/perl/modperl/trunk/Changes?rev=648975r1=648974r2=648975view=diff == --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Wed Apr 16 23:37:13 2008 @@ -10,6 +10,8 @@ =over 3 +=item 2.0.5-dev + =item 2.0.4 April 16, 2008 Fix $r-location corruption under certain conditions Modified: perl/modperl/trunk/RELEASE URL: http://svn.apache.org/viewvc/perl/modperl/trunk/RELEASE?rev=648975r1=648974r2=648975view=diff == --- perl/modperl/trunk/RELEASE (original) +++ perl/modperl/trunk/RELEASE Wed Apr 16 23:37:13 2008 @@ -30,7 +30,7 @@ make sure you give the correct permissions to them. 1. 'make dist' - to make sure nothing is missing from the manifest, - etc. Now test this generated package mod_perl-2.0.4.tar.gz (not + etc. Now test this generated package mod_perl-2.0.5.tar.gz (not the current build) with as many configurations as possible on as many platforms as possible, unpacking the package each time afresh. @@ -55,7 +55,7 @@ to the modperl/dev list (may be longer to give most people a chance to catch up). no need to tag this package - Subject: [RELEASE CANDIDATE]: mod_perl-2.0.4 RC\d+ + Subject: [RELEASE CANDIDATE]: mod_perl-2.0.5 RC\d+ 2a. if problems are detected during stage 2, repeat stages 1 and 2. @@ -82,8 +82,8 @@ f. Update the svn:externals in the new tag (you can't propedit remotely yet in svn) - svn co https://svn.apache.org/repos/asf/perl/modperl/tags/2_0_3 - svn propedit svn:externals 2_0_3 + svn co https://svn.apache.org/repos/asf/perl/modperl/tags/2_0_5 + svn propedit svn:externals 2_0_5 Update the Apache-Test line to the tag you previously created. Update the docs line to the current tag. svn ci @@ -93,29 +93,29 @@ h. test the final package again at least once -4. Release the package and update links (e.g. mod_perl-2.0.4.tar.gz) +4. Release the package and update links (e.g. mod_perl-2.0.5.tar.gz) a. upload to www.apache.org:/www/perl.apache.org/dist/ -% scp mod_perl-2.0.4.tar.gz perl.apache.org:/www/perl.apache.org/dist/ +% scp mod_perl-2.0.5.tar.gz perl.apache.org:/www/perl.apache.org/dist/ b. ssh to perl.apache.org, unpack the package, update symlinks to the tar ball and unpacked distro: % ssh perl.apache.org % cd /www/perl.apache.org/dist/ -% ln -sf mod_perl-2.0.4.tar.gz mod_perl-2.0-current.tar.gz -% tar -xzvf mod_perl-2.0.4.tar.gz +% ln -sf mod_perl-2.0.5.tar.gz mod_perl-2.0-current.tar.gz +% tar -xzvf mod_perl-2.0.5.tar.gz % rm /www/perl.apache.org/dist/mod_perl-2.0-current -% ln -sf mod_perl-2.0.4 mod_perl-2.0-current +% ln -sf mod_perl-2.0.5 mod_perl-2.0-current c. archive older releases (keep current + one prior release) -% mv /www/perl.apache.org/dist/mod_perl-2.0.2.tar.gz \ +% mv /www/perl.apache.org/dist/mod_perl-2.0.3.tar.gz \ /www/perl.apache.org/dist/old -% mv /www/perl.apache.org/dist/mod_perl-2.0.2.tar.gz.asc \ +% mv /www/perl.apache.org/dist/mod_perl-2.0.3.tar.gz.asc \ /www/perl.apache.org/dist/old -% rm -rf /www/perl.apache.org/dist/mod_perl-2.0.2 +% rm -rf /www/perl.apache.org/dist/mod_perl-2.0.3 d. update the version and release date modperl-docs/src/download/index_top.html and commit. It'll be @@ -138,27 +138,27 @@ a. sign your local copy of the tarball: -% gpg --detach-sign --armor mod_perl-2.0.4.tar.gz +% gpg --detach-sign --armor mod_perl-2.0.5.tar.gz -% pgps -b --armor mod_perl-2.0.4.tar.gz +% pgps -b --armor mod_perl-2.0.5.tar.gz b. upload the generated sig file to www.apache.org: -% scp mod_perl-2.0.4.tar.gz.asc perl.apache.org:/www/perl.apache.org/dist/ +% scp mod_perl-2.0.5.tar.gz.asc perl.apache.org:/www/perl.apache.org/dist/ % ssh www.apache.org % cd /www/perl.apache.org/dist/ -% chmod 0664 mod_perl-2.0.4.tar.gz.asc -% ln -sf mod_perl-2.0.4.tar.gz.asc mod_perl-2.0-current.tar.gz.asc +% chmod 0664 mod_perl-2.0.5.tar.gz.asc +% ln -sf mod_perl-2.0.5.tar.gz.asc mod_perl-2.0-current.tar.gz.asc c. ask one of the other developers to double check the signature file and tarball: download both files and verify the signature: -http://perl.apache.org/dist/mod_perl-2.0.4.tar.gz.asc -http://perl.apache.org/dist/mod_perl-2.0.4.tar.gz +http://perl.apache.org/dist/mod_perl-2.0.5.tar.gz.asc +http://perl.apache.org/dist/mod_perl
svn commit: r648991 - in /perl/modperl/trunk: Makefile.PL RELEASE
Author: gozer Date: Thu Apr 17 01:02:01 2008 New Revision: 648991 URL: http://svn.apache.org/viewvc?rev=648991view=rev Log: Cleanup the RELEASE instructions for next time. Modified: perl/modperl/trunk/Makefile.PL perl/modperl/trunk/RELEASE Modified: perl/modperl/trunk/Makefile.PL URL: http://svn.apache.org/viewvc/perl/modperl/trunk/Makefile.PL?rev=648991r1=648990r2=648991view=diff == --- perl/modperl/trunk/Makefile.PL (original) +++ perl/modperl/trunk/Makefile.PL Thu Apr 17 01:02:01 2008 @@ -817,7 +817,6 @@ tag : svn copy https://svn.apache.org/repos/asf/perl/modperl/trunk https://svn.apache.org/repos/asf/perl/modperl/tags/$(VERSION_SYM) svn copy https://svn.apache.org/repos/asf/perl/modperl/docs/trunk https://svn.apache.org/repos/asf/perl/modperl/docs/tags/$(VERSION_SYM) - @$(ECHO) update mod_perl2.pm VERSION now EOF return $string; Modified: perl/modperl/trunk/RELEASE URL: http://svn.apache.org/viewvc/perl/modperl/trunk/RELEASE?rev=648991r1=648990r2=648991view=diff == --- perl/modperl/trunk/RELEASE (original) +++ perl/modperl/trunk/RELEASE Thu Apr 17 01:02:01 2008 @@ -75,18 +75,24 @@ % make -n tag d. commit Changes README Makefile.PL - % svn ci Changes README Makefile.PL + % svn ci -m Releasing 2.0.5 Changes README Makefile.PL e. tag % make tag f. Update the svn:externals in the new tag (you can't propedit remotely yet in svn) - svn co https://svn.apache.org/repos/asf/perl/modperl/tags/2_0_5 - svn propedit svn:externals 2_0_5 - Update the Apache-Test line to the tag you previously created. + % svn co https://svn.apache.org/repos/asf/perl/modperl/tags/2_0_5 + % svn propedit svn:externals 2_0_5 + Update the Apache-Test line to current revision + % svn info https://svn.apache.org/repos/asf/perl/Apache-Test/trunk | grep Last Changed Rev Update the docs line to the current tag. - svn ci + It should look like: + % svn propget svn:externals 2_0_5 + Apache-Test -r 608229 https://svn.apache.org/repos/asf/perl/Apache-Test/trunk + docs https://svn.apache.org/repos/asf/perl/modperl/docs/tags/2_0_5/src/docs/2.0 + + % svn ci -m Releasing 2.0.5 g. create the final package % make dist @@ -95,7 +101,7 @@ 4. Release the package and update links (e.g. mod_perl-2.0.5.tar.gz) - a. upload to www.apache.org:/www/perl.apache.org/dist/ + a. upload to perl.apache.org:/www/perl.apache.org/dist/ % scp mod_perl-2.0.5.tar.gz perl.apache.org:/www/perl.apache.org/dist/ @@ -117,17 +123,20 @@ /www/perl.apache.org/dist/old % rm -rf /www/perl.apache.org/dist/mod_perl-2.0.3 - d. update the version and release date - modperl-docs/src/download/index_top.html and commit. It'll be - automatically updated within 6 hours. Alternatively you can do a - manual update by logging into www.apache.org and running: - -% /home/perlwww/apache.org/modperl-docs/bin/site_build + d. update the version and release date in the docs: +% vi modperl-docs/src/download/index_top.html +% vi modperl-docs/doap_Perl.rdf - e. update our projects.apache.org doap file with the new release - version and date + and commit. +% svn ci -m Releasing 2.0.5 \ + modperl-docs/src/download/index_top.html \ + modperl-docs/doap_Perl.rdf + + It'll be automatically updated within 6 hours. Alternatively + you can do a manual update by logging into www.apache.org and + running: -% vi modperl-docs/doap_Perl.rdf +% /home/perlwww/apache.org/modperl-docs/bin/site_build 5. Upload the package to CPAN @@ -142,10 +151,10 @@ % pgps -b --armor mod_perl-2.0.5.tar.gz - b. upload the generated sig file to www.apache.org: + b. upload the generated sig file to perl.apache.org: % scp mod_perl-2.0.5.tar.gz.asc perl.apache.org:/www/perl.apache.org/dist/ -% ssh www.apache.org +% ssh perl.apache.org % cd /www/perl.apache.org/dist/ % chmod 0664 mod_perl-2.0.5.tar.gz.asc % ln -sf mod_perl-2.0.5.tar.gz.asc mod_perl-2.0-current.tar.gz.asc @@ -163,8 +172,8 @@ d. make sure that the files you just created are group rw so all the dist admins can make changes: -% find /www/perl.apache.org/dist/ -user $USER -type f -exec chmod 0664 {} \; -% find /www/perl.apache.org/dist/ -user $USER -type d -exec chmod 0775 {} \; +% find /www/perl.apache.org/dist/ -user $USER -type f -print0 | xargs -0 chmod 0664 +% find /www/perl.apache.org/dist/ -user $USER -type d -print0 | xargs -0 chmod 0775 7. Distribute to www.apache.org/dist/perl and archive the old package under /www/archive.apache.org/dist/perl/ @@ -181,8 +190,8 @@ all the dist admins can make changes: -% find /www/www.apache.org/dist/ -user
svn commit: r643753 - in /perl/modperl/branches/1.x: Changes src/modules/perl/Apache.xs
Author: gozer Date: Tue Apr 1 23:05:27 2008 New Revision: 643753 URL: http://svn.apache.org/viewvc?rev=643753view=rev Log: Fix potential segfault when the environment contains NULL values Reviewed-By: gozer Submitted-By: Mike Schilli [EMAIL PROTECTED] Message-ID: [EMAIL PROTECTED] Modified: perl/modperl/branches/1.x/Changes perl/modperl/branches/1.x/src/modules/perl/Apache.xs Modified: perl/modperl/branches/1.x/Changes URL: http://svn.apache.org/viewvc/perl/modperl/branches/1.x/Changes?rev=643753r1=643752r2=643753view=diff == --- perl/modperl/branches/1.x/Changes (original) +++ perl/modperl/branches/1.x/Changes Tue Apr 1 23:05:27 2008 @@ -10,6 +10,9 @@ =item 1.31-dev +Fix potential segfault when the environment contains +NULL values [Mike Schilli] + Fix static APACI build against newer apache-1.3.38+ [Gozer] Modified: perl/modperl/branches/1.x/src/modules/perl/Apache.xs URL: http://svn.apache.org/viewvc/perl/modperl/branches/1.x/src/modules/perl/Apache.xs?rev=643753r1=643752r2=643753view=diff == --- perl/modperl/branches/1.x/src/modules/perl/Apache.xs (original) +++ perl/modperl/branches/1.x/src/modules/perl/Apache.xs Tue Apr 1 23:05:27 2008 @@ -1325,7 +1325,7 @@ table_entry *elts = (table_entry *)arr-elts; SP -= items; for (i = 0; i arr-nelts; ++i) { - if (!elts[i].key) continue; + if (!elts[i].key || !elts[i].val) continue; PUSHelt(elts[i].key, elts[i].val, 0); } PUTBACK;
svn commit: r636631 - /perl/modperl/trunk/src/modules/perl/modperl_interp.c
Author: gozer Date: Wed Mar 12 22:25:22 2008 New Revision: 636631 URL: http://svn.apache.org/viewvc?rev=636631view=rev Log: Fix a subtle typo. return; is mostly undefined, try return NULL instead. Reviewed-By: gozer Submitted-By: Niko Tyni [EMAIL PROTECTED] Message-ID: [EMAIL PROTECTED] Modified: perl/modperl/trunk/src/modules/perl/modperl_interp.c Modified: perl/modperl/trunk/src/modules/perl/modperl_interp.c URL: http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/modperl_interp.c?rev=636631r1=636630r2=636631view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_interp.c (original) +++ perl/modperl/trunk/src/modules/perl/modperl_interp.c Wed Mar 12 22:25:22 2008 @@ -581,7 +581,7 @@ modperl_interp_t *interp; dTHXa(thx); SV **svp = hv_fetch(PL_modglobal, MP_THX_INTERP_KEY, strlen(MP_THX_INTERP_KEY), 0); -if (!svp) return; +if (!svp) return NULL; interp = INT2PTR(modperl_interp_t *, SvIV(*svp)); return interp; }
svn commit: r632150 - /perl/modperl/branches/1.x/lib/Apache/FakeRequest.pm
Author: gozer Date: Thu Feb 28 14:48:16 2008 New Revision: 632150 URL: http://svn.apache.org/viewvc?rev=632150view=rev Log: Silence a warning under Perl-5.10 Name Apache::FakeRequest used only once: possible typo Reviewed-by: Gozer From: David E. Wheeler [EMAIL PROTECTED] Message-ID: [EMAIL PROTECTED] Modified: perl/modperl/branches/1.x/lib/Apache/FakeRequest.pm Modified: perl/modperl/branches/1.x/lib/Apache/FakeRequest.pm URL: http://svn.apache.org/viewvc/perl/modperl/branches/1.x/lib/Apache/FakeRequest.pm?rev=632150r1=632149r2=632150view=diff == --- perl/modperl/branches/1.x/lib/Apache/FakeRequest.pm (original) +++ perl/modperl/branches/1.x/lib/Apache/FakeRequest.pm Thu Feb 28 14:48:16 2008 @@ -23,7 +23,7 @@ filename get_basic_auth_pw get_remote_host get_remote_logname handler hard_timeout header_in header_only header_out - headers_in headers_out hostname import + headers_in headers_out hostname internal_redirect_handler is_initial_req is_main kill_timeout log_error log_reason lookup_file lookup_uri main @@ -68,6 +68,7 @@ parse_args(wantarray, $r-{args}); } +sub import { shift-elem('import', @_) if ref $_[0] } { my @code;
svn commit: r631130 - in /perl/modperl/branches/1.x: Changes apaci/Makefile.tmpl apaci/mod_perl.config.sh
Author: gozer Date: Tue Feb 26 00:43:35 2008 New Revision: 631130 URL: http://svn.apache.org/viewvc?rev=631130view=rev Log: Fix static APACI build against newer apache-1.3.38+ apache now uses LIBEXT in its own makefiles, clobbering our own. LIBEXT is the extension for librairies, and that becomes .a when building static. In our case, we were actually interested in knowing the extension for dynamic librairies, so using perl_dlext is the correct thing to do. Modified: perl/modperl/branches/1.x/Changes perl/modperl/branches/1.x/apaci/Makefile.tmpl perl/modperl/branches/1.x/apaci/mod_perl.config.sh Modified: perl/modperl/branches/1.x/Changes URL: http://svn.apache.org/viewvc/perl/modperl/branches/1.x/Changes?rev=631130r1=631129r2=631130view=diff == --- perl/modperl/branches/1.x/Changes (original) +++ perl/modperl/branches/1.x/Changes Tue Feb 26 00:43:35 2008 @@ -10,6 +10,9 @@ =item 1.31-dev +Fix static APACI build against newer apache-1.3.38+ +[Gozer] + Fixed modules/regex.t test 4 on Win32 [Steve Hay] Modified: perl/modperl/branches/1.x/apaci/Makefile.tmpl URL: http://svn.apache.org/viewvc/perl/modperl/branches/1.x/apaci/Makefile.tmpl?rev=631130r1=631129r2=631130view=diff == --- perl/modperl/branches/1.x/apaci/Makefile.tmpl (original) +++ perl/modperl/branches/1.x/apaci/Makefile.tmpl Tue Feb 26 00:43:35 2008 @@ -56,7 +56,7 @@ $(MP_AR) crv $@ $(MP_OBJS) $(MP_RANLIB) $@ -libperl.$(LIBEXT): $(MP_OBJS_PIC) +libperl.$(PERL_DLEXT): $(MP_OBJS_PIC) $(MP_RM) $@ $(MP_LD) $(MP_LDFLAGS_SHLIB) -o $@ $(MP_OBJS_PIC) $(MP_LIBS) Modified: perl/modperl/branches/1.x/apaci/mod_perl.config.sh URL: http://svn.apache.org/viewvc/perl/modperl/branches/1.x/apaci/mod_perl.config.sh?rev=631130r1=631129r2=631130view=diff == --- perl/modperl/branches/1.x/apaci/mod_perl.config.sh (original) +++ perl/modperl/branches/1.x/apaci/mod_perl.config.sh Tue Feb 26 00:43:35 2008 @@ -121,6 +121,7 @@ perl_ld=`$perl_config 'ld'` perl_ldflags=`$perl_config 'ldflags'` perl_lddlflags=`$perl_config 'lddlflags'` +perl_dlext=`$perl_config 'dlext'` case $os_version in aix*) @@ -244,6 +245,7 @@ echo PERL_LD=$perl_ld echo PERL_LDFLAGS=$perl_ldflags echo PERL_LDDLFLAGS=$perl_lddlflags +echo PERL_DLEXT=$perl_dlext echo PERL_LIBS=$perl_libs $perl_static_ar echo PERL_XSINIT=$perl_xsinit echo PERL_XSUBPP=$perl_xsubpp
svn commit: r630597 - in /perl/modperl/trunk: Changes src/modules/perl/modperl_config.c t/response/TestAPI/add_config.pm
Author: gozer Date: Sat Feb 23 23:23:16 2008 New Revision: 630597 URL: http://svn.apache.org/viewvc?rev=630597view=rev Log: Fix a possible $r-location curruption. Sometimes, the path copied into $r-location would end it's life before $r. Reviewed-By: gozer Submitted-By: Torsten Foertsch [EMAIL PROTECTED] Message-ID: [EMAIL PROTECTED] Modified: perl/modperl/trunk/Changes perl/modperl/trunk/src/modules/perl/modperl_config.c perl/modperl/trunk/t/response/TestAPI/add_config.pm Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewvc/perl/modperl/trunk/Changes?rev=630597r1=630596r2=630597view=diff == --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Sat Feb 23 23:23:16 2008 @@ -12,6 +12,9 @@ =item 2.0.4-dev +Fix $r-location corruption under certain conditions +[Gozer] + Fix a crash when spawning Perl threads under Perl 5.10 [Gozer] Modified: perl/modperl/trunk/src/modules/perl/modperl_config.c URL: http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/modperl_config.c?rev=630597r1=630596r2=630597view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_config.c (original) +++ perl/modperl/trunk/src/modules/perl/modperl_config.c Sat Feb 23 23:23:16 2008 @@ -518,7 +518,7 @@ parms.limited = -1; parms.server = s; parms.override = override; -parms.path = path; +parms.path = apr_pstrdup(p, path); parms.pool = p; #ifdef MP_HTTPD_HAS_OVERRIDE_OPTS if (override_options == MP_HTTPD_OVERRIDE_OPTS_UNSET) { Modified: perl/modperl/trunk/t/response/TestAPI/add_config.pm URL: http://svn.apache.org/viewvc/perl/modperl/trunk/t/response/TestAPI/add_config.pm?rev=630597r1=630596r2=630597view=diff == --- perl/modperl/trunk/t/response/TestAPI/add_config.pm (original) +++ perl/modperl/trunk/t/response/TestAPI/add_config.pm Sat Feb 23 23:23:16 2008 @@ -58,6 +58,14 @@ }; $r-pnotes(followsymlinks = $@); +eval { +my $path=/a/path/to/somewhere; +$r-add_config(['PerlResponseHandler '.__PACKAGE__], -1, $path); +# now overwrite the path in place to see if the location pointer +# is really copied: see modperl_config_dir_create +$path=~tr[a-z][n-za-m]; +}; + return Apache2::Const::DECLINED; } @@ -82,7 +90,7 @@ my ($self, $r) = @_; my $cf = $self-get_config($r-server); -plan $r, tests = 8; +plan $r, tests = 9; ok t_cmp $r-pnotes('add_config1'), qr/.+\n/; ok t_cmp $r-pnotes('add_config2'), (APACHE22 ? qr/.+\n/ : ''); @@ -102,6 +110,8 @@ my $opts = APACHE22 ? Apache2::Const::OPT_SYM_LINKS : $expect; ok t_cmp $r-allow_override_opts, $opts; +ok t_cmp $r-location, '/a/path/to/somewhere'; + return Apache2::Const::OK; } @@ -117,7 +127,6 @@ Directory @DocumentRoot@ AllowOverride All /Directory -PerlResponseHandler TestAPI::add_config PerlMapToStorageHandler TestAPI::add_config::map2storage PerlFixupHandler TestAPI::add_config::fixup /VirtualHost
svn commit: r628249 - /perl/modperl/trunk/xs/APR/Pool/APR__Pool.h
Author: gozer Date: Fri Feb 15 23:59:54 2008 New Revision: 628249 URL: http://svn.apache.org/viewvc?rev=628249view=rev Log: Remove strange, leftover 'static' declaration. Surprising this is even valid C Reported-By: Randy Kobes [EMAIL PROTECTED] Message-ID: [EMAIL PROTECTED] Modified: perl/modperl/trunk/xs/APR/Pool/APR__Pool.h Modified: perl/modperl/trunk/xs/APR/Pool/APR__Pool.h URL: http://svn.apache.org/viewvc/perl/modperl/trunk/xs/APR/Pool/APR__Pool.h?rev=628249r1=628248r2=628249view=diff == --- perl/modperl/trunk/xs/APR/Pool/APR__Pool.h (original) +++ perl/modperl/trunk/xs/APR/Pool/APR__Pool.h Fri Feb 15 23:59:54 2008 @@ -40,7 +40,6 @@ #ifndef MP_SOURCE_SCAN #include apr_optional.h -static APR_OPTIONAL_FN_TYPE(modperl_interp_unselect) *modperl_opt_interp_unselect; APR_OPTIONAL_FN_TYPE(modperl_thx_interp_get) *modperl_opt_thx_interp_get; #endif
svn commit: r628251 - in /perl/modperl/trunk: lib/ModPerl/WrapXS.pm src/modules/perl/mod_perl.h xs/APR/Pool/APR__Pool.h
Author: gozer Date: Sat Feb 16 00:04:46 2008 New Revision: 628251 URL: http://svn.apache.org/viewvc?rev=628251view=rev Log: Sprinkle a few missing #ifdefs introduced by the recently introduced Perl 5.10 changes when building without ithreads. Reviewed-By: gozer Submitted-By: Randy Kobes [EMAIL PROTECTED] Message-ID: [EMAIL PROTECTED] Modified: perl/modperl/trunk/lib/ModPerl/WrapXS.pm perl/modperl/trunk/src/modules/perl/mod_perl.h perl/modperl/trunk/xs/APR/Pool/APR__Pool.h Modified: perl/modperl/trunk/lib/ModPerl/WrapXS.pm URL: http://svn.apache.org/viewvc/perl/modperl/trunk/lib/ModPerl/WrapXS.pm?rev=628251r1=628250r2=628251view=diff == --- perl/modperl/trunk/lib/ModPerl/WrapXS.pm (original) +++ perl/modperl/trunk/lib/ModPerl/WrapXS.pm Sat Feb 16 00:04:46 2008 @@ -595,7 +595,7 @@ } } -if ($module eq 'APR::Pool') { +if ($module eq 'APR::Pool' amp;amp; Apache2::Build::PERL_HAS_ITHREADS) { print $fh modperl_opt_interp_unselect = APR_RETRIEVE_OPTIONAL_FN(modperl_interp_unselect);\n\n; print $fh modperl_opt_thx_interp_get = APR_RETRIEVE_OPTIONAL_FN(modperl_thx_interp_get);\n\n; } Modified: perl/modperl/trunk/src/modules/perl/mod_perl.h URL: http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/mod_perl.h?rev=628251r1=628250r2=628251view=diff == --- perl/modperl/trunk/src/modules/perl/mod_perl.h (original) +++ perl/modperl/trunk/src/modules/perl/mod_perl.h Sat Feb 16 00:04:46 2008 @@ -148,8 +148,10 @@ /* we need to hook a few internal things before APR_HOOK_REALLY_FIRST */ #define MODPERL_HOOK_REALLY_REALLY_FIRST (-20) +#ifdef USE_ITHREADS APR_DECLARE_OPTIONAL_FN(apr_status_t,modperl_interp_unselect,(void *)); APR_DECLARE_OPTIONAL_FN(modperl_interp_t *,modperl_thx_interp_get,(PerlInterpreter *)); +#endif /* * perl context overriding and restoration is required when Modified: perl/modperl/trunk/xs/APR/Pool/APR__Pool.h URL: http://svn.apache.org/viewvc/perl/modperl/trunk/xs/APR/Pool/APR__Pool.h?rev=628251r1=628250r2=628251view=diff == --- perl/modperl/trunk/xs/APR/Pool/APR__Pool.h (original) +++ perl/modperl/trunk/xs/APR/Pool/APR__Pool.h Sat Feb 16 00:04:46 2008 @@ -39,9 +39,11 @@ */ #ifndef MP_SOURCE_SCAN +#ifdef USE_ITHREADS #include apr_optional.h APR_OPTIONAL_FN_TYPE(modperl_interp_unselect) *modperl_opt_interp_unselect; APR_OPTIONAL_FN_TYPE(modperl_thx_interp_get) *modperl_opt_thx_interp_get; +#endif #endif #define MP_APR_POOL_SV_HAS_OWNERSHIP(sv) mpxs_pool_is_custom(sv)
svn commit: r617965 - /perl/modperl/trunk/ModPerl-Registry/t/conf/extra.conf.in
Author: gozer Date: Sun Feb 3 01:10:04 2008 New Revision: 617965 URL: http://svn.apache.org/viewvc?rev=617965view=rev Log: Apache::Reload isn't part of the core anymore, so don't expect it to be available. Modified: perl/modperl/trunk/ModPerl-Registry/t/conf/extra.conf.in Modified: perl/modperl/trunk/ModPerl-Registry/t/conf/extra.conf.in URL: http://svn.apache.org/viewvc/perl/modperl/trunk/ModPerl-Registry/t/conf/extra.conf.in?rev=617965r1=617964r2=617965view=diff == --- perl/modperl/trunk/ModPerl-Registry/t/conf/extra.conf.in (original) +++ perl/modperl/trunk/ModPerl-Registry/t/conf/extra.conf.in Sun Feb 3 01:10:04 2008 @@ -21,12 +21,6 @@ # run on startup PerlRequire @ServerRoot@/conf/modperl_extra_startup.pl - DEVMODE: Remove in production ### -PerlModule Apache2::Reload -PerlInitHandler Apache2::Reload -PerlSetVar ReloadAll Off -PerlSetVar ReloadModules ModPerl::* - PerlSetVar ModPerl::RegistryCooker::DEBUG 2 PerlModule ModPerl::RegistryCooker
svn commit: r615741 - /perl/modperl/trunk/Changes
Author: gozer Date: Sun Jan 27 23:21:58 2008 New Revision: 615741 URL: http://svn.apache.org/viewvc?rev=615741view=rev Log: whitespace (realign) Modified: perl/modperl/trunk/Changes Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewvc/perl/modperl/trunk/Changes?rev=615741r1=615740r2=615741view=diff == --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Sun Jan 27 23:21:58 2008 @@ -12,7 +12,8 @@ =item 2.0.4-dev -Fix problems with redefinitions of perl_free as free and perl_malloc as malloc on Win32, as described at +Fix problems with redefinitions of perl_free as free and perl_malloc +as malloc on Win32, as described at http://marc.info/?l=apache-modperlm=119896407510526w=2 [Tom Donovan]
svn commit: r614146 - /perl/modperl/trunk/t/modules/apache_status.t
Author: gozer Date: Tue Jan 22 00:33:54 2008 New Revision: 614146 URL: http://svn.apache.org/viewvc?rev=614146view=rev Log: Simplify the test as well as handle all possible Perl version numbers possible. (5.10.0 for instance) Modified: perl/modperl/trunk/t/modules/apache_status.t Modified: perl/modperl/trunk/t/modules/apache_status.t URL: http://svn.apache.org/viewvc/perl/modperl/trunk/t/modules/apache_status.t?rev=614146r1=614145r2=614146view=diff == --- perl/modperl/trunk/t/modules/apache_status.t (original) +++ perl/modperl/trunk/t/modules/apache_status.t Tue Jan 22 00:33:54 2008 @@ -18,13 +18,9 @@ { my $url = $base_url; my $body = GET_BODY_ASSERT $url; -(my $pver = $]) =~ s/00//; -$pver =~ s/(\d\.\d)(.*)/$1. . ($2 ? int($2) : 0)/e; -#t_debug $body; -t_debug $pver; -# expecting: Embedded Perl version v5.8.2 for ... -ok $body =~ /$pver/; - +# expecting: Embedded Perl version bv5.8.2/b for ... +my $pver = $^V ? sprintf v%vd, $^V : $]; +ok t_cmp($body, qr[Embedded Perl version b$pver/b for]); # menu_item, part 1 # expecting: Test Entry ok $body =~ /Test Menu Entry/;
svn commit: r607697 [2/2] - in /perl/modperl/trunk: ModPerl-Registry/lib/ModPerl/ ModPerl-Registry/t/cgi-bin/ ModPerl-Registry/t/conf/ lib/Apache2/ lib/ModPerl/ t/conf/ t/filter/TestFilter/ t/hooks/Te
Modified: perl/modperl/trunk/t/response/TestModperl/pnotes2.pm URL: http://svn.apache.org/viewvc/perl/modperl/trunk/t/response/TestModperl/pnotes2.pm?rev=607697r1=607696r2=607697view=diff == --- perl/modperl/trunk/t/response/TestModperl/pnotes2.pm (original) +++ perl/modperl/trunk/t/response/TestModperl/pnotes2.pm Mon Dec 31 00:05:11 2007 @@ -41,37 +41,37 @@ if(!defined $r-args) { } elsif($r-args == 1) { - $r-pnotes(x1 = TestModerl::pnotes2::x-new(\line)); +$r-pnotes(x1 = TestModerl::pnotes2::x-new(\line)); } elsif($r-args == 2) { - $r-pnotes-{x1} = TestModerl::pnotes2::x-new(\line); +$r-pnotes-{x1} = TestModerl::pnotes2::x-new(\line); } elsif($r-args == 3) { - $r-pnotes(x1 = TestModerl::pnotes2::x-new(\line)); - $r-pnotes(x2 = 2); +$r-pnotes(x1 = TestModerl::pnotes2::x-new(\line)); +$r-pnotes(x2 = 2); } elsif($r-args == 4) { - $r-pnotes-{x1} = TestModerl::pnotes2::x-new(\line); - $r-pnotes-{x2} = 2; +$r-pnotes-{x1} = TestModerl::pnotes2::x-new(\line); +$r-pnotes-{x2} = 2; } elsif($r-args == 5) { - $r-pnotes(x1 = TestModerl::pnotes2::x-new(\line)); - $r-pnotes-{x2} = 2; +$r-pnotes(x1 = TestModerl::pnotes2::x-new(\line)); +$r-pnotes-{x2} = 2; } elsif($r-args == 6) { - $r-pnotes-{x1} = TestModerl::pnotes2::x-new(\line); - $r-pnotes(x2 = 2); +$r-pnotes-{x1} = TestModerl::pnotes2::x-new(\line); +$r-pnotes(x2 = 2); } elsif($r-args == 7) { - $r-connection-pnotes(x1 = TestModerl::pnotes2::x-new(\line)); +$r-connection-pnotes(x1 = TestModerl::pnotes2::x-new(\line)); } elsif($r-args == 8) { - $r-connection-pnotes-{x1} = TestModerl::pnotes2::x-new(\line); +$r-connection-pnotes-{x1} = TestModerl::pnotes2::x-new(\line); } elsif($r-args == 9) { - $r-connection-pnotes(x1 = TestModerl::pnotes2::x-new(\line)); - $r-connection-pnotes(x2 = 2); +$r-connection-pnotes(x1 = TestModerl::pnotes2::x-new(\line)); +$r-connection-pnotes(x2 = 2); } elsif($r-args == 10) { - $r-connection-pnotes-{x1} = TestModerl::pnotes2::x-new(\line); - $r-connection-pnotes-{x2} = 2; +$r-connection-pnotes-{x1} = TestModerl::pnotes2::x-new(\line); +$r-connection-pnotes-{x2} = 2; } elsif($r-args == 11) { - $r-connection-pnotes(x1 = TestModerl::pnotes2::x-new(\line)); - $r-connection-pnotes-{x2} = 2; +$r-connection-pnotes(x1 = TestModerl::pnotes2::x-new(\line)); +$r-connection-pnotes-{x2} = 2; } elsif($r-args == 12) { - $r-connection-pnotes-{x1} = TestModerl::pnotes2::x-new(\line); - $r-connection-pnotes(x2 = 2); +$r-connection-pnotes-{x1} = TestModerl::pnotes2::x-new(\line); +$r-connection-pnotes(x2 = 2); } $r-content_type('text/plain'); Modified: perl/modperl/trunk/t/response/TestModperl/printf.pm URL: http://svn.apache.org/viewvc/perl/modperl/trunk/t/response/TestModperl/printf.pm?rev=607697r1=607696r2=607697view=diff == --- perl/modperl/trunk/t/response/TestModperl/printf.pm (original) +++ perl/modperl/trunk/t/response/TestModperl/printf.pm Mon Dec 31 00:05:11 2007 @@ -31,7 +31,7 @@ # ok 4 (gets input from the fixup handler via notes) { my $note = $r-notes-get(fixup) || ''; -my $ok = $note =~ +my $ok = $note =~ /\$r-printf can't be called before the response phase/; $r-print(not ) unless $ok; $r-print(ok 4\n); Modified: perl/modperl/trunk/t/response/TestModperl/request_rec_perlio_api.pm URL: http://svn.apache.org/viewvc/perl/modperl/trunk/t/response/TestModperl/request_rec_perlio_api.pm?rev=607697r1=607696r2=607697view=diff == --- perl/modperl/trunk/t/response/TestModperl/request_rec_perlio_api.pm (original) +++ perl/modperl/trunk/t/response/TestModperl/request_rec_perlio_api.pm Mon Dec 31 00:05:11 2007 @@ -93,7 +93,7 @@ # now close it completely and restore it, without using any dupped # filehandle close STDOUT; -open STDOUT, :Apache2, $r +open STDOUT, :Apache2, $r or die can't open STDOUT via :Apache2 layer : $!; print next you reincarnate...; Modified: perl/modperl/trunk/t/response/TestModperl/setupenv.pm URL: http://svn.apache.org/viewvc/perl/modperl/trunk/t/response/TestModperl/setupenv.pm?rev=607697r1=607696r2=607697view=diff == --- perl/modperl/trunk/t/response/TestModperl/setupenv.pm (original) +++ perl/modperl/trunk/t/response/TestModperl/setupenv.pm Mon Dec 31 00:05:11 2007 @@ -321,7 +321,7 @@ PerlSetEnv DIR_PERLSETENV psvoid /Location -# equivalent to
svn commit: r607681 - in /perl/modperl/branches/threading/t: perl/ithreads3.t response/TestPerl/ithreads3.pm
Author: gozer Date: Sun Dec 30 21:55:42 2007 New Revision: 607681 URL: http://svn.apache.org/viewvc?rev=607681view=rev Log: Forgot to add the test case for a previous fix. Reviewed-By: gozer Submitted-By: Torsten Foertsch [EMAIL PROTECTED] Message-Id: [EMAIL PROTECTED] Added: perl/modperl/branches/threading/t/perl/ithreads3.t perl/modperl/branches/threading/t/response/TestPerl/ithreads3.pm Added: perl/modperl/branches/threading/t/perl/ithreads3.t URL: http://svn.apache.org/viewvc/perl/modperl/branches/threading/t/perl/ithreads3.t?rev=607681view=auto == --- perl/modperl/branches/threading/t/perl/ithreads3.t (added) +++ perl/modperl/branches/threading/t/perl/ithreads3.t Sun Dec 30 21:55:42 2007 @@ -0,0 +1,39 @@ +use strict; +use warnings FATAL = 'all'; + +use Apache::Test; +use Apache::TestUtil; +use Apache::TestRequest 'GET_BODY'; + +plan tests = 6, need_apache_mpm('worker') need_perl('ithreads'); + +my $module = 'TestPerl::ithreads3'; + +sub u {Apache::TestRequest::module2url($module, {path=$_[0]})} +sub t { + my $rc; + eval { +local $SIG{ALRM}=sub {die Timeout\n}; +alarm 2; +eval { + $rc=GET_BODY u(shift); +}; +alarm 0; + }; + alarm 0; + return $rc; +} + +t_debug(connecting to .u('')); +ok t_cmp t('/perl-script?1'), 2, 'perl-script 1'; +ok t_cmp t('/modperl?1'), 2, 'modperl 1'; + +ok t_cmp t('/perl-script?2'), 5, 'perl-script 2'; +ok t_cmp t('/modperl?2'), 5, 'modperl 2'; + +ok t_cmp t('/perl-script?3'), 3, 'perl-script 3'; +ok t_cmp t('/modperl?3'), 3, 'modperl 3'; + +# Local Variables: # +# mode: cperl # +# End: # Added: perl/modperl/branches/threading/t/response/TestPerl/ithreads3.pm URL: http://svn.apache.org/viewvc/perl/modperl/branches/threading/t/response/TestPerl/ithreads3.pm?rev=607681view=auto == --- perl/modperl/branches/threading/t/response/TestPerl/ithreads3.pm (added) +++ perl/modperl/branches/threading/t/response/TestPerl/ithreads3.pm Sun Dec 30 21:55:42 2007 @@ -0,0 +1,108 @@ +package TestPerl::ithreads3; + +use strict; +use warnings FATAL = 'all'; + +use Apache2::RequestRec; +use Apache2::RequestIO; +use Apache2::RequestUtil; +use APR::Pool; +use Apache2::Const -compile = 'OK', 'DECLINED'; + +# XXX: These tests rely on the assumption that the virtual host is not +# otherwise accessed. In this case the same interpreter is chosen +# for each phase. The $counter counts them. +# Of course if only 1 interp is configured it must be hit each time. + +my $counter=0; + +sub response { + my $r=shift; + $r-content_type('text/plain'); + $r-print($counter); + return Apache2::Const::OK; +} + +sub count { $counter++; return Apache2::Const::DECLINED; } + +sub clear_pool { + delete $_[0]-pnotes-{my_pool}; + return Apache2::Const::DECLINED; +} + +sub trans { + my $r=shift; + my $test=$r-args; + $counter=0; + if( $test eq '1' ) { +# this is to check for a bug in modperl_response_handler versus +# modperl_response_handler_cgi. The former used to allocate an +# extra interpreter for its work. In both cases $counter should be +# 2 in the response phase +$r-push_handlers( PerlMapToStorageHandler=__PACKAGE__.'::count' ); +$r-push_handlers( PerlFixupHandler=__PACKAGE__.'::count' ); + } + elsif( $test eq '2' ) { +# now add an extra PerlCleanupHandler. It is run each time the +# interp is released. So it is run after Trans, MapToStorage and +# Fixup. In the response phase $counter should be 5. After Response +# it is run again but that is after. +# This used to eat up all interpreters because modperl_interp_unselect +# calls modperl_config_request_cleanup that allocates a new interp +# to handle the cleanup. When this interp is then unselected +# modperl_interp_unselect gets called again but the cleanup handler is +# still installed. So the cycle starts again until all interpreters +# are in use or the stack runs out. Then the thread is locked infinitely +# or a segfault appears. +$r-push_handlers( PerlMapToStorageHandler=__PACKAGE__.'::count' ); +$r-push_handlers( PerlFixupHandler=__PACKAGE__.'::count' ); +$r-push_handlers( PerlCleanupHandler=__PACKAGE__.'::count' ); + } + elsif( $test eq '3' ) { +# a subpool adds an extra reference to the interp. So it is preserved +# and bound to the request until the pool is destroyed. So the cleanup +# handler is run only once after Fixup. Hence the counter is 3. +$r-push_handlers( PerlMapToStorageHandler=__PACKAGE__.'::count' ); +$r-push_handlers( PerlFixupHandler=__PACKAGE__.'::count' ); +$r-push_handlers( PerlCleanupHandler=__PACKAGE__.'::count' ); +$r-pnotes-{my_pool}=$r-pool-new; +$r-push_handlers( PerlFixupHandler=__PACKAGE__.'::clear_pool' ); + } + return Apache2::Const::DECLINED; +} + +1; + +__END__ +# APACHE_TEST_CONFIG_ORDER 942
svn commit: r607687 - in /perl/modperl/trunk: Changes t/filter/TestFilter/with_subrequest.pm t/filter/with_subrequest.t xs/Apache2/SubRequest/Apache2__SubRequest.h
Author: gozer Date: Sun Dec 30 22:48:57 2007 New Revision: 607687 URL: http://svn.apache.org/viewvc?rev=607687view=rev Log: Fix a crash when running a sub-request from within a filter where mod_perl was not the content handler. Running modperl_wbucket_flush(rcfg-wbucket) before the subrequest is run ensures we've flushed our own content handler if it has any data in the pipeline. Problem was rcfg-wbucket will not be set if we are not the content handler. Solution is to avoid the flush in that particular case. Added: perl/modperl/trunk/t/filter/TestFilter/with_subrequest.pm perl/modperl/trunk/t/filter/with_subrequest.t Modified: perl/modperl/trunk/Changes perl/modperl/trunk/xs/Apache2/SubRequest/Apache2__SubRequest.h Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewvc/perl/modperl/trunk/Changes?rev=607687r1=607686r2=607687view=diff == --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Sun Dec 30 22:48:57 2007 @@ -12,6 +12,9 @@ =item 2.0.4-dev +Fix a crash when running a sub-request from within a filter where +mod_perl was not the content handler. [Gozer] + Refactor tests to use keepalives instead of same_interp [Gozer, Phred] Apache2::Reload has been moved to an externally maintained Added: perl/modperl/trunk/t/filter/TestFilter/with_subrequest.pm URL: http://svn.apache.org/viewvc/perl/modperl/trunk/t/filter/TestFilter/with_subrequest.pm?rev=607687view=auto == --- perl/modperl/trunk/t/filter/TestFilter/with_subrequest.pm (added) +++ perl/modperl/trunk/t/filter/TestFilter/with_subrequest.pm Sun Dec 30 22:48:57 2007 @@ -0,0 +1,38 @@ +package TestFilter::with_subrequest; + +use strict; +use warnings FATAL = 'all'; + +use Apache2::Filter (); +use Apache2::SubRequest (); + +use TestCommon::Utils; + +use Apache2::Const -compile = 'OK'; + +sub handler { +my $f = shift; +my $r = $f-r; + +my $subr; +while ($f-read(my $buffer, 1024)) { +$f-print(lc $buffer); + if (!$subr) { +$subr = $r-lookup_uri($r-uri); +my $rc = $subr-run; +} +} + +Apache2::Const::OK; +} + +1; +__DATA__ + +Location /with_subrequest + PerlOutputFilterHandler TestFilter::with_subrequest +/Location + +IfModule mod_alias.c +Alias /with_subrequest @top_dir@ +/IfModule Added: perl/modperl/trunk/t/filter/with_subrequest.t URL: http://svn.apache.org/viewvc/perl/modperl/trunk/t/filter/with_subrequest.t?rev=607687view=auto == --- perl/modperl/trunk/t/filter/with_subrequest.t (added) +++ perl/modperl/trunk/t/filter/with_subrequest.t Sun Dec 30 22:48:57 2007 @@ -0,0 +1,13 @@ +use strict; +use warnings FATAL = 'all'; + +use Apache::Test; +use Apache::TestRequest; + +plan tests = 1, need 'mod_alias'; + +my $location = /with_subrequest/Makefile; + +my $str = GET_BODY $location; + +ok $str !~ /[A-Z]/; Modified: perl/modperl/trunk/xs/Apache2/SubRequest/Apache2__SubRequest.h URL: http://svn.apache.org/viewvc/perl/modperl/trunk/xs/Apache2/SubRequest/Apache2__SubRequest.h?rev=607687r1=607686r2=607687view=diff == --- perl/modperl/trunk/xs/Apache2/SubRequest/Apache2__SubRequest.h (original) +++ perl/modperl/trunk/xs/Apache2/SubRequest/Apache2__SubRequest.h Sun Dec 30 22:48:57 2007 @@ -23,8 +23,10 @@ if (r-main) { modperl_config_req_t *rcfg = modperl_config_req_get(r-main); -MP_RUN_CROAK(modperl_wbucket_flush(rcfg-wbucket, FALSE), - Apache2::SubRequest::run); +if (rcfg-wbucket) { +MP_RUN_CROAK(modperl_wbucket_flush(rcfg-wbucket, FALSE), + Apache2::SubRequest::run); +} } return ap_run_sub_req(r);
svn commit: r607690 [2/2] - in /perl/modperl/trunk: src/modules/perl/ xs/ xs/APR/Base64/ xs/APR/Brigade/ xs/APR/Bucket/ xs/APR/BucketAlloc/ xs/APR/Error/ xs/APR/Finfo/ xs/APR/Lock/ xs/APR/PerlIO/ xs/A
Modified: perl/modperl/trunk/xs/Apache2/Module/Apache2__Module.h URL: http://svn.apache.org/viewvc/perl/modperl/trunk/xs/Apache2/Module/Apache2__Module.h?rev=607690r1=607689r2=607690view=diff == --- perl/modperl/trunk/xs/Apache2/Module/Apache2__Module.h (original) +++ perl/modperl/trunk/xs/Apache2/Module/Apache2__Module.h Sun Dec 30 23:20:50 2007 @@ -75,7 +75,7 @@ return mod-minor_version; } -static MP_INLINE void mpxs_Apache2__Module_add(pTHX_ +static MP_INLINE void mpxs_Apache2__Module_add(pTHX_ char *package, SV *cmds) { @@ -90,7 +90,7 @@ error = modperl_module_add(s-process-pconf, s, package, cmds); if (error) { -Perl_croak(aTHX_ Apache2::Module::add(%s) failed : %s, +Perl_croak(aTHX_ Apache2::Module::add(%s) failed : %s, package, error); } Modified: perl/modperl/trunk/xs/Apache2/RequestIO/Apache2__RequestIO.h URL: http://svn.apache.org/viewvc/perl/modperl/trunk/xs/Apache2/RequestIO/Apache2__RequestIO.h?rev=607690r1=607689r2=607690view=diff == --- perl/modperl/trunk/xs/Apache2/RequestIO/Apache2__RequestIO.h (original) +++ perl/modperl/trunk/xs/Apache2/RequestIO/Apache2__RequestIO.h Sun Dec 30 23:20:50 2007 @@ -97,7 +97,7 @@ mpxs_output_flush(r, rcfg, Apache2::RequestIO::print); return bytes ? newSVuv(bytes) : newSVpvn(0E0, 3); -} +} static MP_INLINE apr_size_t mpxs_ap_rprintf(pTHX_ I32 items, SV **MARK, SV **SP) @@ -129,7 +129,7 @@ mpxs_output_flush(r, rcfg, Apache2::RequestIO::printf); return bytes; -} +} /* alias */ #define mpxs_Apache2__RequestRec_WRITE(r, buffer, len, offset) \ @@ -252,7 +252,7 @@ if (total 0) { mpxs_sv_cur_set(buffer, offset+total); -} +} else { sv_setpvn(buffer, , 0); } Modified: perl/modperl/trunk/xs/Apache2/RequestRec/Apache2__RequestRec.h URL: http://svn.apache.org/viewvc/perl/modperl/trunk/xs/Apache2/RequestRec/Apache2__RequestRec.h?rev=607690r1=607689r2=607690view=diff == --- perl/modperl/trunk/xs/Apache2/RequestRec/Apache2__RequestRec.h (original) +++ perl/modperl/trunk/xs/Apache2/RequestRec/Apache2__RequestRec.h Sun Dec 30 23:20:50 2007 @@ -35,10 +35,10 @@ SV *mpxs_Apache2__RequestRec_content_languages(pTHX_ request_rec *r, SV *languages) { -SV *retval = modperl_apr_array_header2avrv(aTHX_ +SV *retval = modperl_apr_array_header2avrv(aTHX_ r-content_languages); if (languages) { -r-content_languages = modperl_avrv2apr_array_header(aTHX_ +r-content_languages = modperl_avrv2apr_array_header(aTHX_ r-pool, languages); } @@ -52,11 +52,11 @@ if (!val !r-proxyreq r-parsed_uri.scheme - !(r-parsed_uri.hostname + !(r-parsed_uri.hostname strEQ(r-parsed_uri.scheme, ap_http_scheme(r)) ap_matches_request_vhost(r, r-parsed_uri.hostname, - r-parsed_uri.port_str ? - r-parsed_uri.port : + r-parsed_uri.port_str ? + r-parsed_uri.port : ap_default_port(r { retval = r-proxyreq = 1; @@ -146,5 +146,3 @@ return RETVAL; } - - Modified: perl/modperl/trunk/xs/Apache2/RequestUtil/Apache2__RequestUtil.h URL: http://svn.apache.org/viewvc/perl/modperl/trunk/xs/Apache2/RequestUtil/Apache2__RequestUtil.h?rev=607690r1=607689r2=607690view=diff == --- perl/modperl/trunk/xs/Apache2/RequestUtil/Apache2__RequestUtil.h (original) +++ perl/modperl/trunk/xs/Apache2/RequestUtil/Apache2__RequestUtil.h Sun Dec 30 23:20:50 2007 @@ -81,7 +81,7 @@ r-server = s; r-request_time = apr_time_now(); - + r-user= NULL; r-ap_auth_type= NULL; @@ -125,7 +125,7 @@ if (base_pool_sv) { mpxs_add_pool_magic(r_sv, base_pool_sv); } - + return r_sv; } @@ -320,7 +320,7 @@ struct mp_docroot_info *di; core_server_config *conf; MP_CROAK_IF_THREADS_STARTED(setting $r-document_root); -conf = ap_get_module_config(r-server-module_config, +conf = ap_get_module_config(r-server-module_config, core_module); di = apr_palloc(r-pool, sizeof *di); di-docroot = conf-ap_document_root; @@ -340,7 +340,7 @@ /* On the first pass,
svn commit: r607692 - in /perl/modperl/trunk: src/modules/perl/ xs/APR/Socket/ xs/Apache2/Directive/ xs/Apache2/RequestRec/
Author: gozer Date: Sun Dec 30 23:31:16 2007 New Revision: 607692 URL: http://svn.apache.org/viewvc?rev=607692view=rev Log: *Whitespace* expands tabs in C files Reviewed-by: gozer Submitted-by: Torsten Foertsch [EMAIL PROTECTED] Message-Id: [EMAIL PROTECTED] Modified: perl/modperl/trunk/src/modules/perl/modperl_config.h perl/modperl/trunk/src/modules/perl/modperl_io.c perl/modperl/trunk/src/modules/perl/modperl_svptr_table.c perl/modperl/trunk/src/modules/perl/modperl_util.c perl/modperl/trunk/xs/APR/Socket/APR__Socket.h perl/modperl/trunk/xs/Apache2/Directive/Apache2__Directive.h perl/modperl/trunk/xs/Apache2/RequestRec/Apache2__RequestRec.h Modified: perl/modperl/trunk/src/modules/perl/modperl_config.h URL: http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/modperl_config.h?rev=607692r1=607691r2=607692view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_config.h (original) +++ perl/modperl/trunk/src/modules/perl/modperl_config.h Sun Dec 30 23:31:16 2007 @@ -48,9 +48,9 @@ */ #define modperl_config_req_cleanup_register(r, rcfg) \ if (r !MpReqCLEANUP_REGISTERED(rcfg)) { \ -apr_pool_t *p;\ -apr_pool_create(p, r-pool); \ -apr_pool_cleanup_register(p, \ +apr_pool_t *p; \ +apr_pool_create(p, r-pool); \ +apr_pool_cleanup_register(p, \ (void*)r,\ modperl_config_req_cleanup, \ apr_pool_cleanup_null); \ Modified: perl/modperl/trunk/src/modules/perl/modperl_io.c URL: http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/modperl_io.c?rev=607692r1=607691r2=607692view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_io.c (original) +++ perl/modperl/trunk/src/modules/perl/modperl_io.c Sun Dec 30 23:31:16 2007 @@ -80,12 +80,12 @@ SV *sv = TIEHANDLE_SV(handle); if (SvMAGICAL(sv) (mg = mg_find(sv, PERL_MAGIC_tiedscalar))) { - char *package = HvNAME(SvSTASH((SV*)SvRV(mg-mg_obj))); +char *package = HvNAME(SvSTASH((SV*)SvRV(mg-mg_obj))); - if (!strEQ(package, classname)) { - MP_TRACE_r(MP_FUNC, %s tied to %s\n, GvNAME(handle), package); - return TRUE; - } +if (!strEQ(package, classname)) { +MP_TRACE_r(MP_FUNC, %s tied to %s\n, GvNAME(handle), package); +return TRUE; +} } return FALSE; Modified: perl/modperl/trunk/src/modules/perl/modperl_svptr_table.c URL: http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/modperl_svptr_table.c?rev=607692r1=607691r2=607692view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_svptr_table.c (original) +++ perl/modperl/trunk/src/modules/perl/modperl_svptr_table.c Sun Dec 30 23:31:16 2007 @@ -55,8 +55,8 @@ CLONE_PARAMS parms; Newz(0, tbl, 1, PTR_TBL_t); -tbl-tbl_max = source-tbl_max; -tbl-tbl_items = source-tbl_items; +tbl-tbl_max= source-tbl_max; +tbl-tbl_items= source-tbl_items; Newz(0, tbl-tbl_ary, tbl-tbl_max + 1, PTR_TBL_ENT_t *); dst_ary = tbl-tbl_ary; @@ -67,13 +67,13 @@ parms.stashes = newAV(); for (i=0; i source-tbl_max; i++, dst_ary++, src_ary++) { - PTR_TBL_ENT_t *src_ent, *dst_ent=NULL; +PTR_TBL_ENT_t *src_ent, *dst_ent=NULL; - if (!*src_ary) { - continue; +if (!*src_ary) { +continue; } - for (src_ent = *src_ary; +for (src_ent = *src_ary; src_ent; src_ent = src_ent-next) { @@ -110,13 +110,13 @@ PTR_TBL_ENT_t **ary = tbl-tbl_ary; for (i=0; i tbl-tbl_max; i++, ary++) { - PTR_TBL_ENT_t *ent; +PTR_TBL_ENT_t *ent; - if (!*ary) { - continue; +if (!*ary) { +continue; } - for (ent = *ary; ent; ent = ent-next) { +for (ent = *ary; ent; ent = ent-next) { if (!ent-newval) { continue; } @@ -143,13 +143,13 @@ entry = *oentry; for (; entry; oentry = entry-next, entry = *oentry) { - if (entry-oldval == key) { +if (entry-oldval == key) { *oentry = entry-next; SvREFCNT_dec((SV*)entry-newval); Safefree(entry); tbl-tbl_items--; - return; - } +return; +} } } @@ -168,8 +168,8 @@ { PTR_TBL_t *tbl; Newz(0, tbl, 1, PTR_TBL_t); -tbl-tbl_max = 511; -tbl
svn commit: r607693 - in /perl/modperl/trunk/t: apache/ apr-ext/ directive/ filter/ hooks/ modperl/ perl/ protocol/
Author: gozer Date: Sun Dec 30 23:36:46 2007 New Revision: 607693 URL: http://svn.apache.org/viewvc?rev=607693view=rev Log: *Whitespace* removes trailing whitespace and expands tabs in t/*.t Reviewed-by: gozer Submitted-by: Torsten Foertsch [EMAIL PROTECTED] Message-Id: [EMAIL PROTECTED] Modified: perl/modperl/trunk/t/apache/constants.t perl/modperl/trunk/t/apache/content_length_header.t perl/modperl/trunk/t/apr-ext/perlio.t perl/modperl/trunk/t/apr-ext/uuid.t perl/modperl/trunk/t/directive/perl.t perl/modperl/trunk/t/filter/out_str_req_mix.t perl/modperl/trunk/t/hooks/push_handlers.t perl/modperl/trunk/t/modperl/cookie.t perl/modperl/trunk/t/modperl/pnotes2.t perl/modperl/trunk/t/perl/hash_attack.t perl/modperl/trunk/t/protocol/eliza.t Modified: perl/modperl/trunk/t/apache/constants.t URL: http://svn.apache.org/viewvc/perl/modperl/trunk/t/apache/constants.t?rev=607693r1=607692r2=607693view=diff == --- perl/modperl/trunk/t/apache/constants.t (original) +++ perl/modperl/trunk/t/apache/constants.t Sun Dec 30 23:36:46 2007 @@ -8,7 +8,7 @@ # -compile puts constants into the Apache2:: namespace use Apache2::Const -compile = qw(:http :common :mpmq :proxy TAKE23 OPT_EXECCGI - DECLINE_CMD DIR_MAGIC_TYPE + DECLINE_CMD DIR_MAGIC_TYPE CRLF); # without -compile, constants are in the @@ -29,11 +29,11 @@ ok t_cmp(Apache2::Const::HTTP_GONE, 410, 'Apache2::Const::HTTP_GONE'); -ok t_cmp(Apache2::Const::DIR_MAGIC_TYPE, +ok t_cmp(Apache2::Const::DIR_MAGIC_TYPE, 'httpd/unix-directory', 'Apache2::Const::DIR_MAGIC_TYPE'); -ok t_cmp(Apache2::Const::MPMQ_MAX_SPARE_DAEMONS, +ok t_cmp(Apache2::Const::MPMQ_MAX_SPARE_DAEMONS, 9, 'Apache2::Const::MPMQ_MAX_SPARE_DAEMONS'); Modified: perl/modperl/trunk/t/apache/content_length_header.t URL: http://svn.apache.org/viewvc/perl/modperl/trunk/t/apache/content_length_header.t?rev=607693r1=607692r2=607693view=diff == --- perl/modperl/trunk/t/apache/content_length_header.t (original) +++ perl/modperl/trunk/t/apache/content_length_header.t Sun Dec 30 23:36:46 2007 @@ -72,13 +72,13 @@ ## to protect against wierd SVN checkout building. ## XXX: I'm starting to think this test is more ## trouble then its worth. -if (have_min_apache_version(2.2.1)) { +if (have_min_apache_version(2.2.1)) { $head_cl = 25; } elsif (have_min_apache_version(2.2.0)) { # $head_cl = undef; # avoid warnings } -elsif (have_min_apache_version(2.0.56)) { +elsif (have_min_apache_version(2.0.56)) { $head_cl = 25; } else { Modified: perl/modperl/trunk/t/apr-ext/perlio.t URL: http://svn.apache.org/viewvc/perl/modperl/trunk/t/apr-ext/perlio.t?rev=607693r1=607692r2=607693view=diff == --- perl/modperl/trunk/t/apr-ext/perlio.t (original) +++ perl/modperl/trunk/t/apr-ext/perlio.t Sun Dec 30 23:36:46 2007 @@ -25,7 +25,7 @@ # prerequisite # also need to check whether we build against the source tree, in # which case we APR.so won't be linked against libapr/libaprutil -my $has_apr_config = $build-{apr_config_path} +my $has_apr_config = $build-{apr_config_path} !$build-httpd_is_source_tree; my $has_perlio_layers = 0; @@ -230,11 +230,11 @@ } -# XXX: need tests +# XXX: need tests # - for stdin/out/err as they are handled specially # XXX: tmpfile is missing: -# consider to use 5.8's syntax: +# consider to use 5.8's syntax: # open $fh, +, undef; # cleanup: t_mkdir will remove the whole tree including the file Modified: perl/modperl/trunk/t/apr-ext/uuid.t URL: http://svn.apache.org/viewvc/perl/modperl/trunk/t/apr-ext/uuid.t?rev=607693r1=607692r2=607693view=diff == --- perl/modperl/trunk/t/apr-ext/uuid.t (original) +++ perl/modperl/trunk/t/apr-ext/uuid.t Sun Dec 30 23:36:46 2007 @@ -16,7 +16,7 @@ ### # my $build = Apache2::Build-build_config; # -# my $has_apr_config = $build-{apr_config_path} +# my $has_apr_config = $build-{apr_config_path} #!$build-httpd_is_source_tree; # plan tests = TestAPRlib::uuid::num_of_tests(), #need {the build couldn't find apr-config = $has_apr_config}; Modified: perl/modperl/trunk/t/directive/perl.t URL: http://svn.apache.org/viewvc/perl/modperl/trunk/t/directive/perl.t?rev=607693r1=607692r2=607693view=diff == --- perl/modperl/trunk/t/directive/perl.t (original) +++ perl/modperl/trunk/t/directive/perl.t Sun Dec 30
svn commit: r594601 - in /perl/modperl/branches/threading: ./ lib/ModPerl/ src/modules/perl/ xs/APR/Pool/
Author: gozer Date: Tue Nov 13 10:08:34 2007 New Revision: 594601 URL: http://svn.apache.org/viewvc?rev=594601view=rev Log: For threaded MPMs, change interpreter managment to a new, reference-counted allocation model. Reviewed-by: gozer Submitted-By: Torsten Foertsch [EMAIL PROTECTED] Message-Id: [EMAIL PROTECTED] Modified: perl/modperl/branches/threading/Changes perl/modperl/branches/threading/lib/ModPerl/Code.pm perl/modperl/branches/threading/src/modules/perl/mod_perl.c perl/modperl/branches/threading/src/modules/perl/modperl_callback.c perl/modperl/branches/threading/src/modules/perl/modperl_cmd.c perl/modperl/branches/threading/src/modules/perl/modperl_config.c perl/modperl/branches/threading/src/modules/perl/modperl_interp.c perl/modperl/branches/threading/src/modules/perl/modperl_interp.h perl/modperl/branches/threading/src/modules/perl/modperl_module.c perl/modperl/branches/threading/src/modules/perl/modperl_types.h perl/modperl/branches/threading/xs/APR/Pool/APR__Pool.h Modified: perl/modperl/branches/threading/Changes URL: http://svn.apache.org/viewvc/perl/modperl/branches/threading/Changes?rev=594601r1=594600r2=594601view=diff == --- perl/modperl/branches/threading/Changes (original) +++ perl/modperl/branches/threading/Changes Tue Nov 13 10:08:34 2007 @@ -12,6 +12,9 @@ =item 2.0.4-dev +For threaded MPMs, change interpreter managment to a new, reference-counted +allocation model. [Torsten Foertsch] + Expose modperl_interp_pool_t via ModPerl::InterpPool, modperl_tipool_t via ModPerl::TiPool and modperl_tipool_config_t via ModPerl::TiPoolConfig [Torsten Foertsch] Modified: perl/modperl/branches/threading/lib/ModPerl/Code.pm URL: http://svn.apache.org/viewvc/perl/modperl/branches/threading/lib/ModPerl/Code.pm?rev=594601r1=594600r2=594601view=diff == --- perl/modperl/branches/threading/lib/ModPerl/Code.pm (original) +++ perl/modperl/branches/threading/lib/ModPerl/Code.pm Tue Nov 13 10:08:34 2007 @@ -142,7 +142,7 @@ Dir = [qw(NONE PARSE_HEADERS SETUP_ENV MERGE_HANDLERS GLOBAL_REQUEST UNSET)], Req = [qw(NONE SET_GLOBAL_REQUEST PARSE_HEADERS SETUP_ENV CLEANUP_REGISTERED PERL_SET_ENV_DIR PERL_SET_ENV_SRV)], -Interp = [qw(NONE IN_USE PUTBACK CLONED BASE)], +Interp = [qw(NONE IN_USE CLONED BASE)], Handler = [qw(NONE PARSED METHOD OBJECT ANON AUTOLOAD DYNAMIC FAKE)], ); Modified: perl/modperl/branches/threading/src/modules/perl/mod_perl.c URL: http://svn.apache.org/viewvc/perl/modperl/branches/threading/src/modules/perl/mod_perl.c?rev=594601r1=594600r2=594601view=diff == --- perl/modperl/branches/threading/src/modules/perl/mod_perl.c (original) +++ perl/modperl/branches/threading/src/modules/perl/mod_perl.c Tue Nov 13 10:08:34 2007 @@ -392,6 +392,7 @@ } PERL_SET_CONTEXT(perl); +MP_THX_INTERP_SET(perl, base_scfg-mip-parent); #endif /* USE_ITHREADS */ @@ -467,6 +468,7 @@ /* after other parent perls were started in vhosts, make sure that * the context is set to the base_perl */ PERL_SET_CONTEXT(base_perl); +MP_THX_INTERP_SET(base_perl, base_scfg-mip-parent); #endif } @@ -612,8 +614,6 @@ return OK; } -MP_TRACE_i(MP_FUNC, mod_perl hook init\n); - MP_init_status = 1; /* now starting */ modperl_restart_count_inc(s); @@ -737,6 +737,14 @@ { MP_dRCFG; +#ifdef USE_ITHREADS +if (modperl_threaded_mpm()) { +MP_TRACE_i(MP_FUNC, setting userdata MODPERL_R in pool %#lx to %lx, + (unsigned long)r-pool, (unsigned long)r); + (void)apr_pool_userdata_set((void *)r, MODPERL_R, NULL, r-pool); +} +#endif + modperl_config_req_init(r, rcfg); /* set the default for cgi header parsing On as early as possible @@ -751,6 +759,12 @@ static int modperl_hook_post_read_request(request_rec *r) { +#ifdef USE_ITHREADS +MP_TRACE_i(MP_FUNC, %s %s:%d%s, + r-method, r-connection-local_addr-hostname, + r-connection-local_addr-port, r-unparsed_uri); +#endif + /* if 'PerlOptions +GlobalRequest' is outside a container */ modperl_global_request_cfg_set(r); @@ -1015,7 +1029,6 @@ int modperl_response_handler(request_rec *r) { MP_dDCFG; -MP_dRCFG; apr_status_t retval; #ifdef USE_ITHREADS @@ -1029,10 +1042,9 @@ #ifdef USE_ITHREADS interp = modperl_interp_select(r, r-connection, r-server); +MP_TRACE_i(MP_FUNC, just selected: (0x%lx)-refcnt=%ld, + interp, interp-refcnt); aTHX = interp-perl; -if (MpInterpPUTBACK(interp)) { -rcfg-interp = interp; -} #endif /* default is -SetupEnv, add if PerlOption +SetupEnv */ @@ -1043,11 +1055,9 @@ retval = modperl_response_handler_run(r
svn commit: r594612 - in /perl/modperl/branches/threading: ./ src/modules/perl/ xs/Apache2/ConnectionUtil/ xs/Apache2/RequestUtil/ xs/maps/ xs/tables/current/ModPerl/
Author: gozer Date: Tue Nov 13 11:32:58 2007 New Revision: 594612 URL: http://svn.apache.org/viewvc?rev=594612view=rev Log: This one makes PerlInterpScope more advisory. Using pnotes increment the refcnt of the interp thus binding it to the lifetime of the pnotes. So, using $c-pnotes binds the interp to the lifetime of the connection, $r-pnotes to the request lifetime. $[rc]-pnotes_kill() can be used to prematurely drop pnotes and thus remove the binding. Reviewed-By: gozer Submittted-By: Torsten Foertsch [EMAIL PROTECTED] Message-Id: [EMAIL PROTECTED] Modified: perl/modperl/branches/threading/Changes perl/modperl/branches/threading/src/modules/perl/modperl_types.h perl/modperl/branches/threading/src/modules/perl/modperl_util.c perl/modperl/branches/threading/src/modules/perl/modperl_util.h perl/modperl/branches/threading/xs/Apache2/ConnectionUtil/Apache2__ConnectionUtil.h perl/modperl/branches/threading/xs/Apache2/RequestUtil/Apache2__RequestUtil.h perl/modperl/branches/threading/xs/maps/modperl_functions.map perl/modperl/branches/threading/xs/tables/current/ModPerl/FunctionTable.pm Modified: perl/modperl/branches/threading/Changes URL: http://svn.apache.org/viewvc/perl/modperl/branches/threading/Changes?rev=594612r1=594611r2=594612view=diff == --- perl/modperl/branches/threading/Changes (original) +++ perl/modperl/branches/threading/Changes Tue Nov 13 11:32:58 2007 @@ -12,6 +12,11 @@ =item 2.0.4-dev +PerlInterpScope is now more advisory. Using $(c|r)-pnotes will bind +the current interpreter to that object for it's lifetime. +$(c|r)-pnotes_kill() can be used to prematurely drop pnotes and +remove this binding. [Torsten Foertsch] + Now correctly invokes PerlCleanupHandlers, even if they are the only handler type configured for that request [Torsten Foertsch] Modified: perl/modperl/branches/threading/src/modules/perl/modperl_types.h URL: http://svn.apache.org/viewvc/perl/modperl/branches/threading/src/modules/perl/modperl_types.h?rev=594612r1=594611r2=594612view=diff == --- perl/modperl/branches/threading/src/modules/perl/modperl_types.h (original) +++ perl/modperl/branches/threading/src/modules/perl/modperl_types.h Tue Nov 13 11:32:58 2007 @@ -246,6 +246,14 @@ typedef struct { HV *pnotes; +apr_pool_t *pool; +#ifdef USE_ITHREADS +modperl_interp_t *interp; +#endif +} modperl_pnotes_t; + +typedef struct { +modperl_pnotes_t pnotes; SV *global_request_obj; U8 flags; int status; @@ -253,13 +261,10 @@ MpAV *handlers_per_dir[MP_HANDLER_NUM_PER_DIR]; MpAV *handlers_per_srv[MP_HANDLER_NUM_PER_SRV]; modperl_perl_globals_t perl_globals; -#ifdef USE_ITHREADS -modperl_interp_t *interp; -#endif } modperl_config_req_t; struct modperl_config_con_t { -HV *pnotes; +modperl_pnotes_t pnotes; #ifdef USE_ITHREADS modperl_interp_t *interp; #endif Modified: perl/modperl/branches/threading/src/modules/perl/modperl_util.c URL: http://svn.apache.org/viewvc/perl/modperl/branches/threading/src/modules/perl/modperl_util.c?rev=594612r1=594611r2=594612view=diff == --- perl/modperl/branches/threading/src/modules/perl/modperl_util.c (original) +++ perl/modperl/branches/threading/src/modules/perl/modperl_util.c Tue Nov 13 11:32:58 2007 @@ -828,59 +828,51 @@ modperl_global_get_server_rec()-process-pool); return data ? *(int *)data : 0; } - -#ifdef USE_ITHREADS -typedef struct { -HV **pnotes; -PerlInterpreter *perl; -} modperl_cleanup_pnotes_data_t; -#endif static MP_INLINE apr_status_t modperl_cleanup_pnotes(void *data) { -HV **pnotes = data; +modperl_pnotes_t *pnotes = data; -if (*pnotes) { #ifdef USE_ITHREADS -modperl_cleanup_pnotes_data_t *cleanup_data = data; -dTHXa(cleanup_data-perl); -pnotes = cleanup_data-pnotes; -#else -pnotes = data; + dTHXa(pnotes-interp-perl); +#endif + SvREFCNT_dec(pnotes-pnotes); + pnotes-pnotes = NULL; + pnotes-pool = NULL; +#ifdef USE_ITHREADS + MP_TRACE_i(MP_FUNC, DO: calling interp_unselect(0x%lx)\n, + pnotes-interp); +modperl_interp_unselect(pnotes-interp); +pnotes-interp = NULL; #endif -SvREFCNT_dec(*pnotes); -*pnotes = Nullhv; -} - return APR_SUCCESS; } -MP_INLINE -static void *modperl_pnotes_cleanup_data(pTHX_ HV **pnotes, apr_pool_t *p) { -#ifdef USE_ITHREADS -modperl_cleanup_pnotes_data_t *cleanup_data = apr_palloc(p, sizeof(*cleanup_data)); -cleanup_data-pnotes = pnotes; -cleanup_data-perl = aTHX; -return cleanup_data; -#else -return pnotes; -#endif +void modperl_pnotes_kill(void *data) { +modperl_pnotes_t *pnotes = data; + +if( !pnotes-pnotes
svn commit: r594682 - in /perl/modperl/trunk/t: modperl/cookie.t response/TestModperl/cookie.pm
Author: gozer Date: Tue Nov 13 14:43:25 2007 New Revision: 594682 URL: http://svn.apache.org/viewvc?rev=594682view=rev Log: Simplify this test, using keepalives instead of the same_interp stuff works just fine. And it's simpler. This one is for Fred. Modified: perl/modperl/trunk/t/modperl/cookie.t perl/modperl/trunk/t/response/TestModperl/cookie.pm Modified: perl/modperl/trunk/t/modperl/cookie.t URL: http://svn.apache.org/viewvc/perl/modperl/trunk/t/modperl/cookie.t?rev=594682r1=594681r2=594682view=diff == --- perl/modperl/trunk/t/modperl/cookie.t (original) +++ perl/modperl/trunk/t/modperl/cookie.t Tue Nov 13 14:43:25 2007 @@ -19,6 +19,7 @@ use Apache::Test; use Apache::TestUtil; use Apache::TestRequest; +Apache::TestRequest::user_agent(keep_alive = 1); use TestCommon::SameInterp; @@ -42,20 +43,18 @@ my @tests_ordered = qw(header env nocookie); t_debug getting the same interp ID for $location; -my $same_interp = Apache::TestRequest::same_interp_tie($location); -my $skip = $same_interp ? 0 : 1; +GET $location; + for my $test (@tests_ordered) { my $expected = $test eq 'nocookie' ? '' : bar; my @headers = (); push @headers, (Cookie = $cookies{$test}) unless $test eq 'nocookie'; -my $received = same_interp_req_body($same_interp, \GET, -$location?$test, @headers); -$skip++ unless defined $received; -same_interp_skip_not_found( -$skip, -$received, +my $received = GET $location?$test, @headers; + +ok t_cmp( +$received-content, $expected, perl-script+SetupEnv/cookie: $test ); Modified: perl/modperl/trunk/t/response/TestModperl/cookie.pm URL: http://svn.apache.org/viewvc/perl/modperl/trunk/t/response/TestModperl/cookie.pm?rev=594682r1=594681r2=594682view=diff == --- perl/modperl/trunk/t/response/TestModperl/cookie.pm (original) +++ perl/modperl/trunk/t/response/TestModperl/cookie.pm Tue Nov 13 14:43:25 2007 @@ -48,7 +48,6 @@ __DATA__ SetHandler perl-script PerlModule TestModperl::cookie -PerlInitHandler Apache::TestHandler::same_interp_fixup PerlAccessHandler TestModperl::cookie::access PerlResponseHandler TestModperl::cookie PerlOptions -SetupEnv
svn commit: r594347 - in /perl/modperl/branches/threading: ./ t/response/TestModperl/ xs/ModPerl/Interpreter/ xs/maps/ xs/tables/current/Apache2/ xs/tables/current/ModPerl/
Author: gozer Date: Mon Nov 12 15:44:37 2007 New Revision: 594347 URL: http://svn.apache.org/viewvc?rev=594347view=rev Log: Expose modperl_interp_pool_t via ModPerl::InterpPool, modperl_tipool_t via ModPerl::TiPool and modperl_tipool_config_t via ModPerl::TiPoolConfig Reviewed-By: Gozer Submitted-By: Torsten Foertsch [EMAIL PROTECTED] Message-Id: [EMAIL PROTECTED] Modified: perl/modperl/branches/threading/Changes perl/modperl/branches/threading/t/response/TestModperl/interpreter.pm perl/modperl/branches/threading/xs/ModPerl/Interpreter/ModPerl__Interpreter.h perl/modperl/branches/threading/xs/maps/modperl_functions.map perl/modperl/branches/threading/xs/maps/modperl_structures.map perl/modperl/branches/threading/xs/maps/modperl_types.map perl/modperl/branches/threading/xs/tables/current/Apache2/StructureTable.pm perl/modperl/branches/threading/xs/tables/current/ModPerl/FunctionTable.pm Modified: perl/modperl/branches/threading/Changes URL: http://svn.apache.org/viewvc/perl/modperl/branches/threading/Changes?rev=594347r1=594346r2=594347view=diff == --- perl/modperl/branches/threading/Changes (original) +++ perl/modperl/branches/threading/Changes Mon Nov 12 15:44:37 2007 @@ -12,6 +12,10 @@ =item 2.0.4-dev +Expose modperl_interp_pool_t via ModPerl::InterpPool, modperl_tipool_t +via ModPerl::TiPool and modperl_tipool_config_t via ModPerl::TiPoolConfig +[Torsten Foertsch] + Expose modperl_interp_t via ModPerl::Interpreter [Torsten Foertsch] PerlCleanupHandler are now registered with a subpool of $r-pool, Modified: perl/modperl/branches/threading/t/response/TestModperl/interpreter.pm URL: http://svn.apache.org/viewvc/perl/modperl/branches/threading/t/response/TestModperl/interpreter.pm?rev=594347r1=594346r2=594347view=diff == --- perl/modperl/branches/threading/t/response/TestModperl/interpreter.pm (original) +++ perl/modperl/branches/threading/t/response/TestModperl/interpreter.pm Mon Nov 12 15:44:37 2007 @@ -1,7 +1,5 @@ package TestModperl::interpreter; -# Modperl::Util tests - use strict; use warnings FATAL = 'all'; @@ -9,22 +7,68 @@ use Apache::TestUtil; use ModPerl::Interpreter (); +use ModPerl::InterpPool (); +use ModPerl::TiPool (); +use ModPerl::TiPoolConfig (); +use Apache2::MPM (); use Apache2::Const -compile = 'OK'; sub handler { my $r = shift; -plan $r, tests = 5; - -my $interp = ModPerl::Interpreter::current(); -print STDERR Dumper($interp); use Data::Dumper; -ok t_cmp ref($interp), 'ModPerl::Interpreter'; - -ok $interp-num_requests 0; -ok $interp-refcnt 0; -ok $interp-mip 0; -ok $interp-perl 0; +my $is_threaded=Apache2::MPM-is_threaded; + +plan $r, tests = $is_threaded?17:5; + +my $interp = ModPerl::Interpreter-current; + +ok t_cmp(ref($interp), 'ModPerl::Interpreter', +'interp is a ModPerl::Interpreter'); + +ok t_cmp($$interp==${ModPerl::Interpreter::current()}, !!1, +'ModPerl::Interpreter-current == ModPerl::Interpreter::current'); + +my $mip = $interp-mip; + +ok t_cmp(ref($mip), 'ModPerl::InterpPool', +'interp-mip is a ModPerl::InterpPool'); + +ok t_cmp(${$mip-server}==${$r-server}, !!1, +'mip-server == r-server'); + +ok t_cmp(ref($mip-parent), 'ModPerl::Interpreter', +'mip-parent is a ModPerl::Interpreter'); + +if($is_threaded) { + ok t_cmp($interp-perl!=0, !!1, 'interp-perl'); + ok t_cmp($interp-num_requests0, !!1, 'interp-num_requests'); + ok t_cmp($interp-refcnt0, !!1, 'interp-refcnt'); + + my $tipool = $mip-tipool; + + ok t_cmp(ref($tipool), 'ModPerl::TiPool', +'mip-tipool is a ModPerl::TiPool'); + + ok t_cmp($tipool-in_use!=0, !!1, 'tipool-in_use'); + + ok t_cmp($tipool-size!=0, !!1, 'tipool-size'); + + my $tipcfg = $tipool-cfg; + + ok t_cmp(ref($tipcfg), 'ModPerl::TiPoolConfig', +'tipool-cfg is a ModPerl::TiPoolConfig'); + + ok t_cmp($tipcfg-start!=0, !!1, 'tipcfg-start'); + + ok t_cmp($tipcfg-min_spare!=0, !!1, 'tipcfg-min_spare'); + + ok t_cmp($tipcfg-max_spare!=0, !!1, 'tipcfg-max_spare'); + + ok t_cmp($tipcfg-max!=0, !!1, 'tipcfg-max'); + + ok t_cmp($tipcfg-max_requests!=0, !!1, 'tipcfg-max_requests'); +} Apache2::Const::OK; } Modified: perl/modperl/branches/threading/xs/ModPerl/Interpreter/ModPerl__Interpreter.h URL: http://svn.apache.org/viewvc/perl/modperl/branches/threading/xs/ModPerl/Interpreter/ModPerl__Interpreter.h?rev=594347r1=594346r2=594347view=diff == --- perl/modperl/branches/threading/xs/ModPerl/Interpreter/ModPerl__Interpreter.h (original) +++ perl/modperl/branches/threading/xs/ModPerl
svn commit: r588156 - in /perl/modperl/trunk: Changes src/modules/perl/modperl_config.c src/modules/perl/modperl_config.h src/modules/perl/modperl_util.c
Author: gozer Date: Thu Oct 25 00:43:14 2007 New Revision: 588156 URL: http://svn.apache.org/viewvc?rev=588156view=rev Log: PerlCleanupHandler are now registered with a subpool of $(r|c)-pool, instead of $(r|c)-pool itself, ensuring they run _before_ any other $(r|c)-pool cleanups. This way, pnotes can now be simply cleaned via a $(r|c)-pool cleanup, after any PerlCleanupHandler are run. Reviewed-By: gozer Submitted-By: Torsten Foertsch [EMAIL PROTECTED] Message-Id: [EMAIL PROTECTED] Modified: perl/modperl/trunk/Changes perl/modperl/trunk/src/modules/perl/modperl_config.c perl/modperl/trunk/src/modules/perl/modperl_config.h perl/modperl/trunk/src/modules/perl/modperl_util.c Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewvc/perl/modperl/trunk/Changes?rev=588156r1=588155r2=588156view=diff == --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Thu Oct 25 00:43:14 2007 @@ -12,6 +12,10 @@ =item 2.0.4-dev +PerlCleanupHandler are now registered with a subpool of $r-pool, +instead of $r-pool itself, ensuring they run _before_ any other +$r-pool cleanups [Torsten Foertsch] + Fix a bug that would prevent pnotes from being cleaned up proprely at the end of the request [Torsten Foertsch] Modified: perl/modperl/trunk/src/modules/perl/modperl_config.c URL: http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/modperl_config.c?rev=588156r1=588155r2=588156view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_config.c (original) +++ perl/modperl/trunk/src/modules/perl/modperl_config.c Thu Oct 25 00:43:14 2007 @@ -362,11 +362,6 @@ retval = modperl_callback_per_dir(MP_CLEANUP_HANDLER, r, MP_HOOK_RUN_ALL); -if (rcfg-pnotes) { -SvREFCNT_dec(rcfg-pnotes); -rcfg-pnotes = Nullhv; -} - /* undo changes to %ENV caused by +SetupEnv, perl-script, or * $r-subprocess_env, so the values won't persist */ if (MpReqSETUP_ENV(rcfg)) { Modified: perl/modperl/trunk/src/modules/perl/modperl_config.h URL: http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/modperl_config.h?rev=588156r1=588155r2=588156view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_config.h (original) +++ perl/modperl/trunk/src/modules/perl/modperl_config.h Thu Oct 25 00:43:14 2007 @@ -42,9 +42,15 @@ apr_status_t modperl_config_req_cleanup(void *data); +/* use a subpool here to ensure that a PerlCleanupHandler is run before + * any other pool cleanup - suppools are destroyed first. Particularly a + * PerlCleanupHandler must run before request pnotes are dropped. + */ #define modperl_config_req_cleanup_register(r, rcfg) \ if (r !MpReqCLEANUP_REGISTERED(rcfg)) { \ -apr_pool_cleanup_register(r-pool, \ +apr_pool_t *p;\ +apr_pool_create(p, r-pool); \ +apr_pool_cleanup_register(p, \ (void*)r,\ modperl_config_req_cleanup, \ apr_pool_cleanup_null); \ Modified: perl/modperl/trunk/src/modules/perl/modperl_util.c URL: http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/modperl_util.c?rev=588156r1=588155r2=588156view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_util.c (original) +++ perl/modperl/trunk/src/modules/perl/modperl_util.c Thu Oct 25 00:43:14 2007 @@ -856,33 +856,32 @@ return APR_SUCCESS; } +MP_INLINE +static void *modperl_pnotes_cleanup_data(pTHX_ HV **pnotes, apr_pool_t *p) { +#ifdef USE_ITHREADS +modperl_cleanup_pnotes_data_t *cleanup_data = apr_palloc(p, sizeof(*cleanup_data)); +cleanup_data-pnotes = pnotes; +cleanup_data-perl = aTHX; +return cleanup_data; +#else +return pnotes; +#endif +} + SV *modperl_pnotes(pTHX_ HV **pnotes, SV *key, SV *val, request_rec *r, conn_rec *c) { SV *retval = Nullsv; if (!*pnotes) { -*pnotes = newHV(); + apr_pool_t *pool = r ? r-pool : c-pool; + void *cleanup_data; + *pnotes = newHV(); -/* XXX: It would be nice to be able to do this with r-pnotes, but - * it's currently impossible, as modperl_config.c:modperl_config_request_cleanup() - * is responsible for running the CleanupHandlers, and it's cleanup callback is - * registered very early. If we register our cleanup here, we'll be running - * *before* the CleanupHandlers, and they might still want to use pnotes... - */ -if (c !r
svn commit: r588160 - in /perl/modperl/branches/threading: ./ src/modules/perl/ t/modperl/ t/response/TestModperl/
Author: gozer Date: Thu Oct 25 01:10:37 2007 New Revision: 588160 URL: http://svn.apache.org/viewvc?rev=588160view=rev Log: Merged revisions 584366-588158 via svnmerge from https://svn.apache.org/repos/asf/perl/modperl/trunk r584380 | gozer | 2007-10-12 23:48:14 -0700 (Fri, 12 Oct 2007) | 8 lines Don't increase the refcnt of the pnotes HV* twice, we will leak it. Submitted-By: Torsten Foertsch [EMAIL PROTECTED] Message-Id: [EMAIL PROTECTED] Reviewed-By: gozer r585724 | gozer | 2007-10-17 15:02:58 -0700 (Wed, 17 Oct 2007) | 7 lines Remove unused struct member from modperl_interp_pool_t Reviwed-By: gozer Submitted-By: Torsten Foertsch [EMAIL PROTECTED] Message-Id: [EMAIL PROTECTED] r588156 | gozer | 2007-10-25 00:43:14 -0700 (Thu, 25 Oct 2007) | 12 lines PerlCleanupHandler are now registered with a subpool of $(r|c)-pool, instead of $(r|c)-pool itself, ensuring they run _before_ any other $(r|c)-pool cleanups. This way, pnotes can now be simply cleaned via a $(r|c)-pool cleanup, after any PerlCleanupHandler are run. Reviewed-By: gozer Submitted-By: Torsten Foertsch [EMAIL PROTECTED] Message-Id: [EMAIL PROTECTED] Added: perl/modperl/branches/threading/t/modperl/pnotes2.t - copied unchanged from r588156, perl/modperl/trunk/t/modperl/pnotes2.t perl/modperl/branches/threading/t/response/TestModperl/pnotes2.pm - copied unchanged from r588156, perl/modperl/trunk/t/response/TestModperl/pnotes2.pm Modified: perl/modperl/branches/threading/ (props changed) perl/modperl/branches/threading/Changes perl/modperl/branches/threading/src/modules/perl/modperl_config.c perl/modperl/branches/threading/src/modules/perl/modperl_config.h perl/modperl/branches/threading/src/modules/perl/modperl_types.h perl/modperl/branches/threading/src/modules/perl/modperl_util.c Propchange: perl/modperl/branches/threading/ -- --- svnmerge-integrated (original) +++ svnmerge-integrated Thu Oct 25 01:10:37 2007 @@ -1 +1 @@ -/perl/modperl/trunk:1-584365 +/perl/modperl/trunk:1-588158 Modified: perl/modperl/branches/threading/Changes URL: http://svn.apache.org/viewvc/perl/modperl/branches/threading/Changes?rev=588160r1=588159r2=588160view=diff == --- perl/modperl/branches/threading/Changes (original) +++ perl/modperl/branches/threading/Changes Thu Oct 25 01:10:37 2007 @@ -14,7 +14,14 @@ Expose modperl_interp_t via ModPerl::Interpreter [Torsten Foertsch] -On Win32, embed the manifest file, if present, in mod_perl.so, +PerlCleanupHandler are now registered with a subpool of $r-pool, +instead of $r-pool itself, ensuring they run _before_ any other +$r-pool cleanups [Torsten Foertsch] + +Fix a bug that would prevent pnotes from being cleaned up proprely +at the end of the request [Torsten Foertsch] + +n Win32, embed the manifest file, if present, in mod_perl.so, so as to work with VC 8 [Steve Hay, Randy Kobes] Expose apr_thread_rwlock_t with the APR::ThreadRWLock module Modified: perl/modperl/branches/threading/src/modules/perl/modperl_config.c URL: http://svn.apache.org/viewvc/perl/modperl/branches/threading/src/modules/perl/modperl_config.c?rev=588160r1=588159r2=588160view=diff == --- perl/modperl/branches/threading/src/modules/perl/modperl_config.c (original) +++ perl/modperl/branches/threading/src/modules/perl/modperl_config.c Thu Oct 25 01:10:37 2007 @@ -362,11 +362,6 @@ retval = modperl_callback_per_dir(MP_CLEANUP_HANDLER, r, MP_HOOK_RUN_ALL); -if (rcfg-pnotes) { -SvREFCNT_dec(rcfg-pnotes); -rcfg-pnotes = Nullhv; -} - /* undo changes to %ENV caused by +SetupEnv, perl-script, or * $r-subprocess_env, so the values won't persist */ if (MpReqSETUP_ENV(rcfg)) { Modified: perl/modperl/branches/threading/src/modules/perl/modperl_config.h URL: http://svn.apache.org/viewvc/perl/modperl/branches/threading/src/modules/perl/modperl_config.h?rev=588160r1=588159r2=588160view=diff == --- perl/modperl/branches/threading/src/modules/perl/modperl_config.h (original) +++ perl/modperl/branches/threading/src/modules/perl/modperl_config.h Thu Oct 25 01:10:37 2007 @@ -42,9 +42,15 @@ apr_status_t modperl_config_req_cleanup(void *data); +/* use a subpool here to ensure that a PerlCleanupHandler is run before + * any other pool cleanup - suppools are destroyed first. Particularly a + * PerlCleanupHandler must run before request pnotes are dropped. + */ #define modperl_config_req_cleanup_register(r, rcfg) \ if (r !MpReqCLEANUP_REGISTERED(rcfg)) { \ -apr_pool_cleanup_register(r-pool
svn commit: r555364 - /perl/modperl/branches/1.x/Makefile.PL
Author: gozer Date: Wed Jul 11 11:42:38 2007 New Revision: 555364 URL: http://svn.apache.org/viewvc?view=revrev=555364 Log: Get rid of a very old broken piece of Makefile.PL code that post processes PERL_EXTRA_CLFAGS, effectively doing s/,/ /g. That's breaking CFLAGS with valid ',' in their values, like -Wl,foo. Modified: perl/modperl/branches/1.x/Makefile.PL Modified: perl/modperl/branches/1.x/Makefile.PL URL: http://svn.apache.org/viewvc/perl/modperl/branches/1.x/Makefile.PL?view=diffrev=555364r1=555363r2=555364 == --- perl/modperl/branches/1.x/Makefile.PL (original) +++ perl/modperl/branches/1.x/Makefile.PL Wed Jul 11 11:42:38 2007 @@ -543,11 +543,6 @@ } } -if ($PERL_EXTRA_CFLAGS) { -$PERL_EXTRA_CFLAGS = join( , split(,, $PERL_EXTRA_CFLAGS)); -$PERL_EXTRA_CFLAGS =~ s/\s+/ /g; -} - if ($PERL_DEBUG) { my $lib = $Config{archlibexp}/CORE/libperld$Config{lib_ext}; if (-e $lib) {
svn commit: r537990 - in /perl/modperl/trunk: Changes src/modules/perl/modperl_handler.c
Author: gozer Date: Mon May 14 14:44:30 2007 New Revision: 537990 URL: http://svn.apache.org/viewvc?view=revrev=537990 Log: Fix a bug that could cause a carsh when using $r-push_handlers() multiple times for a phase that had no configured handlers. Submitted-By: Torsten Foertsch [EMAIL PROTECTED] Reviewed-By: Philippe M. Chiasson Message-Id: [EMAIL PROTECTED] Modified: perl/modperl/trunk/Changes perl/modperl/trunk/src/modules/perl/modperl_handler.c Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewvc/perl/modperl/trunk/Changes?view=diffrev=537990r1=537989r2=537990 == --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Mon May 14 14:44:30 2007 @@ -12,6 +12,9 @@ =item 2.0.4-dev +Fix a bug that could cause a crash when using $r-push_handlers() multiple +times for a phase that has no configured handlers [Torsten Foertsch] + Catch up with some httpd API changes 2.2.4: The full server version information is now included in the error log at Modified: perl/modperl/trunk/src/modules/perl/modperl_handler.c URL: http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/modperl_handler.c?view=diffrev=537990r1=537989r2=537990 == --- perl/modperl/trunk/src/modules/perl/modperl_handler.c (original) +++ perl/modperl/trunk/src/modules/perl/modperl_handler.c Mon May 14 14:44:30 2007 @@ -427,7 +427,8 @@ /* just a lookup */ break; case MP_HANDLER_ACTION_PUSH: -if (ravp !*ravp) { +if (ravp) { +if (!*ravp) { if (*avp) { /* merge with existing configured handlers */ *ravp = apr_array_copy(p, *avp); @@ -436,6 +437,7 @@ /* no request handlers have been previously pushed or set */ *ravp = modperl_handler_array_new(p); } +} } else if (!*avp) { /* directly modify the configuration at startup time */
svn commit: r537992 - /perl/modperl/trunk/src/modules/perl/modperl_handler.c
Author: gozer Date: Mon May 14 14:45:20 2007 New Revision: 537992 URL: http://svn.apache.org/viewvc?view=revrev=537992 Log: Re-indent after revision 537990. Modified: perl/modperl/trunk/src/modules/perl/modperl_handler.c Modified: perl/modperl/trunk/src/modules/perl/modperl_handler.c URL: http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/modperl_handler.c?view=diffrev=537992r1=537991r2=537992 == --- perl/modperl/trunk/src/modules/perl/modperl_handler.c (original) +++ perl/modperl/trunk/src/modules/perl/modperl_handler.c Mon May 14 14:45:20 2007 @@ -428,16 +428,16 @@ break; case MP_HANDLER_ACTION_PUSH: if (ravp) { -if (!*ravp) { -if (*avp) { -/* merge with existing configured handlers */ -*ravp = apr_array_copy(p, *avp); +if (!*ravp) { +if (*avp) { +/* merge with existing configured handlers */ +*ravp = apr_array_copy(p, *avp); +} +else { +/* no request handlers have been previously pushed or set */ +*ravp = modperl_handler_array_new(p); +} } -else { -/* no request handlers have been previously pushed or set */ -*ravp = modperl_handler_array_new(p); -} -} } else if (!*avp) { /* directly modify the configuration at startup time */
svn commit: r533265 - /perl/modperl/trunk/lib/Apache2/SizeLimit.pm
Author: gozer Date: Fri Apr 27 16:54:03 2007 New Revision: 533265 URL: http://svn.apache.org/viewvc?view=revrev=533265 Log: Fix a small typo in Apache2::SizeLimit that would cause a loading error on BSDes. Reported-By: Jonathan Vanasco [EMAIL PROTECTED] Message-ID: [EMAIL PROTECTED] Modified: perl/modperl/trunk/lib/Apache2/SizeLimit.pm Modified: perl/modperl/trunk/lib/Apache2/SizeLimit.pm URL: http://svn.apache.org/viewvc/perl/modperl/trunk/lib/Apache2/SizeLimit.pm?view=diffrev=533265r1=533264r2=533265 == --- perl/modperl/trunk/lib/Apache2/SizeLimit.pm (original) +++ perl/modperl/trunk/lib/Apache2/SizeLimit.pm Fri Apr 27 16:54:03 2007 @@ -142,7 +142,7 @@ # rss is in KB but ixrss is in BYTES. # This is true on at least FreeBSD, OpenBSD, NetBSD # Philip M. Gollucci -sub _bsd_size_check { +sub bsd_size_check { my @results = BSD::Resource::getrusage(); my $max_rss = $results[2];
svn commit: r523943 - in /perl/Apache-SizeLimit/trunk: Changes lib/Apache/SizeLimit.pm
Author: gozer Date: Thu Mar 29 22:16:50 2007 New Revision: 523943 URL: http://svn.apache.org/viewvc?view=revrev=523943 Log: prepare for 0.91 release Modified: perl/Apache-SizeLimit/trunk/Changes perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit.pm Modified: perl/Apache-SizeLimit/trunk/Changes URL: http://svn.apache.org/viewvc/perl/Apache-SizeLimit/trunk/Changes?view=diffrev=523943r1=523942r2=523943 == --- perl/Apache-SizeLimit/trunk/Changes (original) +++ perl/Apache-SizeLimit/trunk/Changes Thu Mar 29 22:16:50 2007 @@ -6,7 +6,7 @@ =over 6 -=item 0.91-dev +=item 0.91 2007-03-29 Fix Can't call method child_terminate on an undefined value By add_cleanup_handler() pass $r to _exit_if_to_big() via shift Modified: perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit.pm URL: http://svn.apache.org/viewvc/perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit.pm?view=diffrev=523943r1=523942r2=523943 == --- perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit.pm (original) +++ perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit.pm Thu Mar 29 22:16:50 2007 @@ -25,7 +25,7 @@ $USE_SMAPS ); -$VERSION = '0.91-dev'; +$VERSION = '0.91'; __PACKAGE__-set_check_interval(1);
svn commit: r523944 - /perl/Apache-SizeLimit/tags/0_91/
Author: gozer Date: Thu Mar 29 22:17:29 2007 New Revision: 523944 URL: http://svn.apache.org/viewvc?view=revrev=523944 Log: tag for 0.91 release Added: perl/Apache-SizeLimit/tags/0_91/ - copied from r523943, perl/Apache-SizeLimit/trunk/
svn commit: r523946 - in /perl/Apache-SizeLimit/trunk: Changes RELEASE lib/Apache/SizeLimit.pm
Author: gozer Date: Thu Mar 29 22:20:23 2007 New Revision: 523946 URL: http://svn.apache.org/viewvc?view=revrev=523946 Log: start the 0.92 dev cycle Modified: perl/Apache-SizeLimit/trunk/Changes perl/Apache-SizeLimit/trunk/RELEASE perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit.pm Modified: perl/Apache-SizeLimit/trunk/Changes URL: http://svn.apache.org/viewvc/perl/Apache-SizeLimit/trunk/Changes?view=diffrev=523946r1=523945r2=523946 == --- perl/Apache-SizeLimit/trunk/Changes (original) +++ perl/Apache-SizeLimit/trunk/Changes Thu Mar 29 22:20:23 2007 @@ -6,6 +6,8 @@ =over 6 +=item 0.92-dev + =item 0.91 2007-03-29 Fix Can't call method child_terminate on an undefined value Modified: perl/Apache-SizeLimit/trunk/RELEASE URL: http://svn.apache.org/viewvc/perl/Apache-SizeLimit/trunk/RELEASE?view=diffrev=523946r1=523945r2=523946 == --- perl/Apache-SizeLimit/trunk/RELEASE (original) +++ perl/Apache-SizeLimit/trunk/RELEASE Thu Mar 29 22:20:23 2007 @@ -26,7 +26,7 @@ a. login into https://pause.perl.org b. menu click: Select Mailinglist/Action c. choose APML and share_perms and click go -d. click 3.1 Make somebody else co-maintainer +d. click Make somebody else co-maintainer e. choose the modules to give the perms to type the username of the new co-maintainer f. if you happen to know that packages were added this release, @@ -90,7 +90,7 @@ 5. Announce the package a. post ... to the modperl, announce lists - Subject: [ANNOUNCE] Apache-SizeLimit 0.90 + Subject: [ANNOUNCE] Apache-SizeLimit 0.92 include - MD5 sig (as it comes from CPAN upload announce). - the latest Changes @@ -102,7 +102,7 @@ b. edit ./Changes: - start a new item with incremented version + '-dev' - =item 0.91-dev + =item 0.92-dev c. bump up version numbers in this file to make it easier to do the next release. @@ -110,4 +110,4 @@ $ perl -pi -e 's/(\d+)\.(\d+)/join(., $1, $2+1)/eg' RELEASE d. commit Changes - % svn ci -m start 0.91-dev cycle Changes RELEASE lib/Apache/SizeLimit.pm + % svn ci -m start 0.92-dev cycle Changes RELEASE lib/Apache/SizeLimit.pm Modified: perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit.pm URL: http://svn.apache.org/viewvc/perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit.pm?view=diffrev=523946r1=523945r2=523946 == --- perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit.pm (original) +++ perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit.pm Thu Mar 29 22:20:23 2007 @@ -25,7 +25,7 @@ $USE_SMAPS ); -$VERSION = '0.91'; +$VERSION = '0.92-dev'; __PACKAGE__-set_check_interval(1);
svn commit: r523951 - /perl/modperl/tags/1_30/
Author: gozer Date: Thu Mar 29 22:54:56 2007 New Revision: 523951 URL: http://svn.apache.org/viewvc?view=revrev=523951 Log: Tagging the 1.30 release Added: perl/modperl/tags/1_30/ - copied from r523950, perl/modperl/branches/1.x/
svn commit: r523952 - in /perl/modperl/branches/1.x: Changes RELEASE lib/mod_perl.pm
Author: gozer Date: Thu Mar 29 22:56:31 2007 New Revision: 523952 URL: http://svn.apache.org/viewvc?view=revrev=523952 Log: start 1.31-dev cycle Modified: perl/modperl/branches/1.x/Changes perl/modperl/branches/1.x/RELEASE perl/modperl/branches/1.x/lib/mod_perl.pm Modified: perl/modperl/branches/1.x/Changes URL: http://svn.apache.org/viewvc/perl/modperl/branches/1.x/Changes?view=diffrev=523952r1=523951r2=523952 == --- perl/modperl/branches/1.x/Changes (original) +++ perl/modperl/branches/1.x/Changes Thu Mar 29 22:56:31 2007 @@ -8,6 +8,8 @@ =over 3 +=item 1.31-dev + =item 1.30 March 29, 2007 SECURITY: CVE-2007-1349 (cve.mitre.org) Modified: perl/modperl/branches/1.x/RELEASE URL: http://svn.apache.org/viewvc/perl/modperl/branches/1.x/RELEASE?view=diffrev=523952r1=523951r2=523952 == --- perl/modperl/branches/1.x/RELEASE (original) +++ perl/modperl/branches/1.x/RELEASE Thu Mar 29 22:56:31 2007 @@ -30,7 +30,7 @@ make sure you give the correct permissions to them. 1. 'make dist' - to make sure nothing is missing from the manifest, - etc. Now test this generated package mod_perl-1.30-dev.tar.gz (not + etc. Now test this generated package mod_perl-1.31-dev.tar.gz (not the current build) with as many configurations as possible on as many platforms as possible, unpacking the package each time afresh. @@ -51,7 +51,7 @@ to the modperl/dev list (may be longer to give most people a chance to catch up). no need to tag this package - Subject: [RELEASE CANDIDATE]: mod_perl-1.30 RC\d+ + Subject: [RELEASE CANDIDATE]: mod_perl-1.31 RC\d+ 2a. if problems are detected during stage 2, repeat stages 1 and 2. @@ -78,29 +78,29 @@ f. test the final package again at least once -4. Release the package and update links (e.g. mod_perl-1.30.tar.gz) +4. Release the package and update links (e.g. mod_perl-1.31.tar.gz) a. upload to www.apache.org:/www/perl.apache.org/dist/ -% scp mod_perl-1.30.tar.gz perl.apache.org:/www/perl.apache.org/dist/ +% scp mod_perl-1.31.tar.gz perl.apache.org:/www/perl.apache.org/dist/ b. ssh to perl.apache.org, unpack the package, update symlinks to the tar ball and unpacked distro: % ssh perl.apache.org % cd /www/perl.apache.org/dist/ -% ln -sf mod_perl-1.30.tar.gz mod_perl-1.0-current.tar.gz -% tar -xzvf mod_perl-1.30.tar.gz -% rm /www/perl.apache.org/dist/mod_perl-1.0-current -% ln -sf mod_perl-1.30 mod_perl-1.0-current +% ln -sf mod_perl-1.31.tar.gz mod_perl-1.1-current.tar.gz +% tar -xzvf mod_perl-1.31.tar.gz +% rm /www/perl.apache.org/dist/mod_perl-1.1-current +% ln -sf mod_perl-1.31 mod_perl-1.1-current c. archive older releases (keep current + one prior release) -% mv /www/perl.apache.org/dist/mod_perl-1.28.tar.gz \ +% mv /www/perl.apache.org/dist/mod_perl-1.29.tar.gz \ /www/perl.apache.org/dist/old -% mv /www/perl.apache.org/dist/mod_perl-1.29.tar.gz.asc \ +% mv /www/perl.apache.org/dist/mod_perl-1.30.tar.gz.asc \ /www/perl.apache.org/dist/old -% rm -rf /www/perl.apache.org/dist/mod_perl-1.28 +% rm -rf /www/perl.apache.org/dist/mod_perl-1.29 d. update the version and release date modperl-docs/src/download/index_top.html and commit. It'll be @@ -123,27 +123,27 @@ a. sign your local copy of the tarball: -% gpg --detach-sign --armor mod_perl-1.30.tar.gz +% gpg --detach-sign --armor mod_perl-1.31.tar.gz -% pgps -b --armor mod_perl-1.30.tar.gz +% pgps -b --armor mod_perl-1.31.tar.gz b. upload the generated sig file to www.apache.org: -% scp mod_perl-1.30.tar.gz.asc perl.apache.org:/www/perl.apache.org/dist/ +% scp mod_perl-1.31.tar.gz.asc perl.apache.org:/www/perl.apache.org/dist/ % ssh www.apache.org % cd /www/perl.apache.org/dist/ -% chmod 0664 mod_perl-1.30.tar.gz.asc -% ln -sf mod_perl-1.30.tar.gz.asc mod_perl-1.0-current.tar.gz.asc +% chmod 0664 mod_perl-1.31.tar.gz.asc +% ln -sf mod_perl-1.31.tar.gz.asc mod_perl-1.1-current.tar.gz.asc c. ask one of the other developers to double check the signature file and tarball: download both files and verify the signature: -http://perl.apache.org/dist/mod_perl-1.30.tar.gz.asc -http://perl.apache.org/dist/mod_perl-1.30.tar.gz +http://perl.apache.org/dist/mod_perl-1.31.tar.gz.asc +http://perl.apache.org/dist/mod_perl-1.31.tar.gz -% gpg --verify mod_perl-1.30.tar.gz.asc +% gpg --verify mod_perl-1.31.tar.gz.asc -% pgpv mod_perl-1.30.tar.gz.asc +% pgpv mod_perl-1.31.tar.gz.asc d. make sure that the files you just created are group rw so all the dist admins can make changes: @@ -157,10 +157,10 @@ a. unpack the package, update symlinks to the tarball and unpacked distro: % cd
svn commit: r523955 - /perl/modperl/branches/1.x/RELEASE
Author: gozer Date: Thu Mar 29 23:16:17 2007 New Revision: 523955 URL: http://svn.apache.org/viewvc?view=revrev=523955 Log: fix a few nits Modified: perl/modperl/branches/1.x/RELEASE Modified: perl/modperl/branches/1.x/RELEASE URL: http://svn.apache.org/viewvc/perl/modperl/branches/1.x/RELEASE?view=diffrev=523955r1=523954r2=523955 == --- perl/modperl/branches/1.x/RELEASE (original) +++ perl/modperl/branches/1.x/RELEASE Thu Mar 29 23:16:17 2007 @@ -14,7 +14,7 @@ http://people.apache.org/~geoff/gpghowto.html Copy the KEYS file into place: -% scp KEYS www.apache.org:/www/www.apache.org/dist/perl/KEYS +% scp KEYS perl.apache.org:/www/www.apache.org/dist/perl/KEYS If this is your first release, ask someone with APML karma on PAUSE to verify you have the appropriate permissions. Likely someone on @@ -80,7 +80,7 @@ 4. Release the package and update links (e.g. mod_perl-1.31.tar.gz) - a. upload to www.apache.org:/www/perl.apache.org/dist/ + a. upload to perl.apache.org:/www/perl.apache.org/dist/ % scp mod_perl-1.31.tar.gz perl.apache.org:/www/perl.apache.org/dist/ @@ -105,7 +105,7 @@ d. update the version and release date modperl-docs/src/download/index_top.html and commit. It'll be automatically updated within 6 hours. Alternatively you can do a - manual update by logging into www.apache.org and running: + manual update by logging into perl.apache.org and running: % /home/perlwww/apache.org/modperl-docs/bin/site_build @@ -127,10 +127,10 @@ % pgps -b --armor mod_perl-1.31.tar.gz - b. upload the generated sig file to www.apache.org: + b. upload the generated sig file to perl.apache.org: % scp mod_perl-1.31.tar.gz.asc perl.apache.org:/www/perl.apache.org/dist/ -% ssh www.apache.org +% ssh perl.apache.org % cd /www/perl.apache.org/dist/ % chmod 0664 mod_perl-1.31.tar.gz.asc % ln -sf mod_perl-1.31.tar.gz.asc mod_perl-1.1-current.tar.gz.asc @@ -151,7 +151,7 @@ % find /www/perl.apache.org/dist/ -user $USER -type f -exec chmod 0664 {} \; % find /www/perl.apache.org/dist/ -user $USER -type d -exec chmod 0775 {} \; -7. Distribute to www.apache.org/dist/perl +7. Distribute to perl.apache.org/dist/perl and archive the old package under /www/archive.apache.org/dist/perl/ a. unpack the package, update symlinks to the tarball and unpacked distro: @@ -159,8 +159,8 @@ % cd /www/www.apache.org/dist/perl/ % cp /www/perl.apache.org/dist/mod_perl-1.31.tar.gz* . % tar -xzvf mod_perl-1.31.tar.gz - % mv mod_perl-1.30.tar.gz* /www/archive.apache.org/dist/perl/ - % rm -rf mod_perl-1.30 + % mv mod_perl-1.29.tar.gz* /www/archive.apache.org/dist/perl/ + % rm -rf mod_perl-1.29 b. make sure that the files you just created are group rw so
svn commit: r523034 - /perl/modperl/branches/1.x/MANIFEST
Author: gozer Date: Tue Mar 27 12:08:36 2007 New Revision: 523034 URL: http://svn.apache.org/viewvc?view=revrev=523034 Log: Adjust to the fact we don't have Apache-SizeLimit as an external for the time being. Modified: perl/modperl/branches/1.x/MANIFEST Modified: perl/modperl/branches/1.x/MANIFEST URL: http://svn.apache.org/viewvc/perl/modperl/branches/1.x/MANIFEST?view=diffrev=523034r1=523033r2=523034 == --- perl/modperl/branches/1.x/MANIFEST (original) +++ perl/modperl/branches/1.x/MANIFEST Tue Mar 27 12:08:36 2007 @@ -1,15 +1,4 @@ .gdbinit -Apache-SizeLimit/Changes -Apache-SizeLimit/INSTALL -Apache-SizeLimit/LICENSE -Apache-SizeLimit/MANIFEST -Apache-SizeLimit/Makefile.PL -Apache-SizeLimit/README -Apache-SizeLimit/lib/Apache/SizeLimit.pm -Apache-SizeLimit/t/apache/all.t -Apache-SizeLimit/t/pod.t -Apache-SizeLimit/t/response/TestApache/basic.pm -Apache-SizeLimit/t/response/TestApache/deprecated.pm Apache/Apache.pm Apache/Makefile.PL Apache/typemap @@ -97,6 +86,7 @@ lib/Apache/RegistryNG.pm lib/Apache/Resource.pm lib/Apache/SIG.pm +lib/Apache/SizeLimit.pm lib/Apache/StatINC.pm lib/Apache/Status.pm lib/Apache/Symdump.pm
svn commit: r522671 - /perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit.pm
Author: gozer Date: Mon Mar 26 17:12:22 2007 New Revision: 522671 URL: http://svn.apache.org/viewvc?view=revrev=522671 Log: should be 0.91 by now Modified: perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit.pm Modified: perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit.pm URL: http://svn.apache.org/viewvc/perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit.pm?view=diffrev=522671r1=522670r2=522671 == --- perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit.pm (original) +++ perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit.pm Mon Mar 26 17:12:22 2007 @@ -25,7 +25,7 @@ $USE_SMAPS ); -$VERSION = '0.9'; +$VERSION = '0.91'; __PACKAGE__-set_check_interval(1);
svn commit: r522672 - /perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit.pm
Author: gozer Date: Mon Mar 26 17:14:13 2007 New Revision: 522672 URL: http://svn.apache.org/viewvc?view=revrev=522672 Log: undo change 522670 Modified: perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit.pm Modified: perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit.pm URL: http://svn.apache.org/viewvc/perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit.pm?view=diffrev=522672r1=522671r2=522672 == --- perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit.pm (original) +++ perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit.pm Mon Mar 26 17:14:13 2007 @@ -25,7 +25,7 @@ $USE_SMAPS ); -$VERSION = '0.91'; +$VERSION = '0.9'; __PACKAGE__-set_check_interval(1);
svn commit: r521890 - in /perl/modperl/branches/1.x: Changes MANIFEST Makefile.PL RELEASE lib/mod_perl.pm
Author: gozer Date: Fri Mar 23 13:03:34 2007 New Revision: 521890 URL: http://svn.apache.org/viewvc?view=revrev=521890 Log: Since no releases have been made in a while, there was some tidying up needed. Copied over and adapeted the RELEASE instructions from the 2.x branch as well. Added: perl/modperl/branches/1.x/RELEASE Modified: perl/modperl/branches/1.x/Changes perl/modperl/branches/1.x/MANIFEST perl/modperl/branches/1.x/Makefile.PL perl/modperl/branches/1.x/lib/mod_perl.pm Modified: perl/modperl/branches/1.x/Changes URL: http://svn.apache.org/viewvc/perl/modperl/branches/1.x/Changes?view=diffrev=521890r1=521889r2=521890 == --- perl/modperl/branches/1.x/Changes (original) +++ perl/modperl/branches/1.x/Changes Fri Mar 23 13:03:34 2007 @@ -8,7 +8,7 @@ =over 3 -=item 1.30_01-dev +=item 1.30-dev SECURITY: CVE-2007-1349 (cve.mitre.org) fix unescaped variable interpolation in Apache::PerlRun Modified: perl/modperl/branches/1.x/MANIFEST URL: http://svn.apache.org/viewvc/perl/modperl/branches/1.x/MANIFEST?view=diffrev=521890r1=521889r2=521890 == --- perl/modperl/branches/1.x/MANIFEST (original) +++ perl/modperl/branches/1.x/MANIFEST Fri Mar 23 13:03:34 2007 @@ -37,13 +37,13 @@ Log/Log.pm Log/Makefile.PL MANIFEST -META.yml Makefile.PL ModuleConfig/Makefile.PL ModuleConfig/ModuleConfig.pm PerlRunXS/Makefile.PL PerlRunXS/PerlRunXS.pm README +RELEASE STATUS SUPPORT Server/Makefile.PL Modified: perl/modperl/branches/1.x/Makefile.PL URL: http://svn.apache.org/viewvc/perl/modperl/branches/1.x/Makefile.PL?view=diffrev=521890r1=521889r2=521890 == --- perl/modperl/branches/1.x/Makefile.PL (original) +++ perl/modperl/branches/1.x/Makefile.PL Fri Mar 23 13:03:34 2007 @@ -69,8 +69,8 @@ local *FH; open FH, Changes; while (FH) { -if (/^=item.*-dev/) { -$VERSION .= -dev; +if (/^=item.*-(dev|rc\d+)/) { +$VERSION .= -$1; last; } last if /^=item/; Added: perl/modperl/branches/1.x/RELEASE URL: http://svn.apache.org/viewvc/perl/modperl/branches/1.x/RELEASE?view=autorev=521890 == --- perl/modperl/branches/1.x/RELEASE (added) +++ perl/modperl/branches/1.x/RELEASE Fri Mar 23 13:03:34 2007 @@ -0,0 +1,208 @@ +Instructions for mod_perl 1.x Release Manager + +0. make sure your public key is in the KEYS file in the mod_perl docs. +you should only need to do this if this is your first time playing +Release Manager + + $ cd mod_perl-docs + $ grep $USER src/dist/KEYS + +note that the KEYS file itself contains all the instructions you +need on how to add your key. if you need further help on gpg +(like how to create a key in the first place) you can look here + + http://people.apache.org/~geoff/gpghowto.html + +Copy the KEYS file into place: +% scp KEYS www.apache.org:/www/www.apache.org/dist/perl/KEYS + +If this is your first release, ask someone with APML karma on PAUSE +to verify you have the appropriate permissions. Likely someone on +the PMC can do this. + +a. login into https://pause.perl.org +b. menu click: Select Mailinglist/Action +c. choose APML and share_perms and click go +d. click 3.1 Make somebody else co-maintainer +e. choose the modules to give the perms to + type the username of the new co-maintainer +f. if you happen to know that packages were added this release, + make sure you give the correct permissions to them. + +1. 'make dist' - to make sure nothing is missing from the manifest, + etc. Now test this generated package mod_perl-1.30-dev.tar.gz (not + the current build) with as many + configurations as possible on as many platforms as possible, + unpacking the package each time afresh. + + a. edit ./Changes + - change -dev to -rc\d+ starting with -rc1 + + b. nuke any preinstalled mod_perl libs and run 'make test' + + c. test that you can 'make install' and then run 'make test' again + + e. build and test as root. double check that you have started from a + fresh source, without having any stale dirs from the previous + build laying around. + +2. once confident that the package is good, upload a release candidate + to people.apache.org/~username and post 24 hour-ish candidate alert + to the modperl/dev list (may be longer to give most people a chance + to catch up). no need to tag this package + + Subject: [RELEASE CANDIDATE]: mod_perl-1.30 RC\d+ + +2a. if problems are detected during stage 2, repeat stages 1 and 2. + +3. when the package has been reported to be good, prepare a new + package to be released + + a. edit ./Changes: + - remove -rc\d
svn commit: r422774 - in /perl/modperl/trunk: Changes lib/Apache2/PerlSections.pm t/conf/extra.last.conf.in t/response/TestDirective/perldo.pm
Author: gozer Date: Mon Jul 17 11:03:02 2006 New Revision: 422774 URL: http://svn.apache.org/viewvc?rev=422774view=rev Log: Multi-line $PerlConfig used to throw errors instead of being split on '\n' Reported-By: Andreas J. Koenig Modified: perl/modperl/trunk/Changes perl/modperl/trunk/lib/Apache2/PerlSections.pm perl/modperl/trunk/t/conf/extra.last.conf.in perl/modperl/trunk/t/response/TestDirective/perldo.pm Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewvc/perl/modperl/trunk/Changes?rev=422774r1=422773r2=422774view=diff == --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Mon Jul 17 11:03:02 2006 @@ -12,6 +12,8 @@ =item 2.0.3-dev +Multi-line $PerlConfig is now working [Gozer] + PerlOptions None was previously incorrectly reported as invalid inside VirtualHost or Directory blocks. [Philip M. Gollucci] Modified: perl/modperl/trunk/lib/Apache2/PerlSections.pm URL: http://svn.apache.org/viewvc/perl/modperl/trunk/lib/Apache2/PerlSections.pm?rev=422774r1=422773r2=422774view=diff == --- perl/modperl/trunk/lib/Apache2/PerlSections.pm (original) +++ perl/modperl/trunk/lib/Apache2/PerlSections.pm Mon Jul 17 11:03:02 2006 @@ -65,8 +65,11 @@ { no strict 'refs'; foreach my $package ($self-package) { -$self-dump_special(${${package}::$special}, - @{${package}::$special} ); +my @config = map { split /\n/ } +grep { defined } +(@{${package}::$special}, + ${${package}::$special}); +$self-dump_special(@config); } } @@ -193,10 +196,12 @@ } sub add_config { -my ($self, $config) = @_; -return unless defined $config; -chomp($config); -push @{ $self-directives }, $config; +my ($self, @config) = @_; +foreach my $config (@config) { +return unless defined $config; +chomp($config); +push @{ $self-directives }, $config; +} } sub post_config { Modified: perl/modperl/trunk/t/conf/extra.last.conf.in URL: http://svn.apache.org/viewvc/perl/modperl/trunk/t/conf/extra.last.conf.in?rev=422774r1=422773r2=422774view=diff == --- perl/modperl/trunk/t/conf/extra.last.conf.in (original) +++ perl/modperl/trunk/t/conf/extra.last.conf.in Mon Jul 17 11:03:02 2006 @@ -111,3 +111,23 @@ Perl 1 /VirtualHost /IfDefine + +#Single-line $PerlConfig +Perl + $PerlConfig = Alias /perl_sections_perlconfig_scalar @DocumentRoot@; +/Perl + +#Multi-line $PerlConfig +Perl + $PerlConfig = Alias /perl_sections_perlconfig_scalar1 @DocumentRoot@ + Alias /perl_sections_perlconfig_scalar2 @DocumentRoot@ +; +/Perl + [EMAIL PROTECTED] +Perl + @PerlConfig = (Alias /perl_sections_perlconfig_array1 @DocumentRoot@, + Alias /perl_sections_perlconfig_array2 @DocumentRoot@, +); +/Perl + Modified: perl/modperl/trunk/t/response/TestDirective/perldo.pm URL: http://svn.apache.org/viewvc/perl/modperl/trunk/t/response/TestDirective/perldo.pm?rev=422774r1=422773r2=422774view=diff == --- perl/modperl/trunk/t/response/TestDirective/perldo.pm (original) +++ perl/modperl/trunk/t/response/TestDirective/perldo.pm Mon Jul 17 11:03:02 2006 @@ -4,6 +4,7 @@ use warnings FATAL = 'all'; use Apache::Test; +use Apache::TestRequest; use Apache::TestUtil; use Apache2::Const -compile = 'OK'; use Apache2::PerlSections; @@ -11,7 +12,7 @@ sub handler { my $r = shift; -plan $r, tests = 17; +plan $r, tests = 22; ok t_cmp('yes', $TestDirective::perl::worked); @@ -57,6 +58,16 @@ my $bport = $TestDirective::perl::base_server-port; my $vport = $TestDirective::perl::vhost_server-port; ok defined $bport defined $vport $vport != $bport; + +foreach my $url (qw(scalar scalar1 scalar2)) { +my $res = GET /perl_sections_perlconfig_$url/; +ok t_cmp($res-is_success, 1, '$PerlConfig'); +} + +foreach my $url (qw(array1 array2)) { +my $res = GET /perl_sections_perlconfig_$url/; +ok t_cmp($res-is_success, 1, '@PerlConfig'); +} Apache2::Const::OK; }
svn commit: r387604 - /perl/modperl/trunk/t/modperl/
Author: gozer Date: Tue Mar 21 11:24:17 2006 New Revision: 387604 URL: http://svn.apache.org/viewcvs?rev=387604view=rev Log: t/modperl/pnotes.t isn't autogenerated anymore, so we need to _not_ ignore it. Modified: perl/modperl/trunk/t/modperl/ (props changed) Propchange: perl/modperl/trunk/t/modperl/ -- --- svn:ignore (original) +++ svn:ignore Tue Mar 21 11:24:17 2006 @@ -3,7 +3,6 @@ endav.t printf.t print.t -pnotes.t dir_config.t subenv.t methodname.t
svn commit: r386697 - in /perl/modperl/trunk: src/modules/perl/modperl_util.c src/modules/perl/modperl_util.h xs/Apache2/RequestUtil/Apache2__RequestUtil.h xs/tables/current/ModPerl/FunctionTable.pm
Author: gozer Date: Fri Mar 17 11:25:04 2006 New Revision: 386697 URL: http://svn.apache.org/viewcvs?rev=386697view=rev Log: Move r-pnotes logic to modperl_util.c, so it can be reused more easily (upcoming c-pnotes) Modified: perl/modperl/trunk/src/modules/perl/modperl_util.c perl/modperl/trunk/src/modules/perl/modperl_util.h perl/modperl/trunk/xs/Apache2/RequestUtil/Apache2__RequestUtil.h perl/modperl/trunk/xs/tables/current/ModPerl/FunctionTable.pm Modified: perl/modperl/trunk/src/modules/perl/modperl_util.c URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/src/modules/perl/modperl_util.c?rev=386697r1=386696r2=386697view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_util.c (original) +++ perl/modperl/trunk/src/modules/perl/modperl_util.c Fri Mar 17 11:25:04 2006 @@ -828,3 +828,29 @@ modperl_global_get_server_rec()-process-pool); return data ? *(int *)data : 0; } + +SV *modperl_pnotes(pTHX_ HV **pnotes, SV *key, SV *val, request_rec *r) { +SV *retval = Nullsv; + +if (!*pnotes) { +*pnotes = newHV(); +} + +if (key) { +STRLEN len; +char *k = SvPV(key, len); + +if (val) { +retval = *hv_store(*pnotes, k, len, SvREFCNT_inc(val), 0); +} +else if (hv_exists(*pnotes, k, len)) { +retval = *hv_fetch(*pnotes, k, len, FALSE); +} +} +else { +retval = newRV_inc((SV *)*pnotes); +} + +return retval ? SvREFCNT_inc(retval) : PL_sv_undef; +} + Modified: perl/modperl/trunk/src/modules/perl/modperl_util.h URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/src/modules/perl/modperl_util.h?rev=386697r1=386696r2=386697view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_util.h (original) +++ perl/modperl/trunk/src/modules/perl/modperl_util.h Fri Mar 17 11:25:04 2006 @@ -145,4 +145,6 @@ void modperl_restart_count_inc(server_rec *base_server); int modperl_restart_count(void); +SV *modperl_pnotes(pTHX_ HV **pnotes, SV *key, SV *val, request_rec *r); + #endif /* MODPERL_UTIL_H */ Modified: perl/modperl/trunk/xs/Apache2/RequestUtil/Apache2__RequestUtil.h URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/xs/Apache2/RequestUtil/Apache2__RequestUtil.h?rev=386697r1=386696r2=386697view=diff == --- perl/modperl/trunk/xs/Apache2/RequestUtil/Apache2__RequestUtil.h (original) +++ perl/modperl/trunk/xs/Apache2/RequestUtil/Apache2__RequestUtil.h Fri Mar 17 11:25:04 2006 @@ -212,32 +212,12 @@ SV *mpxs_Apache2__RequestRec_pnotes(pTHX_ request_rec *r, SV *key, SV *val) { MP_dRCFG; -SV *retval = NULL; if (!rcfg) { return PL_sv_undef; } -if (!rcfg-pnotes) { -rcfg-pnotes = newHV(); -} - -if (key) { -STRLEN len; -char *k = SvPV(key, len); - -if (val) { -retval = *hv_store(rcfg-pnotes, k, len, - SvREFCNT_inc(val), 0); -} -else if (hv_exists(rcfg-pnotes, k, len)) { -retval = *hv_fetch(rcfg-pnotes, k, len, FALSE); -} -} -else { -retval = newRV_inc((SV *)rcfg-pnotes); -} -return retval ? SvREFCNT_inc(retval) : PL_sv_undef; +return modperl_pnotes(aTHX_ rcfg-pnotes, key, val, r); } #define mpxs_Apache2__RequestRec_dir_config(r, key, sv_val) \ Modified: perl/modperl/trunk/xs/tables/current/ModPerl/FunctionTable.pm URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/xs/tables/current/ModPerl/FunctionTable.pm?rev=386697r1=386696r2=386697view=diff == --- perl/modperl/trunk/xs/tables/current/ModPerl/FunctionTable.pm (original) +++ perl/modperl/trunk/xs/tables/current/ModPerl/FunctionTable.pm Fri Mar 17 11:25:04 2006 @@ -4413,6 +4413,32 @@ ] }, { +'return_type' = 'SV *', +'name' = 'modperl_pnotes', +'args' = [ + { +'type' = 'PerlInterpreter *', +'name' = 'my_perl' + }, + { +'type' = 'HV **', +'name' = 'pnotes' + }, + { +'type' = 'SV *', +'name' = 'key' + }, + { +'type' = 'SV *', +'name' = 'val' + }, + { +'type' = 'request_rec *', +'name' = 'r' + } +] + }. + { 'return_type' = 'int', 'name' = 'modperl_post_config_handler', 'args' = [
svn commit: r386774 - in /perl/modperl/trunk: ./ src/modules/perl/ t/response/TestAPI/ t/response/TestCompat/ xs/Apache2/ServerUtil/ xs/maps/
Author: gozer Date: Fri Mar 17 16:38:48 2006 New Revision: 386774 URL: http://svn.apache.org/viewcvs?rev=386774view=rev Log: Fixed problems with add_config() and thread-safety: - $s-add_config croaks if called after server startup - $r-add_config can only affect configuration for the current request, just like .htaccess files do Modified: perl/modperl/trunk/Changes perl/modperl/trunk/src/modules/perl/modperl_apache_compat.h perl/modperl/trunk/src/modules/perl/modperl_config.c perl/modperl/trunk/t/response/TestAPI/add_config.pm perl/modperl/trunk/t/response/TestCompat/apache.pm perl/modperl/trunk/xs/Apache2/ServerUtil/Apache2__ServerUtil.h perl/modperl/trunk/xs/maps/modperl_functions.map Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/Changes?rev=386774r1=386773r2=386774view=diff == --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Fri Mar 17 16:38:48 2006 @@ -12,6 +12,14 @@ =item 2.0.3-dev +Fixed problems with add_config() and thread-safety: [Gozer] +- $s-add_config is not allowed anymore after server startup +- $r-add_config can only affect configuration for the current + request, just like .htaccess files do + +$s-add_config is not allowed at request time anymore. $r-add_config +can only affect configuration f + Make sure that LIBS and other MakeMaker command line flags are not ignored by the top level Makefile.PL and xs/APR/APR/Makefile.PL [Stas] Modified: perl/modperl/trunk/src/modules/perl/modperl_apache_compat.h URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/src/modules/perl/modperl_apache_compat.h?rev=386774r1=386773r2=386774view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_apache_compat.h (original) +++ perl/modperl/trunk/src/modules/perl/modperl_apache_compat.h Fri Mar 17 16:38:48 2006 @@ -44,6 +44,8 @@ #define MP_HTTPD_HAS_OVERRIDE_OPTS #endif +#define MP_HTTPD_OVERRIDE_HTACCESS (OR_LIMIT|OR_OPTIONS|OR_FILEINFO|OR_AUTHCFG|OR_INDEXES) + #define MP_HTTPD_OVERRIDE_OPTS_UNSET (-1) #define MP_HTTPD_OVERRIDE_OPTS_DEFAULT (OPT_UNSET | \ OPT_ALL | \ Modified: perl/modperl/trunk/src/modules/perl/modperl_config.c URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/src/modules/perl/modperl_config.c?rev=386774r1=386773r2=386774view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_config.c (original) +++ perl/modperl/trunk/src/modules/perl/modperl_config.c Fri Mar 17 16:38:48 2006 @@ -602,10 +602,6 @@ /* pass a non-NULL path if nothing else given and for compatibility */ path = /; } -else if (!*path) { -/* an empty string says a NULL pointer should be used here */ -path = NULL; -} errmsg = modperl_config_insert(aTHX_ r-server, r-pool, r-pool, Modified: perl/modperl/trunk/t/response/TestAPI/add_config.pm URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/t/response/TestAPI/add_config.pm?rev=386774r1=386773r2=386774view=diff == --- perl/modperl/trunk/t/response/TestAPI/add_config.pm (original) +++ perl/modperl/trunk/t/response/TestAPI/add_config.pm Fri Mar 17 16:38:48 2006 @@ -53,16 +53,6 @@ }; $r-pnotes(add_config2 = $@); -eval { -my $directory = join '/', ('', $r-document_root, - 'TestAPI__add_config'); -$r-add_config([Directory $directory, - 'AllowOverride All Options'.$o, - '/Directory' - ], -1, ''); -}; -$r-pnotes(add_config4 = $@); - return Apache2::Const::DECLINED; } @@ -75,6 +65,11 @@ }; $r-pnotes(add_config3 = $@); +eval { +$r-server-add_config(['ServerAdmin [EMAIL PROTECTED]']); +}; +$r-pnotes(add_config4 = $@); + return Apache2::Const::DECLINED; } @@ -87,7 +82,7 @@ ok t_cmp $r-pnotes('add_config1'), qr/.+\n/; ok t_cmp $r-pnotes('add_config2'), (APACHE22 ? qr/.+\n/ : ''); ok t_cmp $r-pnotes('add_config3'), ''; -ok t_cmp $r-pnotes('add_config4'), ''; +ok t_cmp $r-pnotes('add_config4'), qr/after server startup/; my $default_opts = 0; unless (APACHE22) { @@ -115,6 +110,9 @@ PerlModule TestAPI::add_config AccessFileName htaccess SetHandler modperl +Directory @DocumentRoot@ +AllowOverride All +/Directory PerlResponseHandler TestAPI::add_config PerlMapToStorageHandler TestAPI::add_config::map2storage PerlFixupHandler TestAPI::add_config::fixup Modified: perl/modperl/trunk/t/response/TestCompat/apache.pm URL: http
svn commit: r386784 - in /perl/modperl/trunk: ./ src/modules/perl/ t/modperl/ t/response/TestModperl/ xs/Apache2/ConnectionUtil/ xs/Apache2/RequestUtil/ xs/maps/ xs/tables/current/ModPerl/
Author: gozer Date: Fri Mar 17 17:32:33 2006 New Revision: 386784 URL: http://svn.apache.org/viewcvs?rev=386784view=rev Log: Added $r-connection-pnotes, identical to $r-pnotes, but for the entire lifetime of the connection Added: perl/modperl/trunk/t/modperl/pnotes.t perl/modperl/trunk/xs/Apache2/ConnectionUtil/ perl/modperl/trunk/xs/Apache2/ConnectionUtil/Apache2__ConnectionUtil.h Modified: perl/modperl/trunk/Changes perl/modperl/trunk/src/modules/perl/modperl_config.c perl/modperl/trunk/src/modules/perl/modperl_config.h perl/modperl/trunk/src/modules/perl/modperl_types.h perl/modperl/trunk/src/modules/perl/modperl_util.c perl/modperl/trunk/src/modules/perl/modperl_util.h perl/modperl/trunk/t/response/TestModperl/pnotes.pm perl/modperl/trunk/xs/Apache2/RequestUtil/Apache2__RequestUtil.h perl/modperl/trunk/xs/maps/modperl_functions.map perl/modperl/trunk/xs/tables/current/ModPerl/FunctionTable.pm Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/Changes?rev=386784r1=386783r2=386784view=diff == --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Fri Mar 17 17:32:33 2006 @@ -12,6 +12,10 @@ =item 2.0.3-dev +Added $r-connection-pnotes, identical to $r-pnotes, but +for the entire lifetime of the connection +[Geoffrey Young, Gozer] + Fixed problems with add_config() and thread-safety: [Gozer] - $s-add_config is not allowed anymore after server startup - $r-add_config can only affect configuration for the current Modified: perl/modperl/trunk/src/modules/perl/modperl_config.c URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/src/modules/perl/modperl_config.c?rev=386784r1=386783r2=386784view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_config.c (original) +++ perl/modperl/trunk/src/modules/perl/modperl_config.c Fri Mar 17 17:32:33 2006 @@ -147,6 +147,16 @@ return rcfg; } +modperl_config_con_t *modperl_config_con_new(conn_rec *c) +{ +modperl_config_con_t *ccfg = +(modperl_config_con_t *)apr_pcalloc(c-pool, sizeof(*ccfg)); + +MP_TRACE_d(MP_FUNC, 0x%lx\n, (unsigned long)ccfg); + +return ccfg; +} + modperl_config_srv_t *modperl_config_srv_new(apr_pool_t *p, server_rec *s) { modperl_config_srv_t *scfg = (modperl_config_srv_t *) Modified: perl/modperl/trunk/src/modules/perl/modperl_config.h URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/src/modules/perl/modperl_config.h?rev=386784r1=386783r2=386784view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_config.h (original) +++ perl/modperl/trunk/src/modules/perl/modperl_config.h Fri Mar 17 17:32:33 2006 @@ -26,6 +26,8 @@ modperl_config_req_t *modperl_config_req_new(request_rec *r); +modperl_config_con_t *modperl_config_con_new(conn_rec *c); + void *modperl_config_srv_create(apr_pool_t *p, server_rec *s); void *modperl_config_srv_merge(apr_pool_t *p, void *basev, void *addv); @@ -78,6 +80,19 @@ #define MP_dRCFG \ modperl_config_req_t *rcfg = modperl_config_req_get(r) +#define modperl_config_con_init(c, ccfg) \ +if (!ccfg) { \ +ccfg = modperl_config_con_new(c);\ +modperl_set_module_config(c-conn_config, ccfg); \ +} + +#define modperl_config_con_get(c) \ +(c ? (modperl_config_con_t *) \ + modperl_get_module_config(c-conn_config) : NULL) + +#define MP_dCCFG \ +modperl_config_con_t *ccfg = modperl_config_con_get(c) + #define modperl_config_dir_get(r) \ (r ? (modperl_config_dir_t *) \ modperl_get_module_config(r-per_dir_config) : NULL) Modified: perl/modperl/trunk/src/modules/perl/modperl_types.h URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/src/modules/perl/modperl_types.h?rev=386784r1=386783r2=386784view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_types.h (original) +++ perl/modperl/trunk/src/modules/perl/modperl_types.h Fri Mar 17 17:32:33 2006 @@ -258,7 +258,7 @@ } modperl_config_req_t; typedef struct { -MpAV *handlers_connection[MP_HANDLER_NUM_CONNECTION]; +HV *pnotes; } modperl_config_con_t; typedef struct { Modified: perl/modperl/trunk/src/modules/perl/modperl_util.c URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/src/modules/perl/modperl_util.c?rev=386784r1=386783r2=386784view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_util.c (original) +++ perl/modperl/trunk/src/modules/perl/modperl_util.c
svn commit: r384969 - in /perl/modperl/trunk: Changes src/modules/perl/modperl_perl.c
Author: gozer Date: Fri Mar 10 16:41:10 2006 New Revision: 384969 URL: http://svn.apache.org/viewcvs?rev=384969view=rev Log: Fixes a small typo that would leave ids-egid uninitialized and cause PL_egid to get corrupted as a result. Modified: perl/modperl/trunk/Changes perl/modperl/trunk/src/modules/perl/modperl_perl.c Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/Changes?rev=384969r1=384968r2=384969view=diff == --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Fri Mar 10 16:41:10 2006 @@ -12,6 +12,9 @@ =item 2.0.3-dev +Corrected a typo that would cause the corruption of $), the +effective group id as Perl sees it [Gozer] + Added support for httpd-2.2's new override_opts in Apache2::Access. Calls to add_config() now accept an override_opts value as the 4th argument. [Torsten Foertsch [EMAIL PROTECTED], Gozer] Modified: perl/modperl/trunk/src/modules/perl/modperl_perl.c URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/src/modules/perl/modperl_perl.c?rev=384969r1=384968r2=384969view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_perl.c (original) +++ perl/modperl/trunk/src/modules/perl/modperl_perl.c Fri Mar 10 16:41:10 2006 @@ -72,7 +72,7 @@ ids-uid = getuid(); ids-euid = geteuid(); ids-gid = getgid(); -ids-gid = getegid(); +ids-egid = getegid(); MP_TRACE_r(MP_FUNC, pid=%d,
svn commit: r384970 - /perl/modperl/trunk/src/modules/perl/modperl_perl.c
Author: gozer Date: Fri Mar 10 16:45:56 2006 New Revision: 384970 URL: http://svn.apache.org/viewcvs?rev=384970view=rev Log: Code cleanup, Perl defines Uid_t_f and Gid_t_f as printf format strings to print these types since they can vary greatly between unixes. Casting straight to ints was not a portable solution. Modified: perl/modperl/trunk/src/modules/perl/modperl_perl.c Modified: perl/modperl/trunk/src/modules/perl/modperl_perl.c URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/src/modules/perl/modperl_perl.c?rev=384970r1=384969r2=384970view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_perl.c (original) +++ perl/modperl/trunk/src/modules/perl/modperl_perl.c Fri Mar 10 16:45:56 2006 @@ -79,13 +79,14 @@ #ifdef MP_MAINTAIN_PPID ppid=%d, #endif - uid=%d, euid=%d, gid=%d, egid=%d\n, + uid=% Uid_t_f , euid=% Uid_t_f , + gid=% Gid_t_f , egid=% Gid_t_f \n, (int)ids-pid, #ifdef MP_MAINTAIN_PPID (int)ids-ppid, #endif - (int)ids-uid, (int)ids-euid, - (int)ids-gid, (int)ids-egid); + ids-uid, ids-euid, + ids-gid, ids-egid); #endif /* #ifndef WIN32 */ }
svn commit: r384596 - in /perl/modperl/trunk: ./ src/modules/perl/ t/api/ t/htdocs/TestAPI__add_config/ t/response/TestAPI/ xs/Apache2/Access/ xs/Apache2/CmdParms/ xs/Apache2/RequestUtil/ xs/maps/ xs/
Author: gozer Date: Thu Mar 9 12:16:26 2006 New Revision: 384596 URL: http://svn.apache.org/viewcvs?rev=384596view=rev Log: Added support for httpd-2.2's new override_opts in Apache2::Access. Calls to add_config() now accept an override_opts value as the 4th argument. Submitted-By: Torsten Foertsch [EMAIL PROTECTED] Reviewed-By: Gozer Added: perl/modperl/trunk/t/api/add_config.t perl/modperl/trunk/t/htdocs/TestAPI__add_config/ perl/modperl/trunk/t/htdocs/TestAPI__add_config/htaccess perl/modperl/trunk/t/response/TestAPI/add_config.pm Modified: perl/modperl/trunk/Changes perl/modperl/trunk/src/modules/perl/modperl_apache_compat.h perl/modperl/trunk/src/modules/perl/modperl_config.c perl/modperl/trunk/src/modules/perl/modperl_config.h perl/modperl/trunk/xs/Apache2/Access/Apache2__Access.h perl/modperl/trunk/xs/Apache2/CmdParms/Apache2__CmdParms.h perl/modperl/trunk/xs/Apache2/RequestUtil/Apache2__RequestUtil.h perl/modperl/trunk/xs/maps/apache2_structures.map perl/modperl/trunk/xs/maps/modperl_functions.map perl/modperl/trunk/xs/tables/current/ModPerl/FunctionTable.pm Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/Changes?rev=384596r1=384595r2=384596view=diff == --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Thu Mar 9 12:16:26 2006 @@ -12,6 +12,10 @@ =item 2.0.3-dev +Added support for httpd-2.2's new override_opts in Apache2::Access. +Calls to add_config() now accept an override_opts value as the 4th +argument. [Torsten Foertsch [EMAIL PROTECTED], Gozer] + Fix 'PerlSwitches +inherit' that got broken somewhere along the way to 2.0. You can also use 'PerlOptions +InheritSwitches' for the same result. [Gozer] Modified: perl/modperl/trunk/src/modules/perl/modperl_apache_compat.h URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/src/modules/perl/modperl_apache_compat.h?rev=384596r1=384595r2=384596view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_apache_compat.h (original) +++ perl/modperl/trunk/src/modules/perl/modperl_apache_compat.h Thu Mar 9 12:16:26 2006 @@ -40,4 +40,15 @@ #define ap_http_scheme(r) ap_http_method(r) #endif +#if AP_SERVER_MAJORVERSION_NUMBER2 || AP_SERVER_MINORVERSION_NUMBER=2 +#define MP_HTTPD_HAS_OVERRIDE_OPTS +#endif + +#define MP_HTTPD_OVERRIDE_OPTS_UNSET (-1) +#define MP_HTTPD_OVERRIDE_OPTS_DEFAULT (OPT_UNSET | \ +OPT_ALL | \ +OPT_INCNOEXEC | \ +OPT_SYM_OWNER | \ +OPT_MULTI) + #endif /* MODPERL_APACHE_COMPAT_H */ Modified: perl/modperl/trunk/src/modules/perl/modperl_config.c URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/src/modules/perl/modperl_config.c?rev=384596r1=384595r2=384596view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_config.c (original) +++ perl/modperl/trunk/src/modules/perl/modperl_config.c Thu Mar 9 12:16:26 2006 @@ -498,6 +498,7 @@ apr_pool_t *ptmp, int override, char *path, + int override_options, ap_conf_vector_t *conf, SV *lines) { @@ -513,6 +514,14 @@ parms.override = override; parms.path = path; parms.pool = p; +#ifdef MP_HTTPD_HAS_OVERRIDE_OPTS +if (override_options == MP_HTTPD_OVERRIDE_OPTS_UNSET) { +parms.override_opts = MP_HTTPD_OVERRIDE_OPTS_DEFAULT; +} +else { +parms.override_opts = override_options; +} +#endif if (ptmp) { parms.temp_pool = ptmp; @@ -559,6 +568,11 @@ parms-temp_pool, parms-override, parms-path, +#ifdef MP_HTTPD_HAS_OVERRIDE_OPTS + parms-override_opts, +#else + MP_HTTPD_OVERRIDE_OPTS_UNSET, +#endif parms-context, lines); } @@ -570,6 +584,7 @@ apr_pool_t *p = s-process-pconf; return modperl_config_insert(aTHX_ s, p, NULL, override, NULL, + MP_HTTPD_OVERRIDE_OPTS_UNSET, s-lookup_defaults, lines); } @@ -577,20 +592,24 @@ request_rec *r, SV *lines, int override, - char *path) + char *path
svn commit: r384611 - /perl/modperl/trunk/t/api/add_config.t
Author: gozer Date: Thu Mar 9 12:37:27 2006 New Revision: 384611 URL: http://svn.apache.org/viewcvs?rev=384611view=rev Log: LWP follows 302 redirects, but our LWP emulation doesn't. In any case, we are after the directory listing, so be explicit about it anyways. Modified: perl/modperl/trunk/t/api/add_config.t Modified: perl/modperl/trunk/t/api/add_config.t URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/t/api/add_config.t?rev=384611r1=384610r2=384611view=diff == --- perl/modperl/trunk/t/api/add_config.t (original) +++ perl/modperl/trunk/t/api/add_config.t Thu Mar 9 12:37:27 2006 @@ -6,7 +6,7 @@ use Apache::TestUtil; my $module = 'TestAPI::add_config'; -my $url= Apache::TestRequest::module2url($module); +my $url= Apache::TestRequest::module2url($module) . /; t_debug(connecting to $url); print GET_BODY_ASSERT $url;
svn commit: r384067 - /perl/modperl/trunk/t/conf/extra.last.conf.in
Author: gozer Date: Tue Mar 7 16:31:01 2006 New Revision: 384067 URL: http://svn.apache.org/viewcvs?rev=384067view=rev Log: This test should only be against ithreads enabled Perls, otherwise, the server will simply fail to start, as PerlOptions +Parent isn't supported without ithreads. Modified: perl/modperl/trunk/t/conf/extra.last.conf.in Modified: perl/modperl/trunk/t/conf/extra.last.conf.in URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/t/conf/extra.last.conf.in?rev=384067r1=384066r2=384067view=diff == --- perl/modperl/trunk/t/conf/extra.last.conf.in (original) +++ perl/modperl/trunk/t/conf/extra.last.conf.in Tue Mar 7 16:31:01 2006 @@ -104,8 +104,10 @@ #This used to trigger a segfault on startup #See http://thread.gmane.org/gmane.comp.apache.mod-perl/22750 +IfDefine PERL_USEITHREADS VirtualHost inherit PerlSwitches +inherit PerlOptions +Parent Perl 1 /VirtualHost +/IfDefine
svn commit: r374777 - /perl/modperl/trunk/lib/Apache2/Build.pm
Author: gozer Date: Fri Feb 3 15:11:05 2006 New Revision: 374777 URL: http://svn.apache.org/viewcvs?rev=374777view=rev Log: httpd-2.2 introduces yet a new slightly different way to hide it's version information in ap_release.h Modified: perl/modperl/trunk/lib/Apache2/Build.pm Modified: perl/modperl/trunk/lib/Apache2/Build.pm URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/lib/Apache2/Build.pm?rev=374777r1=374776r2=374777view=diff == --- perl/modperl/trunk/lib/Apache2/Build.pm (original) +++ perl/modperl/trunk/lib/Apache2/Build.pm Fri Feb 3 15:11:05 2006 @@ -1377,8 +1377,14 @@ my $major = $1; my $minor = (split /\s+/, scalar($fh))[-1]; my $patch = (split /\s+/, scalar($fh))[-1]; -my $string = (split /\s+/, scalar($fh))[-1]; -$version = join '.', $major, $minor, $patch$string; + +my ($define, $macro, $dev) = (split /\s+/, scalar($fh)); + +if ($macro =~ /AP_SERVER_DEVBUILD_BOOLEAN/ $dev eq '1') { +$dev = -dev; +} + +$version = join '.', $major, $minor, $patch$dev; $version =~ s/\//g; last; }
svn commit: r372400 - /perl/modperl/trunk/src/modules/perl/modperl_cmd.c
Author: gozer Date: Wed Jan 25 18:10:20 2006 New Revision: 372400 URL: http://svn.apache.org/viewcvs?rev=372400view=rev Log: style fix Modified: perl/modperl/trunk/src/modules/perl/modperl_cmd.c Modified: perl/modperl/trunk/src/modules/perl/modperl_cmd.c URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/src/modules/perl/modperl_cmd.c?rev=372400r1=372399r2=372400view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_cmd.c (original) +++ perl/modperl/trunk/src/modules/perl/modperl_cmd.c Wed Jan 25 18:10:20 2006 @@ -157,7 +157,7 @@ } MP_TRACE_d(MP_FUNC, arg = %s\n, arg); -if (0 == strncasecmp(arg, +inherit, 8)) { +if (!strncasecmp(arg, +inherit, 8)) { modperl_cmd_options(parms, mconfig, +InheritSwitches); } else {
svn commit: r372010 - /perl/modperl/trunk/src/modules/perl/modperl_cmd.c
Author: gozer Date: Tue Jan 24 12:19:03 2006 New Revision: 372010 URL: http://svn.apache.org/viewcvs?rev=372010view=rev Log: Fix whitespace issue. WhiteSpace-Police: Stas Modified: perl/modperl/trunk/src/modules/perl/modperl_cmd.c Modified: perl/modperl/trunk/src/modules/perl/modperl_cmd.c URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/src/modules/perl/modperl_cmd.c?rev=372010r1=372009r2=372010view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_cmd.c (original) +++ perl/modperl/trunk/src/modules/perl/modperl_cmd.c Tue Jan 24 12:19:03 2006 @@ -157,7 +157,7 @@ } MP_TRACE_d(MP_FUNC, arg = %s\n, arg); -if(0 == strncasecmp(arg, +inherit, 8)) { +if (0 == strncasecmp(arg, +inherit, 8)) { modperl_cmd_options(parms, mconfig, +InheritSwitches); } else {
svn commit: r371775 - in /perl/modperl/trunk: Changes lib/ModPerl/Code.pm src/modules/perl/modperl_cmd.c src/modules/perl/modperl_config.c t/conf/extra.last.conf.in
Author: gozer Date: Mon Jan 23 18:27:10 2006 New Revision: 371775 URL: http://svn.apache.org/viewcvs?rev=371775view=rev Log: Resolves a critical bug in 'PerlSwitches +inherit' handling that was causing segfaults under some usages. This fix has the nice side-effect of introducing a new slightly cleaner syntax to specify inheritance of PerlSwitches: PerlOptions +InheritSwitches Reported-By: Eamon Daly [EMAIL PROTECTED] Report-Thread: http://thread.gmane.org/gmane.comp.apache.mod-perl/22750 Modified: perl/modperl/trunk/Changes perl/modperl/trunk/lib/ModPerl/Code.pm perl/modperl/trunk/src/modules/perl/modperl_cmd.c perl/modperl/trunk/src/modules/perl/modperl_config.c perl/modperl/trunk/t/conf/extra.last.conf.in Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/Changes?rev=371775r1=371774r2=371775view=diff == --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Mon Jan 23 18:27:10 2006 @@ -12,6 +12,10 @@ =item 2.0.3-dev +Fix 'PerlSwitches +inherit' that got broken somewhere along +the way to 2.0. You can also use 'PerlOptions +InheritSwitches' +for the same result. [Gozer] + Add perl API corresponding to User and Group directives in httpd.conf: Apache2::ServerUtil-user_id and Apache2::ServerUtil-group_id [Stas] Modified: perl/modperl/trunk/lib/ModPerl/Code.pm URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/lib/ModPerl/Code.pm?rev=371775r1=371774r2=371775view=diff == --- perl/modperl/trunk/lib/ModPerl/Code.pm (original) +++ perl/modperl/trunk/lib/ModPerl/Code.pm Mon Jan 23 18:27:10 2006 @@ -137,7 +137,7 @@ my @ithread_opts = qw(CLONE PARENT); my %flags = ( Srv = ['NONE', @ithread_opts, qw(ENABLE AUTOLOAD MERGE_HANDLERS), -@hook_flags, 'UNSET'], +@hook_flags, 'UNSET','INHERIT_SWITCHES'], Dir = [qw(NONE PARSE_HEADERS SETUP_ENV MERGE_HANDLERS GLOBAL_REQUEST UNSET)], Req = [qw(NONE SET_GLOBAL_REQUEST PARSE_HEADERS SETUP_ENV CLEANUP_REGISTERED PERL_SET_ENV_DIR PERL_SET_ENV_SRV)], Modified: perl/modperl/trunk/src/modules/perl/modperl_cmd.c URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/src/modules/perl/modperl_cmd.c?rev=371775r1=371774r2=371775view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_cmd.c (original) +++ perl/modperl/trunk/src/modules/perl/modperl_cmd.c Mon Jan 23 18:27:10 2006 @@ -156,7 +156,13 @@ return modperl_cmd_too_late(parms); } MP_TRACE_d(MP_FUNC, arg = %s\n, arg); -modperl_config_srv_argv_push(arg); + +if(0 == strncasecmp(arg, +inherit, 8)) { +modperl_cmd_options(parms, mconfig, +InheritSwitches); +} +else { +modperl_config_srv_argv_push(arg); +} return NULL; } Modified: perl/modperl/trunk/src/modules/perl/modperl_config.c URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/src/modules/perl/modperl_config.c?rev=371775r1=371774r2=371775view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_config.c (original) +++ perl/modperl/trunk/src/modules/perl/modperl_config.c Mon Jan 23 18:27:10 2006 @@ -302,9 +302,7 @@ merge_item(perl); #endif -if (add-argv-nelts == 2 -strEQ(((char **)add-argv-elts)[1], +inherit)) -{ +if (MpSrvINHERIT_SWITCHES(add)) { /* only inherit base PerlSwitches if explicitly told to */ mrg-argv = base-argv; } Modified: perl/modperl/trunk/t/conf/extra.last.conf.in URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/t/conf/extra.last.conf.in?rev=371775r1=371774r2=371775view=diff == --- perl/modperl/trunk/t/conf/extra.last.conf.in (original) +++ perl/modperl/trunk/t/conf/extra.last.conf.in Mon Jan 23 18:27:10 2006 @@ -94,3 +94,11 @@ =cut PerlSetVar TestDirective__pod_cut_worked yes + +#This used to trigger a segfault on startup +#See http://thread.gmane.org/gmane.comp.apache.mod-perl/22750 +VirtualHost inherit + PerlSwitches +inherit + PerlOptions +Parent + Perl 1 +/VirtualHost
svn commit: r370948 - /perl/modperl/trunk/t/apache/
Author: gozer Date: Fri Jan 20 17:22:57 2006 New Revision: 370948 URL: http://svn.apache.org/viewcvs?rev=370948view=rev Log: ignore the newly added generated t/apache/daemon.t Modified: perl/modperl/trunk/t/apache/ (props changed) Propchange: perl/modperl/trunk/t/apache/ -- --- svn:ignore (original) +++ svn:ignore Fri Jan 20 17:22:57 2006 @@ -1,6 +1,7 @@ cgihandler.t conftree.t constants.t +daemon.t post.t read.t scanhdrs.t
svn commit: r369980 - /perl/modperl/trunk/t/modperl/local_env.t
Author: gozer Date: Tue Jan 17 16:31:07 2006 New Revision: 369980 URL: http://svn.apache.org/viewcvs?rev=369980view=rev Log: Disabling local %ENV testing, as it breaks the build and it's now obvious that the underlying problem is more complex than originally thought Modified: perl/modperl/trunk/t/modperl/local_env.t Modified: perl/modperl/trunk/t/modperl/local_env.t URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/t/modperl/local_env.t?rev=369980r1=369979r2=369980view=diff == --- perl/modperl/trunk/t/modperl/local_env.t (original) +++ perl/modperl/trunk/t/modperl/local_env.t Tue Jan 17 16:31:07 2006 @@ -4,11 +4,11 @@ use Apache::Test; use Apache::TestRequest qw(GET); -plan tests = 1; +plan tests = 1, skip_reason('local %ENV is still broken'); my $module = 'TestModperl::local_env'; my $url = Apache::TestRequest::module2url($module); - + ; my $failed; foreach (1..25) { my $req = GET $url;
svn commit: r370001 - in /perl/modperl/trunk: ./ src/modules/perl/ xs/Apache2/Access/ xs/Apache2/RequestUtil/ xs/maps/ xs/tables/current/ModPerl/
Author: gozer Date: Tue Jan 17 17:38:08 2006 New Revision: 370001 URL: http://svn.apache.org/viewcvs?rev=370001view=rev Log: $r-add_config() can now take an optionnal 3rd argument that specifies what pseudo Location $path the configuration is evaluated into Submitted-By: Torsten Foertsch [EMAIL PROTECTED] Modified: perl/modperl/trunk/Changes perl/modperl/trunk/src/modules/perl/modperl_config.c perl/modperl/trunk/src/modules/perl/modperl_config.h perl/modperl/trunk/xs/Apache2/Access/Apache2__Access.h perl/modperl/trunk/xs/Apache2/RequestUtil/Apache2__RequestUtil.h perl/modperl/trunk/xs/maps/modperl_functions.map perl/modperl/trunk/xs/tables/current/ModPerl/FunctionTable.pm Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/Changes?rev=370001r1=37r2=370001view=diff == --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Tue Jan 17 17:38:08 2006 @@ -12,6 +12,10 @@ =item 2.0.3-dev +$r-add_config() can now take an optionnal 3rd argument that +specifies what pseudo Location $path the configuration is +evaluated into [Torsten Foertsch [EMAIL PROTECTED]] + remove -DAP_HAVE_DESIGNATED_INITIALIZER and -DAP_DEBUG from MP_MAINTAINER mode to avoid collisions [Joe Orton] Modified: perl/modperl/trunk/src/modules/perl/modperl_config.c URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/src/modules/perl/modperl_config.c?rev=370001r1=37r2=370001view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_config.c (original) +++ perl/modperl/trunk/src/modules/perl/modperl_config.c Tue Jan 17 17:38:08 2006 @@ -578,16 +578,21 @@ const char *modperl_config_insert_request(pTHX_ request_rec *r, SV *lines, - int override) + int override, + char *path) { const char *errmsg; ap_conf_vector_t *dconf = ap_create_per_dir_config(r-pool); /* The path argument of / is only required to be non-NULL and / is as good a default as anything else */ +if (!path) { +path = /; +} + errmsg = modperl_config_insert(aTHX_ r-server, r-pool, r-pool, - override, /, + override, path, dconf, lines); if (errmsg) { Modified: perl/modperl/trunk/src/modules/perl/modperl_config.h URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/src/modules/perl/modperl_config.h?rev=370001r1=37r2=370001view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_config.h (original) +++ perl/modperl/trunk/src/modules/perl/modperl_config.h Tue Jan 17 17:38:08 2006 @@ -142,7 +142,8 @@ const char *modperl_config_insert_request(pTHX_ request_rec *r, SV *lines, - int override); + int override, + char *path); int modperl_config_is_perl_option_enabled(pTHX_ request_rec *r, server_rec *s, const char *name); Modified: perl/modperl/trunk/xs/Apache2/Access/Apache2__Access.h URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/xs/Apache2/Access/Apache2__Access.h?rev=370001r1=37r2=370001view=diff == --- perl/modperl/trunk/xs/Apache2/Access/Apache2__Access.h (original) +++ perl/modperl/trunk/xs/Apache2/Access/Apache2__Access.h Tue Jan 17 17:38:08 2006 @@ -80,7 +80,8 @@ errmsg = modperl_config_insert_request(aTHX_ r, newRV_noinc((SV*)config), - OR_AUTHCFG); + OR_AUTHCFG, + NULL); if (errmsg) { Perl_warn(aTHX_ Can't change %s to '%s'\n, directive, val); Modified: perl/modperl/trunk/xs/Apache2/RequestUtil/Apache2__RequestUtil.h URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/xs/Apache2/RequestUtil/Apache2__RequestUtil.h?rev=370001r1=37r2=370001view=diff == --- perl/modperl/trunk/xs/Apache2/RequestUtil/Apache2__RequestUtil.h (original) +++ perl/modperl/trunk/xs/Apache2/RequestUtil/Apache2__RequestUtil.h Tue Jan 17 17:38:08 2006 @@ -302,10 +302,11 @@ } static MP_INLINE -void mpxs_Apache2__RequestRec_add_config(pTHX_ request_rec *r, SV *lines, int
svn commit: r370007 - in /perl/modperl/trunk: Changes lib/Apache2/Reload.pm
Author: gozer Date: Tue Jan 17 18:02:28 2006 New Revision: 370007 URL: http://svn.apache.org/viewcvs?rev=370007view=rev Log: When multiple modules need to be reloaded, trying to unload/reload them one at a time was wrong. It's much safer to first unload them all, then attempt to reload them. This way, if multiple modified modules have inter- dependencies, they will satisfy themselves. Reported-By: Javier Uruen Val [EMAIL PROTECTED] Modified: perl/modperl/trunk/Changes perl/modperl/trunk/lib/Apache2/Reload.pm Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/Changes?rev=370007r1=370006r2=370007view=diff == --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Tue Jan 17 18:02:28 2006 @@ -12,6 +12,11 @@ =item 2.0.3-dev +Apache2::Reload now first unloads all modified modules before +trying to reload them. This way, inter-module dependencies +are more likely to be correctly satisfied when reloaded +[Javier Uruen Val [EMAIL PROTECTED], Gozer] + $r-add_config() can now take an optionnal 3rd argument that specifies what pseudo Location $path the configuration is evaluated into [Torsten Foertsch [EMAIL PROTECTED]] Modified: perl/modperl/trunk/lib/Apache2/Reload.pm URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/lib/Apache2/Reload.pm?rev=370007r1=370006r2=370007view=diff == --- perl/modperl/trunk/lib/Apache2/Reload.pm (original) +++ perl/modperl/trunk/lib/Apache2/Reload.pm Tue Jan 17 18:02:28 2006 @@ -131,6 +131,8 @@ my $ReloadDirs = ref($o) $o-dir_config(ReloadDirectories); my @watch_dirs = split(/\s+/, $ReloadDirs||''); + +my @changed; foreach my $key (sort { $a cmp $b } keys %Apache2::Reload::INCS) { my $file = $Apache2::Reload::INCS{$key}; @@ -155,13 +157,24 @@ } if ($mtime $Stat{$file}) { -my $package = module_to_package($key); -ModPerl::Util::unload_package($package); -require $key; -warn(Apache2::Reload: process $$ reloading $package from $key\n) -if $DEBUG; +push @changed, $key; } $Stat{$file} = $mtime; +} + +#First, let's unload all changed modules +foreach my $module (@changed) { +my $package = module_to_package($module); +ModPerl::Util::unload_package($package); +} + +#Then, let's reload them all, so that module dependencies can satisfy +#themselves in the correct order. +foreach my $module (@changed) { +my $package = module_to_package($module); +require $module; +warn(Apache2::Reload: process $$ reloading $package from $module\n) +if $DEBUG; } return Apache2::Const::OK;
svn commit: r359342 - /perl/modperl/trunk/todo/features_missing
Author: gozer Date: Tue Dec 27 17:25:19 2005 New Revision: 359342 URL: http://svn.apache.org/viewcvs?rev=359342view=rev Log: It used to be possibly to list optionnal features that a module required, as in: use mod_perl qw(1.23 MethodHandlers Authen Authz); Apache2::AuthCookie is an example user of this feature. It might be worthwile to re-introduce it for mp2 Modified: perl/modperl/trunk/todo/features_missing Modified: perl/modperl/trunk/todo/features_missing URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/todo/features_missing?rev=359342r1=359341r2=359342view=diff == --- perl/modperl/trunk/todo/features_missing (original) +++ perl/modperl/trunk/todo/features_missing Tue Dec 27 17:25:19 2005 @@ -80,6 +80,8 @@ * mod_perl::import - Apache-import: required for exit/warn overridding + - use mod_perl2 qw(2.0 MethodHandlers Authen Authz [...]); + used to be able to specify what optionnal feature were required * Apache::test: tobe a compat stub around new test framework
svn commit: r357236 - /perl/modperl/trunk/src/modules/perl/modperl_env.c
Author: gozer Date: Fri Dec 16 13:20:23 2005 New Revision: 357236 URL: http://svn.apache.org/viewcvs?rev=357236view=rev Log: local %ENV; caused Segmentation fault in modperl_env_request_tie() Reported-By: Peter Walsham [EMAIL PROTECTED] Thread: http://thread.gmane.org/gmane.comp.apache.mod-perl/22236 Modified: perl/modperl/trunk/src/modules/perl/modperl_env.c Modified: perl/modperl/trunk/src/modules/perl/modperl_env.c URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/src/modules/perl/modperl_env.c?rev=357236r1=357235r2=357236view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_env.c (original) +++ perl/modperl/trunk/src/modules/perl/modperl_env.c Fri Dec 16 13:20:23 2005 @@ -15,8 +15,13 @@ #include mod_perl.h -#define EnvMgObj SvMAGIC((SV*)ENVHV)-mg_ptr -#define EnvMgLen SvMAGIC((SV*)ENVHV)-mg_len +#define EnvMgOK ((SV*)ENVHV SvMAGIC((SV*)ENVHV)) +#define EnvMgObj (EnvMgOK ? SvMAGIC((SV*)ENVHV)-mg_ptr : NULL) +#define EnvMgLen (EnvMgOK ? SvMAGIC((SV*)ENVHV)-mg_len : 0) +#define EnvMgObjSet(val){ \ +if (EnvMgOK) SvMAGIC((SV*)ENVHV)-mg_ptr = (char *)val;} +#define EnvMgLenSet(val) {\ +if (EnvMgOK) SvMAGIC((SV*)ENVHV)-mg_len = val;} /* XXX: move to utils? */ static unsigned long modperl_interp_address(pTHX) @@ -401,8 +406,8 @@ void modperl_env_request_tie(pTHX_ request_rec *r) { -EnvMgObj = (char *)r; -EnvMgLen = -1; +EnvMgObjSet(r); +EnvMgLenSet(-1); #ifdef MP_PERL_HV_GMAGICAL_AWARE MP_TRACE_e(MP_FUNC, [%s/0x%lx] tie %%ENV, $r\n\t (%s%s), @@ -414,7 +419,7 @@ void modperl_env_request_untie(pTHX_ request_rec *r) { -EnvMgObj = NULL; +EnvMgObjSet(NULL); #ifdef MP_PERL_HV_GMAGICAL_AWARE MP_TRACE_e(MP_FUNC, [%s/0x%lx] untie %%ENV; # from r\n\t (%s%s),
svn commit: r332900 - /perl/modperl/trunk/xs/ModPerl/Util/Util_pm
Author: gozer Date: Sat Nov 12 21:44:27 2005 New Revision: 332900 URL: http://svn.apache.org/viewcvs?rev=332900view=rev Log: Whitespace change only Modified: perl/modperl/trunk/xs/ModPerl/Util/Util_pm Modified: perl/modperl/trunk/xs/ModPerl/Util/Util_pm URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/xs/ModPerl/Util/Util_pm?rev=332900r1=332899r2=332900view=diff == --- perl/modperl/trunk/xs/ModPerl/Util/Util_pm (original) +++ perl/modperl/trunk/xs/ModPerl/Util/Util_pm Sat Nov 12 21:44:27 2005 @@ -22,38 +22,38 @@ my $fullname = join '::', $package, $_; # code/hash/array/scalar might be imported make sure the gv # does not point elsewhere before undefing each -if (%$fullname) { -*{$fullname} = {}; -undef %$fullname; +if (%$fullname) { +*{$fullname} = {}; +undef %$fullname; +} +if (@$fullname) { +*{$fullname} = []; +undef @$fullname; +} +if ($$fullname) { +my $tmp; # argh, no such thing as an anonymous scalar +*{$fullname} = \$tmp; +undef $$fullname; +} +if (defined $fullname) { +no warnings; +local $^W = 0; +if (defined(my $p = prototype $fullname)) { +*{$fullname} = eval sub ($p) {}; } -if (@$fullname) { -*{$fullname} = []; -undef @$fullname; +else { +*{$fullname} = sub {}; } -if ($$fullname) { -my $tmp; # argh, no such thing as an anonymous scalar -*{$fullname} = \$tmp; -undef $$fullname; -} -if (defined $fullname) { -no warnings; -local $^W = 0; -if (defined(my $p = prototype $fullname)) { -*{$fullname} = eval sub ($p) {}; -} -else { -*{$fullname} = sub {}; +undef $fullname; +} +if (*{$fullname}{IO}) { +local $@; +eval { +if (fileno $fullname) { +close $fullname; } -undef $fullname; -} -if (*{$fullname}{IO}) { -local $@; -eval { -if (fileno $fullname) { -close $fullname; -} -}; -} +}; +} } #Wipe from %INC
svn commit: r332160 - /perl/modperl/trunk/xs/ModPerl/Util/Util_pm
Author: gozer Date: Wed Nov 9 14:23:43 2005 New Revision: 332160 URL: http://svn.apache.org/viewcvs?rev=332160view=rev Log: Fixup to change 331630. It's better to localize $@ before calling eval if we don't care about $@ and don't want to clobber the caller's [EMAIL PROTECTED] Limit the scope of the eval to the fileno/close block Modified: perl/modperl/trunk/xs/ModPerl/Util/Util_pm Modified: perl/modperl/trunk/xs/ModPerl/Util/Util_pm URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/xs/ModPerl/Util/Util_pm?rev=332160r1=332159r2=332160view=diff == --- perl/modperl/trunk/xs/ModPerl/Util/Util_pm (original) +++ perl/modperl/trunk/xs/ModPerl/Util/Util_pm Wed Nov 9 14:23:43 2005 @@ -22,7 +22,6 @@ my $fullname = join '::', $package, $_; # code/hash/array/scalar might be imported make sure the gv # does not point elsewhere before undefing each -eval { if (%$fullname) { *{$fullname} = {}; undef %$fullname; @@ -48,11 +47,13 @@ undef $fullname; } if (*{$fullname}{IO}) { -if (fileno $fullname) { -close $fullname; -} +local $@; +eval { +if (fileno $fullname) { +close $fullname; +} +}; } -}; } #Wipe from %INC
svn commit: r331630 - /perl/modperl/trunk/xs/ModPerl/Util/Util_pm
Author: gozer Date: Mon Nov 7 14:46:54 2005 New Revision: 331630 URL: http://svn.apache.org/viewcvs?rev=331630view=rev Log: Some things might be tied and throw runtime errors, so protect ourselves with an eval Reported-By: Gerald Richter Modified: perl/modperl/trunk/xs/ModPerl/Util/Util_pm Modified: perl/modperl/trunk/xs/ModPerl/Util/Util_pm URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/xs/ModPerl/Util/Util_pm?rev=331630r1=331629r2=331630view=diff == --- perl/modperl/trunk/xs/ModPerl/Util/Util_pm (original) +++ perl/modperl/trunk/xs/ModPerl/Util/Util_pm Mon Nov 7 14:46:54 2005 @@ -22,6 +22,7 @@ my $fullname = join '::', $package, $_; # code/hash/array/scalar might be imported make sure the gv # does not point elsewhere before undefing each +eval { if (%$fullname) { *{$fullname} = {}; undef %$fullname; @@ -51,6 +52,7 @@ close $fullname; } } +}; } #Wipe from %INC
svn commit: r331631 - /perl/modperl/trunk/xs/ModPerl/Util/Util_pm
Author: gozer Date: Mon Nov 7 14:47:23 2005 New Revision: 331631 URL: http://svn.apache.org/viewcvs?rev=331631view=rev Log: whitespace change only Modified: perl/modperl/trunk/xs/ModPerl/Util/Util_pm Modified: perl/modperl/trunk/xs/ModPerl/Util/Util_pm URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/xs/ModPerl/Util/Util_pm?rev=331631r1=331630r2=331631view=diff == --- perl/modperl/trunk/xs/ModPerl/Util/Util_pm (original) +++ perl/modperl/trunk/xs/ModPerl/Util/Util_pm Mon Nov 7 14:47:23 2005 @@ -23,35 +23,35 @@ # code/hash/array/scalar might be imported make sure the gv # does not point elsewhere before undefing each eval { -if (%$fullname) { -*{$fullname} = {}; -undef %$fullname; -} -if (@$fullname) { -*{$fullname} = []; -undef @$fullname; -} -if ($$fullname) { -my $tmp; # argh, no such thing as an anonymous scalar -*{$fullname} = \$tmp; -undef $$fullname; -} -if (defined $fullname) { -no warnings; -local $^W = 0; -if (defined(my $p = prototype $fullname)) { -*{$fullname} = eval sub ($p) {}; +if (%$fullname) { +*{$fullname} = {}; +undef %$fullname; } -else { -*{$fullname} = sub {}; +if (@$fullname) { +*{$fullname} = []; +undef @$fullname; } -undef $fullname; -} -if (*{$fullname}{IO}) { -if (fileno $fullname) { -close $fullname; +if ($$fullname) { +my $tmp; # argh, no such thing as an anonymous scalar +*{$fullname} = \$tmp; +undef $$fullname; +} +if (defined $fullname) { +no warnings; +local $^W = 0; +if (defined(my $p = prototype $fullname)) { +*{$fullname} = eval sub ($p) {}; +} +else { +*{$fullname} = sub {}; +} +undef $fullname; +} +if (*{$fullname}{IO}) { +if (fileno $fullname) { +close $fullname; +} } -} }; }
svn commit: r291223 - /perl/modperl/trunk/lib/
Author: gozer Date: Fri Sep 23 16:54:34 2005 New Revision: 291223 URL: http://svn.apache.org/viewcvs?rev=291223view=rev Log: ignore generated Apache/ subdir Modified: perl/modperl/trunk/lib/ (props changed) Propchange: perl/modperl/trunk/lib/ -- --- svn:ignore (original) +++ svn:ignore Fri Sep 23 16:54:34 2005 @@ -1,2 +1,3 @@ typemap +Apache Apache2.pm
svn commit: r291193 - in /perl/modperl/trunk: Changes src/modules/perl/mod_perl.c src/modules/perl/modperl_config.c src/modules/perl/modperl_config.h src/modules/perl/modperl_module.c t/response/TestDirective/perldo.pm
Author: gozer Date: Fri Sep 23 12:30:51 2005 New Revision: 291193 URL: http://svn.apache.org/viewcvs?rev=291193view=rev Log: $0 Fixes : - Setting $0 works on Linux again - HP-UX and *BSDes show the correct process name instead of '-e' Bug-Report: http://thread.gmane.org/gmane.comp.apache.mod-perl/20847 Modified: perl/modperl/trunk/Changes perl/modperl/trunk/src/modules/perl/mod_perl.c perl/modperl/trunk/src/modules/perl/modperl_config.c perl/modperl/trunk/src/modules/perl/modperl_config.h perl/modperl/trunk/src/modules/perl/modperl_module.c perl/modperl/trunk/t/response/TestDirective/perldo.pm Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/Changes?rev=291193r1=291192r2=291193view=diff == --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Fri Sep 23 12:30:51 2005 @@ -12,6 +12,10 @@ =item 2.0.2-dev +$0 Fixes : [Gozer] +- Setting $0 works on Linux again +- HP-UX and *BSDes show the correct process name instead of '-e' + Fix a cirtical but trivial bug that would cause MP_MAINTAINER=1 or MP_TRACE=1 builds to fail if not building against a threaded APR. Functions such as apr_os_thread_current() would not be linked in, Modified: perl/modperl/trunk/src/modules/perl/mod_perl.c URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/src/modules/perl/mod_perl.c?rev=291193r1=291192r2=291193view=diff == --- perl/modperl/trunk/src/modules/perl/mod_perl.c (original) +++ perl/modperl/trunk/src/modules/perl/mod_perl.c Fri Sep 23 12:30:51 2005 @@ -271,6 +271,13 @@ PL_reentrant_buffer-_crypt_struct.current_saltbits = 0; #endif +/* We need to reset $0 to argv[0] (httpd) since perl_parse() will + * have set it to '-e'. Being magic-aware ensures that some + * OS-specific magic will happen (i.e. setproctitle() on *BSDs) + */ +PL_origalen = strlen(argv[0]) + 1; +sv_setpv_mg(get_sv(0,0), argv[0]); + perl_run(perl); #ifdef USE_ITHREADS Modified: perl/modperl/trunk/src/modules/perl/modperl_config.c URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/src/modules/perl/modperl_config.c?rev=291193r1=291192r2=291193view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_config.c (original) +++ perl/modperl/trunk/src/modules/perl/modperl_config.c Fri Sep 23 12:30:51 2005 @@ -147,7 +147,7 @@ return rcfg; } -modperl_config_srv_t *modperl_config_srv_new(apr_pool_t *p) +modperl_config_srv_t *modperl_config_srv_new(apr_pool_t *p, server_rec *s) { modperl_config_srv_t *scfg = (modperl_config_srv_t *) apr_pcalloc(p, sizeof(*scfg)); @@ -173,18 +173,9 @@ scfg-gtop = modperl_gtop_new(p); #endif -/* must copy ap_server_argv0, because otherwise any read/write of - * $0 corrupts process' argv[0] (visible with 'ps -ef' on most - * unices). This is due to the logic of calculating PL_origalen in - * perl_parse, which is later used in set_mg.c:Perl_magic_set() to - * truncate the argv[0] setting. remember that argv[0] passed to - * perl_parse() != process's real argv[0]. - * - * as a copying side-effect, changing $0 now doesn't affect the - * way the process is seen from the outside. - */ -modperl_config_srv_argv_push(apr_pstrmemdup(p, ap_server_argv0, -strlen(ap_server_argv0))); +/* make sure httpd's argv[0] is the first argument so $0 is + * correctly connected to the real thing */ +modperl_config_srv_argv_push(s-process-argv[0]); MP_TRACE_d(MP_FUNC, new scfg: 0x%lx\n, (unsigned long)scfg); @@ -233,7 +224,7 @@ void *modperl_config_srv_create(apr_pool_t *p, server_rec *s) { -modperl_config_srv_t *scfg = modperl_config_srv_new(p); +modperl_config_srv_t *scfg = modperl_config_srv_new(p, s); if (!s-is_virtual) { @@ -282,7 +273,7 @@ modperl_config_srv_t *base = (modperl_config_srv_t *)basev, *add = (modperl_config_srv_t *)addv, -*mrg = modperl_config_srv_new(p); +*mrg = modperl_config_srv_new(p, add-server); MP_TRACE_d(MP_FUNC, basev==0x%lx, addv==0x%lx, mrg==0x%lx\n, (unsigned long)basev, (unsigned long)addv, Modified: perl/modperl/trunk/src/modules/perl/modperl_config.h URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/src/modules/perl/modperl_config.h?rev=291193r1=291192r2=291193view=diff == --- perl/modperl/trunk/src/modules/perl/modperl_config.h (original) +++ perl/modperl/trunk/src/modules/perl/modperl_config.h Fri Sep 23 12:30:51 2005 @@ -20,7 +20,7 @@ void *modperl_config_dir_merge(apr_pool_t *p, void *basev, void *addv); -modperl_config_srv_t
svn commit: r224421 - /perl/modperl/trunk/lib/Apache2/porting.pm
Author: gozer Date: Fri Jul 22 16:31:15 2005 New Revision: 224421 URL: http://svn.apache.org/viewcvs?rev=224421view=rev Log: Apache2::porting was still using Apache2-server instead of the new Apache2::ServerUtil-server Submitted-By: Bengt-Arne Fjellner [EMAIL PROTECTED] Modified: perl/modperl/trunk/lib/Apache2/porting.pm Modified: perl/modperl/trunk/lib/Apache2/porting.pm URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/lib/Apache2/porting.pm?rev=224421r1=224420r2=224421view=diff == --- perl/modperl/trunk/lib/Apache2/porting.pm (original) +++ perl/modperl/trunk/lib/Apache2/porting.pm Fri Jul 22 16:31:15 2005 @@ -38,7 +38,8 @@ # XXX: unfortunately it doesn't seem to be possible to install # *UNIVERSAL::AUTOLOAD at the server startup, httpd segfaults, # child_init seems to be the first stage where it works. -Apache2-server-push_handlers(PerlChildInitHandler = \porting_autoload); +Apache2::ServerUtil-server-push_handlers( +PerlChildInitHandler = \porting_autoload); sub porting_autoload { *UNIVERSAL::AUTOLOAD = sub {
svn commit: r209126 - /perl/modperl/trunk/t/modules/reload.t
Author: gozer Date: Mon Jul 4 14:32:08 2005 New Revision: 209126 URL: http://svn.apache.org/viewcvs?rev=209126view=rev Log: expected recieved were swapped. Modified: perl/modperl/trunk/t/modules/reload.t Modified: perl/modperl/trunk/t/modules/reload.t URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/t/modules/reload.t?rev=209126r1=209125r2=209126view=diff == --- perl/modperl/trunk/t/modules/reload.t (original) +++ perl/modperl/trunk/t/modules/reload.t Mon Jul 4 14:32:08 2005 @@ -47,8 +47,8 @@ $skip++ unless defined $received; same_interp_skip_not_found( $skip, -$expected, $received, +$expected, Initial ); } @@ -63,8 +63,8 @@ $skip++ unless defined $received; same_interp_skip_not_found( $skip, -$expected, $received, +$expected, Reload ); } @@ -76,8 +76,8 @@ $skip++ unless defined $received; same_interp_skip_not_found( $skip, -$expected, $received, +$expected, Unregister ); }
svn commit: r209127 - in /perl/modperl/trunk: Changes t/response/TestModules/reload.pm
Author: gozer Date: Mon Jul 4 14:37:02 2005 New Revision: 209127 URL: http://svn.apache.org/viewcvs?rev=209127view=rev Log: t/modules/reload.t would fail if run more than 3 times, breaking smokes. Need to fully reset after the test is completed. Reported-By: Stas Modified: perl/modperl/trunk/Changes perl/modperl/trunk/t/response/TestModules/reload.pm Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/Changes?rev=209127r1=209126r2=209127view=diff == --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Mon Jul 4 14:37:02 2005 @@ -12,6 +12,9 @@ =item 2.0.2-dev +t/modules/reload.t would fail if run more than 3 times, breaking +smokes [Gozer] + filter flushing now doesn't croak on connection reset (ECONNRESET/ECONNABORTED), but just logs the event on the 'info' level. [Stas] Modified: perl/modperl/trunk/t/response/TestModules/reload.pm URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/t/response/TestModules/reload.pm?rev=209127r1=209126r2=209127view=diff == --- perl/modperl/trunk/t/response/TestModules/reload.pm (original) +++ perl/modperl/trunk/t/response/TestModules/reload.pm Mon Jul 4 14:37:02 2005 @@ -17,6 +17,7 @@ if ($r-args eq 'last') { Apache2::Reload-unregister_module($package); ModPerl::Util::unload_package($package); +$pass = 0; $r-print(unregistered OK); return Apache2::Const::OK; }
svn commit: r202113 - in /perl/modperl/trunk: ./ Changes Makefile.PL build/make_rpm_spec lib/ModPerl/Manifest.pm
Author: gozer Date: Mon Jun 27 19:00:56 2005 New Revision: 202113 URL: http://svn.apache.org/viewcvs?rev=202113view=rev Log: RPM Friendly builds : - make dist tarballs can now be built directly into RPMs with rpmbuild - Added a new target 'make rpm' to directly build rpms from a checkout Added: perl/modperl/trunk/build/make_rpm_spec (with props) Modified: perl/modperl/trunk/ (props changed) perl/modperl/trunk/Changes perl/modperl/trunk/Makefile.PL perl/modperl/trunk/lib/ModPerl/Manifest.pm Propchange: perl/modperl/trunk/ -- --- svn:ignore (original) +++ svn:ignore Mon Jun 27 19:00:56 2005 @@ -4,8 +4,10 @@ blib blibdirs blibdirs.ts +mod_perl.spec pm_to_blib pm_to_blib.ts +rpm scraps diff.txt smoke-report-*.txt Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/Changes?rev=202113r1=202112r2=202113view=diff == --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Mon Jun 27 19:00:56 2005 @@ -12,6 +12,10 @@ =item 2.0.2-dev +RPM Friendly builds : [Gozer] +- make dist tarballs can now be built directly into RPMs with rpmbuild +- Added a new target 'make rpm' to directly build rpms from a checkout + =item 2.0.1 - June 17, 2005 Modified: perl/modperl/trunk/Makefile.PL URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/Makefile.PL?rev=202113r1=202112r2=202113view=diff == --- perl/modperl/trunk/Makefile.PL (original) +++ perl/modperl/trunk/Makefile.PL Mon Jun 27 19:00:56 2005 @@ -789,7 +789,18 @@ my $string = $self-ModPerl::BuildMM::MY::postamble; $string .= 'EOF'; -mydist : Apache-Test/META.yml manifest tardist +mydist : Apache-Test/META.yml mod_perl.spec manifest tardist + +rpm: dist + @[ -d $(PWD)/rpm ] || mkdir $(PWD)/rpm + rpmbuild -ta --define _rpmdir $(PWD)/rpm \ + --define _srcrpmdir $(PWD)/rpm \ + $(DISTVNAME).tar.gz + @mv $(PWD)/rpm/*/*.rpm $(PWD)/rpm/ + @rm -rf $(PWD)/rpm/*/ + +mod_perl.spec: build/make_rpm_spec + $(PERL) build/make_rpm_spec Apache-Test/META.yml: cd Apache-Test make metafile Added: perl/modperl/trunk/build/make_rpm_spec URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/build/make_rpm_spec?rev=202113view=auto == --- perl/modperl/trunk/build/make_rpm_spec (added) +++ perl/modperl/trunk/build/make_rpm_spec Mon Jun 27 19:00:56 2005 @@ -0,0 +1,146 @@ +#!perl +use strict; + +require lib/mod_perl2.pm; + +my $dev_build = is_dev_build(); +my $release = $dev_build ? svn_release() : 1; +my $version = $mod_perl2::VERSION_TRIPLET; +my $path = $dev_build ? mod_perl-$version-dev : mod_perl-$version; +my $tarname = $path.tar.gz; + +my $httpd_ver = min_httpd_ver(); + +open(my $spec, mod_perl.spec) || die Can't open mod_perl.spec $!; + +print $spec EOF; +%define _version $mod_perl2::VERSION_TRIPLET +%define _release $release +%define _source http://perl.apache.org/dist/$tarname +%define _dirname $path +%define _httpd_min_ver $httpd_ver +%define _perl_min_ver 5.6.1 +EOF + +print $spec 'EOF'; +Name: mod_perl +Version:%{_version} +Release:%{_release} +Summary:An embedded Perl interpreter for the Apache Web server +Group: System Environment/Daemons +License:Apache License, Version 2.0 +Packager: mod_perl Development Team dev@perl.apache.org +URL:http://perl.apache.org/ +Source: %{_source} +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +Requires: httpd = %{_httpd_min_ver} +BuildRequires: perl = %{_perl_min_ver} +BuildRequires: httpd-devel = %{_httpd_min_ver} +BuildRequires: apr-devel, apr-util-devel + +%description +Mod_perl incorporates a Perl interpreter into the Apache web server, +so that the Apache web server can directly execute Perl code. +Mod_perl links the Perl runtime library into the Apache web server and +provides an object-oriented Perl interface for Apache's C language +API. The end result is a quicker CGI script turnaround process, since +no external Perl interpreter has to be started. + +Install mod_perl if you're installing the Apache web server and you'd +like for it to directly incorporate a Perl interpreter. + +%package devel +Summary:Files needed for building XS modules that use mod_perl +Group: Development/Libraries +Requires: mod_perl = %{version}-%{release}, httpd-devel + +%description devel +The mod_perl-devel package contains the files needed for building XS +modules that use mod_perl. + +%prep +%setup -q -n %{_dirname} + +%build +CFLAGS=$RPM_OPT_FLAGS %{__perl} Makefile.PL /dev/null
svn commit: r191191 - /perl/modperl/tags/2_0_1
Author: gozer Date: Fri Jun 17 13:43:25 2005 New Revision: 191191 URL: http://svn.apache.org/viewcvs?rev=191191view=rev Log: Tagged 2.0.1 Added: perl/modperl/tags/2_0_1/ - copied from r191190, perl/modperl/trunk/
svn commit: r191192 - /perl/modperl/tags/2_0_1
Author: gozer Date: Fri Jun 17 13:45:10 2005 New Revision: 191192 URL: http://svn.apache.org/viewcvs?rev=191192view=rev Log: Backing out incomplete tag Removed: perl/modperl/tags/2_0_1/
svn commit: r191193 - /perl/modperl/trunk/Changes
Author: gozer Date: Fri Jun 17 13:46:33 2005 New Revision: 191193 URL: http://svn.apache.org/viewcvs?rev=191193view=rev Log: 2.0.1 release Modified: perl/modperl/trunk/Changes Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/Changes?rev=191193r1=191192r2=191193view=diff == --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Fri Jun 17 13:46:33 2005 @@ -10,7 +10,7 @@ =over 3 -=item 2.0.1-dev +=item 2.0.1 - June 17, 2005 B::Terse has problems with XS code, so adjust Apache::Status to eval {} the code doing Syntax Tree Dump: syntax and execution order options
svn commit: r191194 - /perl/modperl/tags/2_0_1
Author: gozer Date: Fri Jun 17 13:48:25 2005 New Revision: 191194 URL: http://svn.apache.org/viewcvs?rev=191194view=rev Log: Tag 2.0.1 Added: perl/modperl/tags/2_0_1/ - copied from r191193, perl/modperl/trunk/
svn commit: r191197 - in /perl/modperl/trunk: Changes RELEASE STATUS lib/mod_perl2.pm
Author: gozer Date: Fri Jun 17 13:53:37 2005 New Revision: 191197 URL: http://svn.apache.org/viewcvs?rev=191197view=rev Log: start 2.0.2-dev cycle Modified: perl/modperl/trunk/Changes perl/modperl/trunk/RELEASE perl/modperl/trunk/STATUS perl/modperl/trunk/lib/mod_perl2.pm Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/Changes?rev=191197r1=191196r2=191197view=diff == --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Fri Jun 17 13:53:37 2005 @@ -10,6 +10,10 @@ =over 3 +=item 2.0.2-dev + + + =item 2.0.1 - June 17, 2005 B::Terse has problems with XS code, so adjust Apache::Status to eval Modified: perl/modperl/trunk/RELEASE URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/RELEASE?rev=191197r1=191196r2=191197view=diff == --- perl/modperl/trunk/RELEASE (original) +++ perl/modperl/trunk/RELEASE Fri Jun 17 13:53:37 2005 @@ -1,7 +1,7 @@ Instructions for mod_perl 2.0 Release Manager 1. 'make dist' - to make sure nothing is missing from the manifest, - etc. Now test this generated package mod_perl-2.0.1.tar.gz (not + etc. Now test this generated package mod_perl-2.0.2.tar.gz (not the current build) with as many configurations as possible on as many platforms as possible, unpacking the package each time afresh. @@ -51,29 +51,29 @@ g. test the final package again at least once -4. Release the package and update links (e.g. mod_perl-2.0.1.tar.gz) +4. Release the package and update links (e.g. mod_perl-2.0.2.tar.gz) a. upload to www.apache.org:/www/perl.apache.org/dist/ -% scp mod_perl-2.0.1.tar.gz perl.apache.org:/www/perl.apache.org/dist/ +% scp mod_perl-2.0.2.tar.gz perl.apache.org:/www/perl.apache.org/dist/ b. ssh to perl.apache.org, unpack the package, update symlinks to the tar ball and unpacked distro: % ssh perl.apache.org % cd /www/perl.apache.org/dist/ -% ln -sf mod_perl-2.0.1.tar.gz mod_perl-2.0-current.tar.gz -% tar -xzvf mod_perl-2.0.1.tar.gz +% ln -sf mod_perl-2.0.2.tar.gz mod_perl-2.0-current.tar.gz +% tar -xzvf mod_perl-2.0.2.tar.gz % rm /www/perl.apache.org/dist/mod_perl-2.0-current -% ln -sf mod_perl-2.0.1 mod_perl-2.0-current +% ln -sf mod_perl-2.0.2 mod_perl-2.0-current c. archive older releases (keep current + one prior release) -% mv /www/perl.apache.org/dist/mod_perl-2.0.0-RC6.tar.gz \ +% mv /www/perl.apache.org/dist/mod_perl-2.0.0.tar.gz \ /www/perl.apache.org/dist/old -% mv /www/perl.apache.org/dist/mod_perl-2.0.0-RC6.tar.gz.asc \ +% mv /www/perl.apache.org/dist/mod_perl-2.0.0.tar.gz.asc \ /www/perl.apache.org/dist/old -% rm -rf /www/perl.apache.org/dist/mod_perl-2.0.0-RC6 +% rm -rf /www/perl.apache.org/dist/mod_perl-2.0.0 d. update the version and release date modperl-docs/src/download/index_top.html and commit. It'll be @@ -91,27 +91,27 @@ a. sign your local copy of the tarball: -% gpg --detach-sign --armor mod_perl-2.0.1.tar.gz +% gpg --detach-sign --armor mod_perl-2.0.2.tar.gz -% pgps -b --armor mod_perl-2.0.1.tar.gz +% pgps -b --armor mod_perl-2.0.2.tar.gz b. upload the generated sig file to www.apache.org: -% scp mod_perl-2.0.1.tar.gz.asc perl.apache.org:/www/perl.apache.org/dist/ +% scp mod_perl-2.0.2.tar.gz.asc perl.apache.org:/www/perl.apache.org/dist/ % ssh www.apache.org % cd /www/perl.apache.org/dist/ -% chmod 0664 mod_perl-2.0.1.tar.gz.asc -% ln -sf mod_perl-2.0.1.tar.gz.asc mod_perl-2.0-current.tar.gz.asc +% chmod 0664 mod_perl-2.0.2.tar.gz.asc +% ln -sf mod_perl-2.0.2.tar.gz.asc mod_perl-2.0-current.tar.gz.asc c. ask one of the other developers to double check the signature file and tarball: download both files and verify the signature: -http://perl.apache.org/dist/mod_perl-2.0.1.tar.gz.asc -http://perl.apache.org/dist/mod_perl-2.0.1.tar.gz +http://perl.apache.org/dist/mod_perl-2.0.2.tar.gz.asc +http://perl.apache.org/dist/mod_perl-2.0.2.tar.gz -% gpg --verify mod_perl-2.0.1.tar.gz.asc +% gpg --verify mod_perl-2.0.2.tar.gz.asc -% pgpv mod_perl-2.0.1.tar.gz.asc +% pgpv mod_perl-2.0.2.tar.gz.asc d. make sure that the files you just created are group rw so all the dist admins can make changes: @@ -125,10 +125,10 @@ a. unpack the package, update symlinks to the tarball and unpacked distro: % cd /www/www.apache.org/dist/perl/ - % cp /www/perl.apache.org/dist/mod_perl-2.0.1.tar.gz* . - % tar -xzvf mod_perl-2.0.1.tar.gz - % mv mod_perl-2.0.0-RC6.tar.gz* /www/archive.apache.org/dist/perl/ - % rm -rf mod_perl-2.0.0-RC6 + % cp /www/perl.apache.org/dist/mod_perl-2.0.2.tar.gz* . + % tar -xzvf mod_perl-2.0.2.tar.gz + % mv mod_perl-2.0.0
svn commit: r189913 - in /perl/modperl/trunk: Changes lib/Apache2/Build.pm
Author: gozer Date: Fri Jun 10 00:22:39 2005 New Revision: 189913 URL: http://svn.apache.org/viewcvs?rev=189913view=rev Log: Fix a broken regexp in Apache2::Build::dir() on win32 that would incorrectly attempt to fully-qualify paths like c:/some/path Submitted-By: Nick *** [EMAIL PROTECTED] Modified: perl/modperl/trunk/Changes perl/modperl/trunk/lib/Apache2/Build.pm Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/Changes?rev=189913r1=189912r2=189913view=diff == --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Fri Jun 10 00:22:39 2005 @@ -12,6 +12,10 @@ =item 2.0.1-dev +Fix a broken regexp in Apache2::Build::dir() on win32 that would +incorrectly attempt to fully-qualify paths like c:/some/path +[Nick *** [EMAIL PROTECTED]] + Fix the No library found warnings when building on win32 without apxs and MP_AP_PREFIX [Nick *** [EMAIL PROTECTED]] Modified: perl/modperl/trunk/lib/Apache2/Build.pm URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/lib/Apache2/Build.pm?rev=189913r1=189912r2=189913view=diff == --- perl/modperl/trunk/lib/Apache2/Build.pm (original) +++ perl/modperl/trunk/lib/Apache2/Build.pm Fri Jun 10 00:22:39 2005 @@ -932,7 +932,7 @@ for (qw(ap_includedir)) { delete $self-{$_}; } -if ($dir =~ m:^../:) { +if ($dir =~ m:^\.\.[/\\]:) { $dir = $self-{cwd}/$dir; } $self-{dir} = $dir;
svn commit: r179427 - in /perl/modperl/branches/1.x: ./ Apache/ Connection/ Constants/ File/ Leak/ Log/ ModuleConfig/ PerlRunXS/ Server/ Symbol/ Table/ URI/ Util/ apaci/ lib/ lib/Apache/ src/ src/modules/perl/ t/ t/TestDirectives/ t/conf/ t/docs/ t/docs/subr/ t/modules/ t/net/ t/net/perl/
Author: gozer Date: Wed Jun 1 14:56:34 2005 New Revision: 179427 URL: http://svn.apache.org/viewcvs?rev=179427view=rev Log: Cleanup .cvsignore files after successfully moving to svn Removed: perl/modperl/branches/1.x/.cvsignore perl/modperl/branches/1.x/Apache/.cvsignore perl/modperl/branches/1.x/Connection/.cvsignore perl/modperl/branches/1.x/Constants/.cvsignore perl/modperl/branches/1.x/File/.cvsignore perl/modperl/branches/1.x/Leak/.cvsignore perl/modperl/branches/1.x/Log/.cvsignore perl/modperl/branches/1.x/ModuleConfig/.cvsignore perl/modperl/branches/1.x/PerlRunXS/.cvsignore perl/modperl/branches/1.x/Server/.cvsignore perl/modperl/branches/1.x/Symbol/.cvsignore perl/modperl/branches/1.x/Table/.cvsignore perl/modperl/branches/1.x/URI/.cvsignore perl/modperl/branches/1.x/Util/.cvsignore perl/modperl/branches/1.x/apaci/.cvsignore perl/modperl/branches/1.x/lib/.cvsignore perl/modperl/branches/1.x/lib/Apache/.cvsignore perl/modperl/branches/1.x/src/.cvsignore perl/modperl/branches/1.x/src/modules/perl/.cvsignore perl/modperl/branches/1.x/t/.cvsignore perl/modperl/branches/1.x/t/TestDirectives/.cvsignore perl/modperl/branches/1.x/t/conf/.cvsignore perl/modperl/branches/1.x/t/docs/.cvsignore perl/modperl/branches/1.x/t/docs/subr/.cvsignore perl/modperl/branches/1.x/t/modules/.cvsignore perl/modperl/branches/1.x/t/net/.cvsignore perl/modperl/branches/1.x/t/net/perl/.cvsignore Modified: perl/modperl/branches/1.x/ (props changed) perl/modperl/branches/1.x/MANIFEST.SKIP perl/modperl/branches/1.x/t/conf/ (props changed) Propchange: perl/modperl/branches/1.x/ -- --- svn:ignore (original) +++ svn:ignore Wed Jun 1 14:56:34 2005 @@ -5,30 +5,5 @@ pod2html-dircache pm_to_blib blib -lib/Apache/MyConfig.pm -t/conf/httpd.conf -t/conf/httpd.conf.old -t/docs/blib.pl -t/docs/subr/index.html -t/docs/test.shtml -t/httpd -t/httpd.conf -t/net/config.pl -t/net/perl/cgi.pl -t/report -src/modules/perl/mod_perl_version.h -lib/mod_perl.pm *.tar.gz -src/Configuration -t/docs/stacked -t/docs/subr/index.html -t/modules/ssi.t -apaci/load_modules.pl -t/httpd_conf -t/perlsections.pl -t/conf/LoadModule.conf -t/docs/hooks.txt -Log/Makefile -Log/pm_to_blib -apaci/find_source META.yml Modified: perl/modperl/branches/1.x/MANIFEST.SKIP URL: http://svn.apache.org/viewcvs/perl/modperl/branches/1.x/MANIFEST.SKIP?rev=179427r1=179426r2=179427view=diff == --- perl/modperl/branches/1.x/MANIFEST.SKIP (original) +++ perl/modperl/branches/1.x/MANIFEST.SKIP Wed Jun 1 14:56:34 2005 @@ -1,6 +1,5 @@ \.tar.gz$ -\bCVS\b -\.cvsignore$ +\b\.svn\b pm_to_blib$ ^MANIFEST\. Makefile$ Propchange: perl/modperl/branches/1.x/t/conf/ -- --- svn:ignore (original) +++ svn:ignore Wed Jun 1 14:56:34 2005 @@ -1,4 +1,5 @@ httpd.conf +httpd.conf.old srm.conf LoadModule.conf dev-null
svn commit: r179434 - /perl/modperl/branches/1.x/Makefile.PL
Author: gozer Date: Wed Jun 1 15:18:56 2005 New Revision: 179434 URL: http://svn.apache.org/viewcvs?rev=179434view=rev Log: fix the tag target for SVN Modified: perl/modperl/branches/1.x/Makefile.PL Modified: perl/modperl/branches/1.x/Makefile.PL URL: http://svn.apache.org/viewcvs/perl/modperl/branches/1.x/Makefile.PL?rev=179434r1=179433r2=179434view=diff == --- perl/modperl/branches/1.x/Makefile.PL (original) +++ perl/modperl/branches/1.x/Makefile.PL Wed Jun 1 15:18:56 2005 @@ -1621,11 +1621,8 @@ sub MY::postamble { return 'EOF'; -cvs_export : - cvs -d $(CVSROOT) export -rv$(VERSION_SYM) -d$(DISTVNAME) . - -cvs_tag : - cvs -d $(CVSROOT) tag v$(VERSION_SYM) modperl +tag : + svn copy https://svn.apache.org/repos/asf/perl/modperl/branches/1.x https://svn.apache.org/repos/asf/perl/modperl/tags/$(VERSION_SYM) @echo update mod_perl.pm VERSION now EOF
svn commit: r179448 - in /perl/modperl/trunk: Changes t/modules/reload.t t/response/TestModules/reload.pm xs/ModPerl/Util/Util_pm
Author: gozer Date: Wed Jun 1 15:44:01 2005 New Revision: 179448 URL: http://svn.apache.org/viewcvs?rev=179448view=rev Log: The pure-perl ModPerl::Util::unload_package implementation was accidently deleting sub-stashes. Reported-by: Mark [EMAIL PROTECTED] Modified: perl/modperl/trunk/Changes perl/modperl/trunk/t/modules/reload.t perl/modperl/trunk/t/response/TestModules/reload.pm perl/modperl/trunk/xs/ModPerl/Util/Util_pm Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/Changes?rev=179448r1=179447r2=179448view=diff == --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Wed Jun 1 15:44:01 2005 @@ -12,6 +12,9 @@ =item 2.0.1-dev +The pure-perl ModPerl::Util::unload_package implementation was +accidently deleting sub-stashes [Gozer] + If running Makefile.PL unnatended (STDIN isn't a terminal or MP_PROMPT_DEFAULT=1), break out of potentially infinite prompt loops [Gozer] Modified: perl/modperl/trunk/t/modules/reload.t URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/t/modules/reload.t?rev=179448r1=179447r2=179448view=diff == --- perl/modperl/trunk/t/modules/reload.t (original) +++ perl/modperl/trunk/t/modules/reload.t Wed Jun 1 15:44:01 2005 @@ -16,7 +16,7 @@ my $module = 'TestModules::reload'; my $location = '/' . Apache::TestRequest::module2path($module); -my @tests = qw(simple const prototype); +my @tests = qw(simple const prototype subpackage); my $header = join '', DATA; @@ -95,7 +95,9 @@ use Apache2::Reload; -our @methods = qw(simple const prototype); +our @methods = qw(simple const prototype subpackage); + +sub subpackage { return Apache2::Reload::Test::SubPackage::subpackage() } sub run { my $r = shift; Modified: perl/modperl/trunk/t/response/TestModules/reload.pm URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/t/response/TestModules/reload.pm?rev=179448r1=179447r2=179448view=diff == --- perl/modperl/trunk/t/response/TestModules/reload.pm (original) +++ perl/modperl/trunk/t/response/TestModules/reload.pm Wed Jun 1 15:44:01 2005 @@ -9,9 +9,11 @@ my $package = 'Apache2::Reload::Test'; +our $pass = 0; + sub handler { my $r = shift; - +$pass++; if ($r-args eq 'last') { Apache2::Reload-unregister_module($package); ModPerl::Util::unload_package($package); @@ -24,6 +26,18 @@ Apache2::Reload::Test::run($r); return Apache2::Const::OK; +} + +#This one shouldn't be touched +package Apache2::Reload::Test::SubPackage; + +sub subpackage { +if ($TestModules::reload::pass == '2') { +return 'subpackage'; +} +else { +return 'SUBPACKAGE'; +} } 1; Modified: perl/modperl/trunk/xs/ModPerl/Util/Util_pm URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/xs/ModPerl/Util/Util_pm?rev=179448r1=179447r2=179448view=diff == --- perl/modperl/trunk/xs/ModPerl/Util/Util_pm (original) +++ perl/modperl/trunk/xs/ModPerl/Util/Util_pm Wed Jun 1 15:44:01 2005 @@ -16,6 +16,9 @@ # alias but the original function as well for (keys %$tab) { +#Skip sub stashes +next if /::$/; + my $fullname = join '::', $package, $_; # code/hash/array/scalar might be imported make sure the gv # does not point elsewhere before undefing each
svn commit: r178624 - /perl/modperl/trunk/Makefile.PL
Author: gozer Date: Thu May 26 01:52:13 2005 New Revision: 178624 URL: http://svn.apache.org/viewcvs?rev=178624view=rev Log: whitespace Modified: perl/modperl/trunk/Makefile.PL Modified: perl/modperl/trunk/Makefile.PL URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/Makefile.PL?rev=178624r1=178623r2=178624view=diff == --- perl/modperl/trunk/Makefile.PL (original) +++ perl/modperl/trunk/Makefile.PL Thu May 26 01:52:13 2005 @@ -259,7 +259,8 @@ $ok++; } else { -error Can't find dir '$ans';} +error Can't find dir '$ans'; +} } }
svn commit: r178634 - in /perl/modperl/trunk: Changes Makefile.PL
Author: gozer Date: Thu May 26 06:45:10 2005 New Revision: 178634 URL: http://svn.apache.org/viewcvs?rev=178634view=rev Log: If running Makefile.PL unnatended (STDIN isn't a terminal or MP_PROMPT_DEFAULT=1), break out of potentially infinite prompt loops Modified: perl/modperl/trunk/Changes perl/modperl/trunk/Makefile.PL Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/Changes?rev=178634r1=178633r2=178634view=diff == --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Thu May 26 06:45:10 2005 @@ -12,6 +12,10 @@ =item 2.0.1-dev +If running Makefile.PL unnatended (STDIN isn't a terminal or +MP_PROMPT_DEFAULT=1), break out of potentially infinite prompt +loops [Gozer] + fix ModPerl::TestReport used by t/REPORT and mp2bug to use ExtUtils::MakeMaker's MM-parse_version to get the interesting packages version number, w/o trying to load them (which may fail if Modified: perl/modperl/trunk/Makefile.PL URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/Makefile.PL?rev=178634r1=178633r2=178634view=diff == --- perl/modperl/trunk/Makefile.PL (original) +++ perl/modperl/trunk/Makefile.PL Thu May 26 06:45:10 2005 @@ -49,6 +49,8 @@ my $build = Apache2::Build-new(init = 1); my $code = ModPerl::Code-new; +sub UNATTENDED() { $build-{MP_PROMPT_DEFAULT} || ! -t STDIN } + win32_fetch_apxs() if WIN32; configure(); @@ -251,7 +253,7 @@ } until ($ok) { my $ask = Please provide the location of the Apache directory:; -my $ans = $build-prompt($ask); +my $ans = $build-prompt($ask) || ; # strip leading/closing spaces $ans =~ s/^\s*|\s*$//g; if (defined $ans and -d $ans) { @@ -260,6 +262,7 @@ } else { error Can't find dir '$ans'; +last if UNATTENDED; } } } @@ -345,7 +348,7 @@ my $prompt = \nPlease provide a full path to 'apxs' executable\n . (press Enter if you don't have it installed):; while (1) { -my $ans = $build-prompt($prompt); +my $ans = $build-prompt($prompt) || ; print \n\n;
svn commit: r171066 - /perl/modperl/trunk/Changes
Author: gozer Date: Thu May 19 23:07:26 2005 New Revision: 171066 URL: http://svn.apache.org/viewcvs?rev=171066view=rev Log: cosmetic fixup Modified: perl/modperl/trunk/Changes Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/Changes?rev=171066r1=171065r2=171066view=diff == --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Thu May 19 23:07:26 2005 @@ -10,10 +10,10 @@ =over 3 -=item 2.000_01-dev +=item 2.0.1-dev -=item 2.000_00 - May 20, 2005 +=item 2.0.0 - May 20, 2005 fix global anon_cnt double-initialization bug that was causing startup segfaults on OSX. [Gozer]
svn commit: r171067 - /perl/modperl/trunk/RELEASE
Author: gozer Date: Thu May 19 23:07:39 2005 New Revision: 171067 URL: http://svn.apache.org/viewcvs?rev=171067view=rev Log: updated RELEASE for the next RM Modified: perl/modperl/trunk/RELEASE Modified: perl/modperl/trunk/RELEASE URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/RELEASE?rev=171067r1=171066r2=171067view=diff == --- perl/modperl/trunk/RELEASE (original) +++ perl/modperl/trunk/RELEASE Thu May 19 23:07:39 2005 @@ -1,7 +1,7 @@ Instructions for mod_perl 2.0 Release Manager 1. 'make dist' - to make sure nothing is missing from the manifest, - etc. Now test this generated package mod_perl-2.0.0-RC7.tar.gz (not + etc. Now test this generated package mod_perl-2.0.1.tar.gz (not the current build) with as many configurations as possible on as many platforms as possible, unpacking the package each time afresh. @@ -31,13 +31,12 @@ a. edit ./Changes: - remove '-dev' - add release date - - temp: change VERSION in Makefile.PL to RC8 (while doing RC series) b. check ./README and ./Makefile.PL - make sure supported httpd versions (dso static) are current c. rerun: - % perl Makefile.PL MP_INST_APACHE2=1 + % perl Makefile.PL make sure tag looks right % make -n tag @@ -52,21 +51,21 @@ g. test the final package again at least once -4. Release the package and update links (e.g. mod_perl-2.0.0-RC8.tar.gz) +4. Release the package and update links (e.g. mod_perl-2.0.1.tar.gz) a. upload to www.apache.org:/www/perl.apache.org/dist/ -% scp mod_perl-2.0.0.tar.gz perl.apache.org:/www/perl.apache.org/dist/ +% scp mod_perl-2.0.1.tar.gz perl.apache.org:/www/perl.apache.org/dist/ b. ssh to perl.apache.org, unpack the package, update symlinks to the tar ball and unpacked distro: % ssh perl.apache.org % cd /www/perl.apache.org/dist/ -% ln -sf mod_perl-2.0.0.tar.gz mod_perl-2.0-current.tar.gz -% tar -xzvf mod_perl-2.0.0.tar.gz +% ln -sf mod_perl-2.0.1.tar.gz mod_perl-2.0-current.tar.gz +% tar -xzvf mod_perl-2.0.1.tar.gz % rm /www/perl.apache.org/dist/mod_perl-2.0-current -% ln -sf mod_perl-2.0.0 mod_perl-2.0-current +% ln -sf mod_perl-2.0.1 mod_perl-2.0-current c. archive older releases (keep current + one prior release) @@ -92,27 +91,27 @@ a. sign your local copy of the tarball: -% gpg --detach-sign --armor mod_perl-2.0.0.tar.gz +% gpg --detach-sign --armor mod_perl-2.0.1.tar.gz -% pgps -b --armor mod_perl-2.0.0.tar.gz +% pgps -b --armor mod_perl-2.0.1.tar.gz b. upload the generated sig file to www.apache.org: -% scp mod_perl-2.0.0.tar.gz.asc perl.apache.org:/www/perl.apache.org/dist/ +% scp mod_perl-2.0.1.tar.gz.asc perl.apache.org:/www/perl.apache.org/dist/ % ssh www.apache.org % cd /www/perl.apache.org/dist/ -% chmod 0664 mod_perl-2.0.0.tar.gz.asc -% ln -sf mod_perl-2.0.0.tar.gz.asc mod_perl-2.0-current.tar.gz.asc +% chmod 0664 mod_perl-2.0.1.tar.gz.asc +% ln -sf mod_perl-2.0.1.tar.gz.asc mod_perl-2.0-current.tar.gz.asc c. ask one of the other developers to double check the signature file and tarball: download both files and verify the signature: -http://perl.apache.org/dist/mod_perl-2.0.0.tar.gz.asc -http://perl.apache.org/dist/mod_perl-2.0.0.tar.gz +http://perl.apache.org/dist/mod_perl-2.0.1.tar.gz.asc +http://perl.apache.org/dist/mod_perl-2.0.1.tar.gz -% gpg --verify mod_perl-2.0.0.tar.gz.asc +% gpg --verify mod_perl-2.0.1.tar.gz.asc -% pgpv mod_perl-2.0.0.tar.gz.asc +% pgpv mod_perl-2.0.1.tar.gz.asc d. make sure that the files you just created are group rw so all the dist admins can make changes: @@ -126,8 +125,8 @@ a. unpack the package, update symlinks to the tarball and unpacked distro: % cd /www/www.apache.org/dist/perl/ - % cp /www/perl.apache.org/dist/mod_perl-2.0.0.tar.gz* . - % tar -xzvf mod_perl-2.0.0.tar.gz + % cp /www/perl.apache.org/dist/mod_perl-2.0.1.tar.gz* . + % tar -xzvf mod_perl-2.0.1.tar.gz % mv mod_perl-2.0.0-RC6.tar.gz* /www/archive.apache.org/dist/perl/ % rm -rf mod_perl-2.0.0-RC6 @@ -141,11 +140,11 @@ 8. Announce the package a. post ... to the modperl, announce lists - Subject: [ANNOUNCE] mod_perl 2.0.0 + Subject: [ANNOUNCE] mod_perl 2.0.1 include - link at perl.apache.org: -http://apache.org/dist/perl/mod_perl-2.0.0.tar.gz -http://apache.org/dist/perl/mod_perl-2.0.0.tar.gz.asc (pgp sig) +http://apache.org/dist/perl/mod_perl-2.0.1.tar.gz +http://apache.org/dist/perl/mod_perl-2.0.1.tar.gz.asc (pgp sig) - MD5 sig (as it comes from CPAN upload announce). - the latest Changes @@ -156,24 +155,25 @@ b. edit ./Changes: - start a new item with incremented version + '-dev' - =item 2.000_00-dev + =item 2.0.2-dev c. add a release entry in STATUS