From modperlnrice@example.net Fri May 02 01:35:05 2003 Return-Path: <modperlnrice@example.net> Delivered-To: nrice@example.net Received: (qmail 7943 invoked by uid 500); 2 May 2003 01:35:05 -0000 Mailing-List: contact nrice@example.net; run by ezmlm Precedence: bulk list-help: <mailto:nrice@example.net> list-unsubscribe: <mailto:nrice@example.net> list-post: <mailto:nrice@example.net> Reply-To: nrice@example.net Delivered-To: mailing list nrice@example.net Received: (qmail 7930 invoked by uid 500); 2 May 2003 01:35:05 -0000 Delivered-To: nrice@example.net Date: 2 May 2003 01:35:04 -0000 Message-ID: <nrice@example.net> From: nrice@example.net To: nrice@example.net Subject: cvs commit: modperl-2.0 Changes X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N stas 2003/05/01 18:35:03 Modified: src/modules/perl mod_perl.c . Changes Log: PerlRequire entried should be executed before PerlModule entries in VirtualHost containers, just like in the base server Revision Changes Path 1.170 +3 -2 modperl-2.0/src/modules/perl/mod_perl.c Index: mod_perl.c =================================================================== RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.c,v retrieving revision 1.169 retrieving revision 1.170 diff -u -r1.169 -r1.170 --- mod_perl.c 16 Apr 2003 03:03:35 -0000 1.169 +++ mod_perl.c 2 May 2003 01:35:03 -0000 1.170 @@ -297,10 +297,11 @@ } #endif - if (!modperl_config_apply_PerlModule(s, scfg, perl, p)) { + if (!modperl_config_apply_PerlRequire(s, scfg, perl, p)) { return HTTP_INTERNAL_SERVER_ERROR; } - if (!modperl_config_apply_PerlRequire(s, scfg, perl, p)) { + + if (!modperl_config_apply_PerlModule(s, scfg, perl, p)) { return HTTP_INTERNAL_SERVER_ERROR; } } 1.182 +2 -1 modperl-2.0/Changes Index: Changes =================================================================== RCS file: /home/cvs/modperl-2.0/Changes,v retrieving revision 1.181 retrieving revision 1.182 diff -u -r1.181 -r1.182 --- Changes 28 Apr 2003 02:34:25 -0000 1.181 +++ Changes 2 May 2003 01:35:03 -0000 1.182 @@ -12,7 +12,8 @@ =item 1.99_10-dev - +PerlRequire entried should be executed before PerlModule entries in +VirtualHost containers, just like in the base server [Stas] =item 1.99_09 - April 28, 2003 From modperlnrice@example.net Thu May 08 00:31:26 2003 Return-Path: <modperlnrice@example.net> Delivered-To: nrice@example.net Received: (qmail 56505 invoked by uid 500); 8 May 2003 00:31:24 -0000 Mailing-List: contact nrice@example.net; run by ezmlm Precedence: bulk list-help: <mailto:nrice@example.net> list-unsubscribe: <mailto:nrice@example.net> list-post: <mailto:nrice@example.net> Reply-To: nrice@example.net Delivered-To: mailing list nrice@example.net Received: (qmail 56444 invoked by uid 500); 8 May 2003 00:31:23 -0000 Delivered-To: nrice@example.net Date: 8 May 2003 00:31:27 -0000 Message-ID: <nrice@example.net> From: nrice@example.net To: nrice@example.net Subject: cvs commit: modperl-2.0 Changes X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N stas 2003/05/07 17:31:27 Modified: lib/Apache Reload.pm . Changes Log: Fix Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Reload to gracefully handle the case with empty Touchfiles Submitted by: Dmitri Tikhonov <nrice@example.net> Revision Changes Path 1.10 +2 -2 modperl-2.0/lib/Apache/Reload.pm Index: Reload.pm =================================================================== RCS file: /home/cvs/modperl-2.0/lib/Apache/Reload.pm,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- Reload.pm 17 Feb 2003 09:39:54 -0000 1.9 +++ Reload.pm 8 May 2003 00:31:27 -0000 1.10 @@ -5,7 +5,7 @@ use mod_perl 1.99; -our $VERSION = '0.08'; +our $VERSION = '0.09'; use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Const -compile => qw(OK); @@ -72,7 +72,7 @@ $TouchTime = $touch_mtime; open my $fh, $TouchFile or die "Can't open '$TouchFile': $!"; $TouchModules = <$fh>; - chomp $TouchModules; + chomp $TouchModules if $TouchModules; } if (ref($o) && (lc($o->dir_config("ReloadAll") || 'on') eq 'on')) { 1.183 +3 -0 modperl-2.0/Changes Index: Changes =================================================================== RCS file: /home/cvs/modperl-2.0/Changes,v retrieving revision 1.182 retrieving revision 1.183 diff -u -r1.182 -r1.183 --- Changes 2 May 2003 01:35:03 -0000 1.182 +++ Changes 8 May 2003 00:31:27 -0000 1.183 @@ -12,6 +12,9 @@ =item 1.99_10-dev +Fix Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Reload to gracefully handle the case with empty Touchfiles +[Dmitri Tikhonov <nrice@example.net>] + PerlRequire entried should be executed before PerlModule entries in VirtualHost containers, just like in the base server [Stas] From modperlnrice@example.net Fri May 09 03:33:05 2003 Return-Path: <modperlnrice@example.net> Delivered-To: nrice@example.net Received: (qmail 49440 invoked by uid 500); 9 May 2003 03:33:04 -0000 Mailing-List: contact nrice@example.net; run by ezmlm Precedence: bulk list-help: <mailto:nrice@example.net> list-unsubscribe: <mailto:nrice@example.net> list-post: <mailto:nrice@example.net> Reply-To: nrice@example.net Delivered-To: mailing list nrice@example.net Received: (qmail 49388 invoked by uid 500); 9 May 2003 03:33:03 -0000 Delivered-To: nrice@example.net Date: 9 May 2003 03:33:02 -0000 Message-ID: <nrice@example.net> From: nrice@example.net To: nrice@example.net Subject: cvs commit: modperl-2.0 Changes X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N stas 2003/05/08 20:33:02 Modified: src/modules/perl modperl_filter.c modperl_filter.h xs/Apache/Filter Apache__Filter.h xs/tables/current/ModPerl FunctionTable.pm . Changes Log: add the modperl_filter magic object to $f in init filter handlers, so in addition to $f->ctx, methods like $f->remove can be called Revision Changes Path 1.63 +15 -5 modperl-2.0/src/modules/perl/modperl_filter.c Index: modperl_filter.c =================================================================== RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_filter.c,v retrieving revision 1.62 retrieving revision 1.63 diff -u -r1.62 -r1.63 --- modperl_filter.c 18 Apr 2003 05:34:12 -0000 1.62 +++ modperl_filter.c 9 May 2003 03:33:01 -0000 1.63 @@ -315,6 +315,7 @@ } static int modperl_run_filter_init(ap_filter_t *f, + modperl_filter_mode_e mode, modperl_handler_t *handler) { AV *args = Nullav; @@ -333,8 +334,8 @@ "Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Filter", f, NULL); - /* XXX: do we need it? */ - /* modperl_filter_mg_set(aTHX_ AvARRAY(args)[0], filter); */ + modperl_filter_mg_set(aTHX_ AvARRAY(args)[0], + modperl_filter_new(f, NULL, mode, 0, 0, 0)); if ((status = modperl_callback(aTHX_ handler, p, r, s, args)) != OK) { status = modperl_errsv(aTHX_ status, r, s); @@ -827,7 +828,11 @@ if (handlers[i]->attrs & MP_FILTER_HAS_INIT_HANDLER && handlers[i]->next) { - int status = modperl_run_filter_init(f, handlers[i]->next); + int status = modperl_run_filter_init( + f, + (idx == MP_INPUT_FILTER_HANDLER + ? MP_INPUT_FILTER_MODE : MP_OUTPUT_FILTER_MODE), + handlers[i]->next); if (status != OK) { return status; } @@ -909,7 +914,11 @@ if (handlers[i]->attrs & MP_FILTER_HAS_INIT_HANDLER && handlers[i]->next) { - int status = modperl_run_filter_init(f, handlers[i]->next); + int status = modperl_run_filter_init( + f, + (idx == MP_INPUT_FILTER_HANDLER + ? MP_INPUT_FILTER_MODE : MP_OUTPUT_FILTER_MODE), + handlers[i]->next); if (status != OK) { return status; } @@ -968,6 +977,7 @@ void modperl_filter_runtime_add(pTHX_ request_rec *r, conn_rec *c, const char *name, + modperl_filter_mode_e mode, modperl_filter_add_t addfunc, SV *callback, const char *type) { @@ -990,7 +1000,7 @@ } if (handler->attrs & MP_FILTER_HAS_INIT_HANDLER && handler->next) { - int status = modperl_run_filter_init(f, handler->next); + int status = modperl_run_filter_init(f, mode, handler->next); if (status != OK) { /* XXX */ } 1.24 +1 -0 modperl-2.0/src/modules/perl/modperl_filter.h Index: modperl_filter.h =================================================================== RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_filter.h,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- modperl_filter.h 17 Apr 2003 08:04:47 -0000 1.23 +++ modperl_filter.h 9 May 2003 03:33:01 -0000 1.24 @@ -93,6 +93,7 @@ void modperl_filter_runtime_add(pTHX_ request_rec *r, conn_rec *c, const char *name, + modperl_filter_mode_e mode, modperl_filter_add_t addfunc, SV *callback, const char *type); 1.32 +4 -0 modperl-2.0/xs/Apache/Filter/Apache__Filter.h Index: Apache__Filter.h =================================================================== RCS file: /home/cvs/modperl-2.0/xs/Apache/Filter/Apache__Filter.h,v retrieving revision 1.31 retrieving revision 1.32 diff -u -r1.31 -r1.32 --- Apache__Filter.h 24 Apr 2003 05:00:58 -0000 1.31 +++ Apache__Filter.h 9 May 2003 03:33:01 -0000 1.32 @@ -187,6 +187,7 @@ modperl_filter_runtime_add(aTHX_ r, r->connection, MP_FILTER_REQUEST_INPUT_NAME, + MP_INPUT_FILTER_MODE, ap_add_input_filter, callback, "InputFilter"); @@ -200,6 +201,7 @@ modperl_filter_runtime_add(aTHX_ r, r->connection, MP_FILTER_REQUEST_OUTPUT_NAME, + MP_OUTPUT_FILTER_MODE, ap_add_output_filter, callback, "OutputFilter"); @@ -213,6 +215,7 @@ modperl_filter_runtime_add(aTHX_ NULL, c, MP_FILTER_CONNECTION_INPUT_NAME, + MP_INPUT_FILTER_MODE, ap_add_input_filter, callback, "InputFilter"); @@ -226,6 +229,7 @@ modperl_filter_runtime_add(aTHX_ NULL, c, MP_FILTER_CONNECTION_OUTPUT_NAME, + MP_OUTPUT_FILTER_MODE, ap_add_output_filter, callback, "OutputFilter"); 1.113 +4 -0 modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm Index: FunctionTable.pm =================================================================== RCS file: /home/cvs/modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm,v retrieving revision 1.112 retrieving revision 1.113 diff -u -r1.112 -r1.113 --- FunctionTable.pm 16 Apr 2003 03:03:35 -0000 1.112 +++ FunctionTable.pm 9 May 2003 03:33:02 -0000 1.113 @@ -302,6 +302,10 @@ 'name' => 'name' }, { + 'type' => 'modperl_filter_mode_e', + 'name' => 'mode' + }, + { 'type' => 'modperl_filter_add_t', 'name' => 'addfunc' }, 1.184 +2 -0 modperl-2.0/Changes Index: Changes =================================================================== RCS file: /home/cvs/modperl-2.0/Changes,v retrieving revision 1.183 retrieving revision 1.184 diff -u -r1.183 -r1.184 --- Changes 8 May 2003 00:31:27 -0000 1.183 +++ Changes 9 May 2003 03:33:02 -0000 1.184 @@ -12,6 +12,8 @@ =item 1.99_10-dev +allow init filter handlers to call other methods than just $f->ctx [Stas] + Fix Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Reload to gracefully handle the case with empty Touchfiles [Dmitri Tikhonov <nrice@example.net>] From modperlnrice@example.net Fri May 09 03:33:39 2003 Return-Path: <modperlnrice@example.net> Delivered-To: nrice@example.net Received: (qmail 51237 invoked by uid 500); 9 May 2003 03:33:38 -0000 Mailing-List: contact nrice@example.net; run by ezmlm Precedence: bulk list-help: <mailto:nrice@example.net> list-unsubscribe: <mailto:nrice@example.net> list-post: <mailto:nrice@example.net> Reply-To: nrice@example.net Delivered-To: mailing list nrice@example.net Received: (qmail 51226 invoked by uid 500); 9 May 2003 03:33:38 -0000 Delivered-To: nrice@example.net Date: 9 May 2003 03:33:37 -0000 Message-ID: <nrice@example.net> From: nrice@example.net To: nrice@example.net Subject: cvs commit: modperl-2.0/t/filter/TestFilter in_init_basic.pm X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N stas 2003/05/08 20:33:37 Modified: t/filter/TestFilter in_init_basic.pm Log: test that we can call $f->remove in init filter handlers Revision Changes Path 1.2 +12 -2 modperl-2.0/t/filter/TestFilter/in_init_basic.pm Index: in_init_basic.pm =================================================================== RCS file: /home/cvs/modperl-2.0/t/filter/TestFilter/in_init_basic.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- in_init_basic.pm 17 Apr 2003 08:04:47 -0000 1.1 +++ in_init_basic.pm 9 May 2003 03:33:37 -0000 1.2 @@ -18,7 +18,7 @@ # this filter is expected to be called once # it'll set a note, with the count -sub init : FilterInitHandler { +sub transparent_init : FilterInitHandler { my $filter = shift; my $ctx = $filter->ctx; @@ -32,7 +32,7 @@ # this filter passes the data through unmodified and sets a note # counting how many times it was invoked sub transparent : FilterRequestHandler - FilterHasInitHandler(\&init) + FilterHasInitHandler(\&transparent_init) { my ($filter, $bb, $mode, $block, $readbytes) = @_; @@ -47,6 +47,15 @@ return Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4OK; } + + +# this filter is not supposed to get a chance to run, since its init +# handler immediately removes it +sub suicide_init : FilterInitHandler { shift->remove(); Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4OK } +sub suicide : FilterHasInitHandler(\&suicide_init) { + die "this filter is not supposed to have a chance to run"; +} + sub response { my $r = shift; @@ -67,4 +76,5 @@ SetHandler modperl PerlModule TestFilter888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4in_init_basic PerlResponseHandler TestFilter888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4in_init_basi888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4response +PerlInputFilterHandler TestFilter888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4in_init_basi888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4suicide PerlInputFilterHandler TestFilter888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4in_init_basi888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4transparent From modperlnrice@example.net Sun May 11 22:59:23 2003 Return-Path: <modperlnrice@example.net> Delivered-To: nrice@example.net Received: (qmail 15227 invoked by uid 500); 11 May 2003 22:59:23 -0000 Mailing-List: contact nrice@example.net; run by ezmlm Precedence: bulk list-help: <mailto:nrice@example.net> list-unsubscribe: <mailto:nrice@example.net> list-post: <mailto:nrice@example.net> Reply-To: nrice@example.net Delivered-To: mailing list nrice@example.net Received: (qmail 15216 invoked by uid 500); 11 May 2003 22:59:23 -0000 Delivered-To: nrice@example.net Date: 11 May 2003 22:59:22 -0000 Message-ID: <nrice@example.net> From: nrice@example.net To: nrice@example.net Subject: cvs commit: modperl-2.0/t/filter in_bbs_msg.t in_str_msg.t X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N stas 2003/05/11 15:59:21 Modified: t/filter in_bbs_msg.t in_str_msg.t Log: - get rid of the http://hostname:port in the GET request, as some lwp's fail to remove it from the GET line - replace manually coded exception handling with GET_BODY_ASSERT macro Revision Changes Path 1.4 +2 -9 modperl-2.0/t/filter/in_bbs_msg.t Index: in_bbs_msg.t =================================================================== RCS file: /home/cvs/modperl-2.0/t/filter/in_bbs_msg.t,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- in_bbs_msg.t 18 Apr 2003 06:18:56 -0000 1.3 +++ in_bbs_msg.t 11 May 2003 22:59:21 -0000 1.4 @@ -1,7 +1,7 @@ use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Test (); use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestUtil; -use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestRequest 'GET'; +use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestRequest 'GET_BODY_ASSERT'; my $module = 'TestFilter888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4in_bbs_msg'; @@ -12,11 +12,4 @@ my $hostport = Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestRequest888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4hostport($config); t_debug("connecting to $hostport"); -my $res = GET "http://$hostport/input_filter.html"; -if ($res->is_success) { - print $res->content; -} -else { - die "server side has failed (response code: ", $res->code, "),\n", - "see t/logs/error_log for more details\n"; -} +print GET_BODY_ASSERT "/input_filter.html"; 1.3 +2 -10 modperl-2.0/t/filter/in_str_msg.t Index: in_str_msg.t =================================================================== RCS file: /home/cvs/modperl-2.0/t/filter/in_str_msg.t,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- in_str_msg.t 2 Apr 2003 03:01:27 -0000 1.2 +++ in_str_msg.t 11 May 2003 22:59:21 -0000 1.3 @@ -1,7 +1,7 @@ use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Test (); use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestUtil; -use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestRequest 'GET'; +use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestRequest 'GET_BODY_ASSERT'; my $module = 'TestFilter888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4in_str_msg'; @@ -12,12 +12,4 @@ my $hostport = Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestRequest888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4hostport($config); t_debug("connecting to $hostport"); -my $res = GET "/input_filter.html"; -if ($res->is_success) { - print $res->content; -} -else { - die "server side has failed (response code: ", $res->code, "),\n", - "see t/logs/error_log for more details\n"; -} - +print GET_BODY_ASSERT "/input_filter.html"; From modperlnrice@example.net Sun May 11 23:08:53 2003 Return-Path: <modperlnrice@example.net> Delivered-To: nrice@example.net Received: (qmail 20163 invoked by uid 500); 11 May 2003 23:08:53 -0000 Mailing-List: contact nrice@example.net; run by ezmlm Precedence: bulk list-help: <mailto:nrice@example.net> list-unsubscribe: <mailto:nrice@example.net> list-post: <mailto:nrice@example.net> Reply-To: nrice@example.net Delivered-To: mailing list nrice@example.net Received: (qmail 20145 invoked by uid 500); 11 May 2003 23:08:53 -0000 Delivered-To: nrice@example.net Date: 11 May 2003 23:08:51 -0000 Message-ID: <nrice@example.net> From: nrice@example.net To: nrice@example.net Subject: cvs commit: modperl-2.0/t/filter in_str_declined.t X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N stas 2003/05/11 16:08:51 Modified: t/apache add_config.t t/filter in_str_declined.t Log: replace manually coded exception handling with _BODY_ASSERT macro Revision Changes Path 1.2 +2 -9 modperl-2.0/t/apache/add_config.t Index: add_config.t =================================================================== RCS file: /home/cvs/modperl-2.0/t/apache/add_config.t,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- add_config.t 25 Mar 2003 04:49:05 -0000 1.1 +++ add_config.t 11 May 2003 23:08:51 -0000 1.2 @@ -1,12 +1,5 @@ # the handler is configured in modperl_extra.pl via # Apache->server->add_config -use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestRequest 'GET'; +use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestRequest 'GET_BODY_ASSERT'; -my $res = GET "/apache/add_config"; -if ($res->is_success) { - print $res->content; -} -else { - die "server side has failed (response code: ", $res->code, "),\n", - "see t/logs/error_log for more details\n"; -} +print GET_BODY_ASSERT "/apache/add_config"; 1.3 +2 -10 modperl-2.0/t/filter/in_str_declined.t Index: in_str_declined.t =================================================================== RCS file: /home/cvs/modperl-2.0/t/filter/in_str_declined.t,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- in_str_declined.t 18 Apr 2003 06:18:56 -0000 1.2 +++ in_str_declined.t 11 May 2003 23:08:51 -0000 1.3 @@ -1,19 +1,11 @@ use strict; use warnings FATAL => 'all'; -use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestRequest; +use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestRequest 'POST_BODY_ASSERT';; my $location = '/TestFilter__in_str_declined'; my $chunk = "1234567890"; my $data = $chunk x 2000; -my $res = POST $location, content => $data; - -if ($res->is_success) { - print $res->content; -} -else { - die "server side has failed (response code: ", $res->code, "),\n", - "see t/logs/error_log for more details\n"; -} +print POST_BODY_ASSERT $location, content => $data; From modperlnrice@example.net Sun May 11 23:51:13 2003 Return-Path: <modperlnrice@example.net> Delivered-To: nrice@example.net Received: (qmail 34643 invoked by uid 500); 11 May 2003 23:51:12 -0000 Mailing-List: contact nrice@example.net; run by ezmlm Precedence: bulk list-help: <mailto:nrice@example.net> list-unsubscribe: <mailto:nrice@example.net> list-post: <mailto:nrice@example.net> Reply-To: nrice@example.net Delivered-To: mailing list nrice@example.net Received: (qmail 34628 invoked by uid 500); 11 May 2003 23:51:12 -0000 Delivered-To: nrice@example.net Date: 11 May 2003 23:51:11 -0000 Message-ID: <nrice@example.net> From: nrice@example.net To: nrice@example.net Subject: cvs commit: modperl-2.0/t/filter/TestFilter both_str_con_add.pm X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N stas 2003/05/11 16:51:11 Modified: t/filter both_str_con_add.t t/filter/TestFilter both_str_con_add.pm Log: correct the module name to use 888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4 and not __ Revision Changes Path 1.3 +1 -1 modperl-2.0/t/filter/both_str_con_add.t Index: both_str_con_add.t =================================================================== RCS file: /home/cvs/modperl-2.0/t/filter/both_str_con_add.t,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- both_str_con_add.t 18 Apr 2003 06:18:56 -0000 1.2 +++ both_str_con_add.t 11 May 2003 23:51:11 -0000 1.3 @@ -9,7 +9,7 @@ plan tests => 1 + @test_strings; -my $module = "TestFilter__both_str_con_add"; +my $module = "TestFilter888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4oth_str_con_add"; my $socket = Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestRequest888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4vhost_socket($module); ok $socket; 1.6 +1 -1 modperl-2.0/t/filter/TestFilter/both_str_con_add.pm Index: both_str_con_add.pm =================================================================== RCS file: /home/cvs/modperl-2.0/t/filter/TestFilter/both_str_con_add.pm,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- both_str_con_add.pm 18 Apr 2003 06:18:57 -0000 1.5 +++ both_str_con_add.pm 11 May 2003 23:51:11 -0000 1.6 @@ -78,7 +78,7 @@ 1; __END__ <NoAutoConfig> - <VirtualHost TestFilter__both_str_con_add> + <VirtualHost TestFilter888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4oth_str_con_add> PerlModule TestFilter888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4oth_str_con_add PerlPreConnectionHandler TestFilter888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4oth_str_con_888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4pre_connection PerlProcessConnectionHandler TestFilter888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4oth_str_con_add From modperlnrice@example.net Mon May 12 00:11:26 2003 Return-Path: <modperlnrice@example.net> Delivered-To: nrice@example.net Received: (qmail 40968 invoked by uid 500); 12 May 2003 00:11:25 -0000 Mailing-List: contact nrice@example.net; run by ezmlm Precedence: bulk list-help: <mailto:nrice@example.net> list-unsubscribe: <mailto:nrice@example.net> list-post: <mailto:nrice@example.net> Reply-To: nrice@example.net Delivered-To: mailing list nrice@example.net Received: (qmail 40957 invoked by uid 500); 12 May 2003 00:11:25 -0000 Delivered-To: nrice@example.net Date: 12 May 2003 00:11:24 -0000 Message-ID: <nrice@example.net> From: nrice@example.net To: nrice@example.net Subject: cvs commit: modperl-2.0 STATUS Changes X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N stas 2003/05/11 17:11:24 Modified: xs/APR/PerlIO apr_perlio.c . STATUS Changes Log: perl 5.8.0 forgets to export PerlIOBase_noop_fail, causing problems on win32 and aix. reimplement this function locally to solve the problem. APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4PerlIO should now be useful on win32 and aix Revision Changes Path 1.26 +8 -9 modperl-2.0/xs/APR/PerlIO/apr_perlio.c Index: apr_perlio.c =================================================================== RCS file: /home/cvs/modperl-2.0/xs/APR/PerlIO/apr_perlio.c,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- apr_perlio.c 15 Apr 2003 01:17:24 -0000 1.25 +++ apr_perlio.c 12 May 2003 00:11:24 -0000 1.26 @@ -372,6 +372,12 @@ return -1; } +/* 5.8.0 doesn't export PerlIOBase_noop_fail, so we duplicate it here */ +static IV PerlIOAPR_noop_fail(pTHX_ PerlIO *f) +{ + return -1; +} + static PerlIO_funcs PerlIO_APR = { sizeof(PerlIO_funcs), "APR", @@ -391,7 +397,7 @@ PerlIOAPR_tell, PerlIOAPR_close, PerlIOAPR_flush, /* flush */ - PerlIOBase_noop_fail, /* fill */ + PerlIOAPR_noop_fail, /* fill */ PerlIOAPR_eof, PerlIOBase_error, PerlIOBase_clearerr, @@ -502,7 +508,7 @@ type); } -#elif !defined(PERLIO_LAYERS) && !defined(WIN32) /* NOT PERLIO_LAYERS (5.6.1) */ +#else /* NOT PERLIO_LAYERS (5.6.1) */ static FILE *apr_perlio_apr_file_to_FILE(pTHX_ apr_file_t *file, apr_perlio_hook_e type) @@ -584,13 +590,6 @@ void apr_perlio_init(pTHX) { APR_REGISTER_OPTIONAL_FN(apr_perlio_apr_file_to_glob); -} - -#else - -void apr_perlio_init(pTHX) -{ - Perl_croak(aTHX_ "APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4PerlIO not usable with this version of Perl"); } #endif /* PERLIO_LAYERS */ 1.52 +1 -9 modperl-2.0/STATUS Index: STATUS =================================================================== RCS file: /home/cvs/modperl-2.0/STATUS,v retrieving revision 1.51 retrieving revision 1.52 diff -u -r1.51 -r1.52 --- STATUS 22 Apr 2003 06:12:47 -0000 1.51 +++ STATUS 12 May 2003 00:11:24 -0000 1.52 @@ -70,14 +70,6 @@ symbol resolution at linking time, but I had not much success with using this approach (dlopen fails). - win32 and aix have a problem with PerlIOBase_noop_fail symbol not - being exported by libperl.so, used in apr_perlio.c (both platforms - need symbol export files. So currently win32 simply can't use - APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4PerlIO and should be fixed. Notice that perl doesn't export - any of the PerlIOBase_* symbols. If that's the intention of not - exposing the internal API, we need to find a way not to use the - PerlIOBase_* symbols in apr_perlio.c - * we have a dependency check problem when xs/*/*.h use code from xs/modperl_xs*.h, when the latter change 'make' won't rebuild the dependant files 1.185 +4 -0 modperl-2.0/Changes Index: Changes =================================================================== RCS file: /home/cvs/modperl-2.0/Changes,v retrieving revision 1.184 retrieving revision 1.185 diff -u -r1.184 -r1.185 --- Changes 9 May 2003 03:33:02 -0000 1.184 +++ Changes 12 May 2003 00:11:24 -0000 1.185 @@ -12,6 +12,10 @@ =item 1.99_10-dev +perl 5.8.0 forgets to export PerlIOBase_noop_fail, causing problems on +win32 and aix. reimplement this function locally to solve the +problem. APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4PerlIO should now be useful on win32 and aix [Stas] + allow init filter handlers to call other methods than just $f->ctx [Stas] Fix Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Reload to gracefully handle the case with empty Touchfiles From modperlnrice@example.net Mon May 12 04:04:19 2003 Return-Path: <modperlnrice@example.net> Delivered-To: nrice@example.net Received: (qmail 27747 invoked by uid 500); 12 May 2003 04:04:19 -0000 Mailing-List: contact nrice@example.net; run by ezmlm Precedence: bulk list-help: <mailto:nrice@example.net> list-unsubscribe: <mailto:nrice@example.net> list-post: <mailto:nrice@example.net> Reply-To: nrice@example.net Delivered-To: mailing list nrice@example.net Received: (qmail 27736 invoked by uid 500); 12 May 2003 04:04:19 -0000 Delivered-To: nrice@example.net Date: 12 May 2003 04:04:17 -0000 Message-ID: <nrice@example.net> From: nrice@example.net To: nrice@example.net Subject: cvs commit: modperl-2.0/lib/ModPerl BuildMM.pm X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N randyk 2003/05/11 21:04:17 Modified: lib/ModPerl BuildMM.pm Log: APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4PerlIO now links OK on Win32. Revision Changes Path 1.8 +0 -4 modperl-2.0/lib/ModPerl/BuildMM.pm Index: BuildMM.pm =================================================================== RCS file: /home/cvs/modperl-2.0/lib/ModPerl/BuildMM.pm,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- BuildMM.pm 27 Mar 2003 01:17:33 -0000 1.7 +++ BuildMM.pm 12 May 2003 04:04:17 -0000 1.8 @@ -252,10 +252,6 @@ sub ModPerl888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4uildMM888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4MY888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4libscan { my($self, $path) = @_; - if (Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Buil888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4WIN32() and $path eq 'PerlIO') { - return ''; #XXX: APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4PerlIO does not link on win32 - } - my $apr_config = build_config()->get_apr_config(); if ($path =~ m/(Thread|Global)Mutex/) { From modperlnrice@example.net Mon May 12 06:37:16 2003 Return-Path: <modperlnrice@example.net> Delivered-To: nrice@example.net Received: (qmail 85225 invoked by uid 500); 12 May 2003 06:37:15 -0000 Mailing-List: contact nrice@example.net; run by ezmlm Precedence: bulk list-help: <mailto:nrice@example.net> list-unsubscribe: <mailto:nrice@example.net> list-post: <mailto:nrice@example.net> Reply-To: nrice@example.net Delivered-To: mailing list nrice@example.net Received: (qmail 85212 invoked by uid 500); 12 May 2003 06:37:15 -0000 Delivered-To: nrice@example.net Date: 12 May 2003 06:37:13 -0000 Message-ID: <nrice@example.net> From: nrice@example.net To: nrice@example.net Subject: cvs commit: modperl-2.0/xs/APR/PerlIO Makefile.PL X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N stas 2003/05/11 23:37:13 Modified: . Changes STATUS lib/Apache Build.pm lib/ModPerl Manifest.pm xs/APR/PerlIO Makefile.PL Log: an attempt to resolve the binary compatibility problem in PerlIOAPR_seek API when APR_HAS_LARGE_FILES=0, by compiling APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4PerlIO objects with Config{ccflags_uselargefiles} flags Revision Changes Path 1.186 +3 -0 modperl-2.0/Changes Index: Changes =================================================================== RCS file: /home/cvs/modperl-2.0/Changes,v retrieving revision 1.185 retrieving revision 1.186 diff -u -r1.185 -r1.186 --- Changes 12 May 2003 00:11:24 -0000 1.185 +++ Changes 12 May 2003 06:37:12 -0000 1.186 @@ -12,6 +12,9 @@ =item 1.99_10-dev +an attempt to resolve the binary compatibility problem in +PerlIOAPR_seek API when APR_HAS_LARGE_FILES=0 [Stas] + perl 5.8.0 forgets to export PerlIOBase_noop_fail, causing problems on win32 and aix. reimplement this function locally to solve the problem. APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4PerlIO should now be useful on win32 and aix [Stas] 1.53 +1 -4 modperl-2.0/STATUS Index: STATUS =================================================================== RCS file: /home/cvs/modperl-2.0/STATUS,v retrieving revision 1.52 retrieving revision 1.53 diff -u -r1.52 -r1.53 --- STATUS 12 May 2003 00:11:24 -0000 1.52 +++ STATUS 12 May 2003 06:37:12 -0000 1.53 @@ -58,9 +58,6 @@ 'Fil888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Find' and search for 'mod_perl.pm' under PREFIX, if found check its version and assert only if it's 1.xx -* apr/perlio.t t7 fails with blead perl w/o ithreads - http://nrice@example.net/msg93164.html - * we have shared lib loading problems on the following platforms: OpenBSD - needs investigation 1.122 +21 -4 modperl-2.0/lib/Apache/Build.pm Index: Build.pm =================================================================== RCS file: /home/cvs/modperl-2.0/lib/Apache/Build.pm,v retrieving revision 1.121 retrieving revision 1.122 diff -u -r1.121 -r1.122 --- Build.pm 22 Apr 2003 08:32:59 -0000 1.121 +++ Build.pm 12 May 2003 06:37:13 -0000 1.122 @@ -874,7 +874,7 @@ my %wanted_apr_config = map { $_, 1} qw( HAS_THREADS HAS_DSO HAS_MMAP HAS_RANDOM HAS_SENDFILE - HAS_INLINE HAS_FORK + HAS_LARGE_FILES HAS_INLINE HAS_FORK ); sub get_apr_config { @@ -1332,12 +1332,29 @@ "@includes"; } -#XXX: +# there is no conflict if both libraries either have or don't have +# large files support enabled +sub has_large_files_conflict { + my $self = shift; + my $apr_config = $self->get_apr_config(); + + my $perl = $Config{uselargefiles} ? 1 : 0; + my $apr = $apr_config->{HAS_LARGE_FILES} ? 1 : 0; + + return $perl ^ $apr; +} + +# if perl is built with uselargefiles, but apr not, the build won't +# work together as it uses two binary incompatible libraries, so +# reduce the functionality to the greatest common denominator (C code +# will have to make sure to prevent any operations that may rely on +# effects created by uselargefiles, e.g. Off_t=8 instead of Off_t=4) sub strip_lfs { my($self, $cflags) = @_; - return $cflags unless $Config{uselargefiles}; + return $cflags unless $self->has_large_files_conflict(); + my $lf = $Config{ccflags_uselargefiles} - || '-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'; + || '-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'; $cflags =~ s/$lf//; $cflags; } 1.6 +0 -2 modperl-2.0/lib/ModPerl/Manifest.pm Index: Manifest.pm =================================================================== RCS file: /home/cvs/modperl-2.0/lib/ModPerl/Manifest.pm,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- Manifest.pm 23 Apr 2003 04:17:52 -0000 1.5 +++ Manifest.pm 12 May 2003 06:37:13 -0000 1.6 @@ -90,8 +90,6 @@ patches/ #very few will have Chatbot888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4liza installed eliza -# fails with blead perl w/o useithreads -t/response/TestAPR/perlio.pm # segfaults with blead perl t/filter/TestFilter/out_str_req_mix.pm t/filter/out_str_req_mix.t 1.3 +28 -2 modperl-2.0/xs/APR/PerlIO/Makefile.PL Index: Makefile.PL =================================================================== RCS file: /home/cvs/modperl-2.0/xs/APR/PerlIO/Makefile.PL,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- Makefile.PL 22 Mar 2003 07:21:37 -0000 1.2 +++ Makefile.PL 12 May 2003 06:37:13 -0000 1.3 @@ -1,8 +1,34 @@ use lib qw(../lib); use ModPerl888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4uildMM (); +use Config; +use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Build; +use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestTrace; +my $build = Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Build->build_config(); + +my $ccopts = $build->ccopts; + +# when uselargefiles is on, -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 +# are needed to get the right 'Off_t', without which perlio compiled +# with Off_t as 'long long int', doesn't quite work with apr_perlio.c +# compiled with Off_t as 'long int' +# +# On the other handl if apr is built without large files support, we +# have binary compatibility problems, if we try to build mod_perl with +# -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 +# +# XXX: it seems that enabling these flags only for apr_perlio/PerlIO +# seems to do the trick +if ($build->has_large_files_conflict) { + $ccopts .= $Config{uselargefiles} + ? ' ' . $Config{ccflags_uselargefiles} + : ''; +} + ModPerl888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4uildMM888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4WriteMakefile( - NAME => 'APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4PerlIO', + NAME => 'APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4PerlIO', VERSION_FROM => 'PerlIO.pm', - OBJECT => 'PerlIO.o apr_perlio.o'); + CCFLAGS => $ccopts, + OBJECT => 'PerlIO.o apr_perlio.o' +); From modperlnrice@example.net Mon May 12 13:00:27 2003 Return-Path: <modperlnrice@example.net> Delivered-To: nrice@example.net Received: (qmail 4826 invoked by uid 500); 12 May 2003 13:00:27 -0000 Mailing-List: contact nrice@example.net; run by ezmlm Precedence: bulk list-help: <mailto:nrice@example.net> list-unsubscribe: <mailto:nrice@example.net> list-post: <mailto:nrice@example.net> Reply-To: nrice@example.net Delivered-To: mailing list nrice@example.net Received: (qmail 4815 invoked by uid 500); 12 May 2003 13:00:26 -0000 Delivered-To: nrice@example.net Date: 12 May 2003 13:00:17 -0000 Message-ID: <nrice@example.net> From: nrice@example.net To: nrice@example.net Subject: cvs commit: modperl-2.0/xs/tables/current/ModPerl FunctionTable.pm X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N geoff 2003/05/12 06:00:16 Modified: lib/Apache ParseSource.pm lib/ModPerl Code.pm src/modules/perl modperl_const.c modperl_module.c t/apache constants.t xs/tables/current/Apache ConstantsTable.pm xs/tables/current/ModPerl FunctionTable.pm Log: implement DECLINE_CMD and DIR_MAGIC_TYPE constants Submitted by: geoff Reviewed by: stas, gozer Revision Changes Path 1.43 +2 -2 modperl-2.0/lib/Apache/ParseSource.pm Index: ParseSource.pm =================================================================== RCS file: /home/cvs/modperl-2.0/lib/Apache/ParseSource.pm,v retrieving revision 1.42 retrieving revision 1.43 diff -u -r1.42 -r1.43 --- ParseSource.pm 15 Apr 2003 02:22:41 -0000 1.42 +++ ParseSource.pm 12 May 2003 13:00:15 -0000 1.43 @@ -156,8 +156,8 @@ satisfy => [qw{SATISFY_}], remotehost => [qw{REMOTE_}], http => [qw{HTTP_}], -# config => [qw{DECLINE_CMD}], -# types => [qw{DIR_MAGIC_TYPE}], + config => [qw{DECLINE_CMD}], + types => [qw{DIR_MAGIC_TYPE}], override => [qw{OR_ ACCESS_CONF RSRC_CONF}], log => [qw(APLOG_)], }, 1.97 +16 -3 modperl-2.0/lib/ModPerl/Code.pm Index: Code.pm =================================================================== RCS file: /home/cvs/modperl-2.0/lib/ModPerl/Code.pm,v retrieving revision 1.96 retrieving revision 1.97 diff -u -r1.96 -r1.97 --- Code.pm 24 Apr 2003 01:51:37 -0000 1.96 +++ Code.pm 12 May 2003 13:00:15 -0000 1.97 @@ -769,7 +769,7 @@ my $package_len = length $package; my $func = canon_func(qw(constants lookup), $postfix); - my $proto = "int $func(const char *name)"; + my $proto = "SV \*$func(pTHX_ const char *name)"; print $h_fh "$proto;\n"; @@ -804,7 +804,20 @@ print $c_fh <<EOF; $ifdef[0] if (strEQ(name, "$name")) { - return $alias{$name}; +EOF + + if ($name eq 'DECLINE_CMD' || $name eq 'DIR_MAGIC_TYPE') { + print $c_fh <<EOF; + return newSVpv($alias{$name}, 0); +EOF + } + else { + print $c_fh <<EOF; + return newSViv($alias{$name}); +EOF + } + + print $c_fh <<EOF; } $ifdef[1] EOF @@ -815,7 +828,7 @@ print $c_fh <<EOF }; Perl_croak_nocontext("unknown constant %s", name); - return MP_ENOCONST; + return newSViv(MP_ENOCONST); } EOF } 1.9 +5 -5 modperl-2.0/src/modules/perl/modperl_const.c Index: modperl_const.c =================================================================== RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_const.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- modperl_const.c 22 Oct 2001 05:42:23 -0000 1.8 +++ modperl_const.c 12 May 2003 13:00:15 -0000 1.9 @@ -1,27 +1,27 @@ #include "mod_perl.h" #include "modperl_const.h" -typedef int (*constants_lookup)(const char *); +typedef SV *(*constants_lookup)(pTHX_ const char *); typedef const char ** (*constants_group_lookup)(const char *); -static int new_constsub(pTHX_ constants_lookup lookup, +static SV *new_constsub(pTHX_ constants_lookup lookup, HV *caller_stash, HV *stash, const char *name) { int name_len = strlen(name); GV **gvp = (GV **)hv_fetch(stash, name, name_len, TRUE); - int val; + SV *val; /* dont redefine */ if (!isGV(*gvp) || !GvCV(*gvp)) { - val = (*lookup)(name); + val = (*lookup)(aTHX_ name); #if 0 fprintf(stderr, "newCONSTSUB(%s, %s, %d)\n", HvNAME(stash), name, val); #endif - newCONSTSUB(stash, (char *)name, newSViv(val)); + newCONSTSUB(stash, (char *)name, val); #ifdef GvSHARED GvSHARED_on(*gvp); #endif 1.13 +2 -2 modperl-2.0/src/modules/perl/modperl_module.c Index: modperl_module.c =================================================================== RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_module.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- modperl_module.c 14 Apr 2003 06:38:50 -0000 1.12 +++ modperl_module.c 12 May 2003 13:00:15 -0000 1.13 @@ -669,7 +669,7 @@ } else { cmd->args_how = - modperl_constants_lookup_apache(SvPV(val, len)); + SvIV(modperl_constants_lookup_apache(aTHX_ SvPV(val, len))); } } @@ -695,7 +695,7 @@ } else { cmd->req_override = - modperl_constants_lookup_apache(SvPV(val, len)); + SvIV(modperl_constants_lookup_apache(aTHX_ SvPV(val, len))); } } 1.6 +5 -2 modperl-2.0/t/apache/constants.t Index: constants.t =================================================================== RCS file: /home/cvs/modperl-2.0/t/apache/constants.t,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- constants.t 18 May 2002 02:29:44 -0000 1.5 +++ constants.t 12 May 2003 13:00:15 -0000 1.6 @@ -5,10 +5,11 @@ use Test; use Apache2 (); -use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Const -compile => qw(DECLINED :http :common TAKE23 &OPT_EXECCGI); +use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Const -compile => qw(DECLINED :http :common TAKE23 &OPT_EXECCGI + DECLINE_CMD DIR_MAGIC_TYPE); use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Const; #defaults to :common -plan tests => 13; +plan tests => 15; ok REDIRECT == 302; ok AUTH_REQUIRED == 401; @@ -17,6 +18,8 @@ ok Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4DECLINED == -1; ok Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4HTTP_GONE == 410; ok Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4OPT_EXECCGI; +ok Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4DECLINE_CMD eq "\x07\x08"; +ok Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4DIR_MAGIC_TYPE eq "httpd/unix-directory"; ok ! defined &M_GET; Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Const->import('M_GET'); 1.28 +6 -0 modperl-2.0/xs/tables/current/Apache/ConstantsTable.pm Index: ConstantsTable.pm =================================================================== RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/ConstantsTable.pm,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- ConstantsTable.pm 24 Aug 2002 17:14:39 -0000 1.27 +++ ConstantsTable.pm 12 May 2003 13:00:15 -0000 1.28 @@ -143,6 +143,12 @@ 'HTTP_INSUFFICIENT_STORAGE', 'HTTP_NOT_EXTENDED' ], + 'config' => [ + 'DECLINE_CMD' + ], + 'types' => [ + 'DIR_MAGIC_TYPE' + ], 'filter_type' => [ 'AP_FTYPE_RESOURCE', 'AP_FTYPE_CONTENT_SET', 1.114 +2 -2 modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm Index: FunctionTable.pm =================================================================== RCS file: /home/cvs/modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm,v retrieving revision 1.113 retrieving revision 1.114 diff -u -r1.113 -r1.114 --- FunctionTable.pm 9 May 2003 03:33:02 -0000 1.113 +++ FunctionTable.pm 12 May 2003 13:00:15 -0000 1.114 @@ -1473,7 +1473,7 @@ ] }, { - 'return_type' => 'int', + 'return_type' => 'SV *', 'name' => 'modperl_constants_lookup_apache', 'args' => [ { @@ -1483,7 +1483,7 @@ ] }, { - 'return_type' => 'int', + 'return_type' => 'SV *', 'name' => 'modperl_constants_lookup_apr', 'args' => [ { From modperlnrice@example.net Tue May 13 01:06:50 2003 Return-Path: <modperlnrice@example.net> Delivered-To: nrice@example.net Received: (qmail 58366 invoked by uid 500); 13 May 2003 01:06:50 -0000 Mailing-List: contact nrice@example.net; run by ezmlm Precedence: bulk list-help: <mailto:nrice@example.net> list-unsubscribe: <mailto:nrice@example.net> list-post: <mailto:nrice@example.net> Reply-To: nrice@example.net Delivered-To: mailing list nrice@example.net Received: (qmail 58355 invoked by uid 500); 13 May 2003 01:06:49 -0000 Delivered-To: nrice@example.net Date: 13 May 2003 01:06:47 -0000 Message-ID: <nrice@example.net> From: nrice@example.net To: nrice@example.net Subject: cvs commit: modperl-2.0/t/preconnection/TestPreConnection note.pm X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N stas 2003/05/12 18:06:47 Modified: t/preconnection note.t t/preconnection/TestPreConnection note.pm Log: do something useful in the preconnection handler: retrieve the remote ip address, so we can compare it with the client's real ip address Revision Changes Path 1.3 +5 -3 modperl-2.0/t/preconnection/note.t Index: note.t =================================================================== RCS file: /home/cvs/modperl-2.0/t/preconnection/note.t,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- note.t 18 Apr 2003 06:18:58 -0000 1.2 +++ note.t 13 May 2003 01:06:46 -0000 1.3 @@ -7,12 +7,14 @@ my $module = "TestPreConnection888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4note"; Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestRequest888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4module($module); -my $hostport = Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestRequest888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4hostport(Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Test888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4onfig()); +my $config = Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Test888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4onfig(); +my $hostport = Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestRequest888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4hostport($config); my $location = "http://$hostport/" . Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestRequest888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4module2path($module); +my $remote_addr = $config->{vars}->{remote_addr}; t_debug("connecting to $location"); plan tests => 1; ok t_cmp( - 'ok', - GET_BODY($location), + $remote_addr, + GET_BODY_ASSERT($location), "connection notes"); 1.4 +3 -1 modperl-2.0/t/preconnection/TestPreConnection/note.pm Index: note.pm =================================================================== RCS file: /home/cvs/modperl-2.0/t/preconnection/TestPreConnection/note.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- note.pm 18 Apr 2003 06:18:58 -0000 1.3 +++ note.pm 13 May 2003 01:06:47 -0000 1.4 @@ -10,7 +10,9 @@ sub handler { my Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Connection $c = shift; - $c->notes->set(preconnection => 'ok'); + my $ip = $c->remote_ip; + + $c->notes->set(preconnection => $ip); return Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4OK; } From modperlnrice@example.net Tue May 13 09:13:44 2003 Return-Path: <modperlnrice@example.net> Delivered-To: nrice@example.net Received: (qmail 49326 invoked by uid 500); 13 May 2003 09:13:43 -0000 Mailing-List: contact nrice@example.net; run by ezmlm Precedence: bulk list-help: <mailto:nrice@example.net> list-unsubscribe: <mailto:nrice@example.net> list-post: <mailto:nrice@example.net> Reply-To: nrice@example.net Delivered-To: mailing list nrice@example.net Received: (qmail 49313 invoked by uid 500); 13 May 2003 09:13:43 -0000 Delivered-To: nrice@example.net Date: 13 May 2003 09:13:41 -0000 Message-ID: <nrice@example.net> From: nrice@example.net To: nrice@example.net Subject: cvs commit: modperl-2.0/t/filter/TestFilter out_str_req_mix.pm X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N stas 2003/05/13 02:13:41 Modified: t/filter/TestFilter out_str_req_mix.pm Log: correct debugging warning Revision Changes Path 1.4 +1 -1 modperl-2.0/t/filter/TestFilter/out_str_req_mix.pm Index: out_str_req_mix.pm =================================================================== RCS file: /home/cvs/modperl-2.0/t/filter/TestFilter/out_str_req_mix.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- out_str_req_mix.pm 18 Apr 2003 06:18:57 -0000 1.3 +++ out_str_req_mix.pm 13 May 2003 09:13:41 -0000 1.4 @@ -43,7 +43,7 @@ sub adjust { my $filter = shift; - #warn "add_prefix called\n"; + #warn "adjust called\n"; while ($filter->read(my $buffer, 1024)){ $buffer =~ s/REMOVE//; From modperlnrice@example.net Tue May 13 09:18:59 2003 Return-Path: <modperlnrice@example.net> Delivered-To: nrice@example.net Received: (qmail 53412 invoked by uid 500); 13 May 2003 09:18:59 -0000 Mailing-List: contact nrice@example.net; run by ezmlm Precedence: bulk list-help: <mailto:nrice@example.net> list-unsubscribe: <mailto:nrice@example.net> list-post: <mailto:nrice@example.net> Reply-To: nrice@example.net Delivered-To: mailing list nrice@example.net Received: (qmail 53399 invoked by uid 500); 13 May 2003 09:18:59 -0000 Delivered-To: nrice@example.net Date: 13 May 2003 09:18:58 -0000 Message-ID: <nrice@example.net> From: nrice@example.net To: nrice@example.net Subject: cvs commit: modperl-2.0/src/modules/perl modperl_filter.c X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N stas 2003/05/13 02:18:58 Modified: src/modules/perl modperl_filter.c Log: simplify modperl_input_filter_flush to call the appropriate eos/flush functions and add tracing from there. remove a potential problem where ->eos is reset when flush is sent Revision Changes Path 1.64 +13 -10 modperl-2.0/src/modules/perl/modperl_filter.c Index: modperl_filter.c =================================================================== RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_filter.c,v retrieving revision 1.63 retrieving revision 1.64 diff -u -r1.63 -r1.64 --- modperl_filter.c 9 May 2003 03:33:01 -0000 1.63 +++ modperl_filter.c 13 May 2003 09:18:58 -0000 1.64 @@ -39,6 +39,8 @@ apr_bucket *b = apr_bucket_eos_create(ba); APR_BRIGADE_INSERT_TAIL(filter->bb_out, b); ((modperl_filter_ctx_t *)filter->f->ctx)->sent_eos = 1; + MP_TRACE_f(MP_FUNC, MP_FILTER_NAME_FORMAT + "write out: EOS bucket\n", MP_FILTER_NAME(filter->f)); return APR_SUCCESS; } @@ -47,6 +49,8 @@ apr_bucket_alloc_t *ba = filter->f->c->bucket_alloc; apr_bucket *b = apr_bucket_flush_create(ba); APR_BRIGADE_INSERT_TAIL(filter->bb_out, b); + MP_TRACE_f(MP_FUNC, MP_FILTER_NAME_FORMAT + "write out: FLUSH bucket\n", MP_FILTER_NAME(filter->f)); return APR_SUCCESS; } @@ -653,16 +657,15 @@ /* no data should be sent after EOS has been sent */ return filter->rc; } - - if (filter->eos || filter->flush) { - MP_TRACE_f(MP_FUNC, MP_FILTER_NAME_FORMAT - "write out: %s bucket\n", - MP_FILTER_NAME(filter->f), - filter->eos ? "EOS" : "FLUSH"); - filter->rc = filter->eos ? - send_input_eos(filter) : send_input_flush(filter); - /* modperl_brigade_dump(filter->bb_out, stderr); */ - filter->flush = filter->eos = 0; + + if (filter->flush) { + filter->rc = send_input_flush(filter); + filter->flush = 0; + } + + if (filter->eos) { + filter->rc = send_input_eos(filter); + filter->eos = 0; } return filter->rc; From modperlnrice@example.net Tue May 13 09:20:35 2003 Return-Path: <modperlnrice@example.net> Delivered-To: nrice@example.net Received: (qmail 53964 invoked by uid 500); 13 May 2003 09:20:35 -0000 Mailing-List: contact nrice@example.net; run by ezmlm Precedence: bulk list-help: <mailto:nrice@example.net> list-unsubscribe: <mailto:nrice@example.net> list-post: <mailto:nrice@example.net> Reply-To: nrice@example.net Delivered-To: mailing list nrice@example.net Received: (qmail 53953 invoked by uid 500); 13 May 2003 09:20:35 -0000 Delivered-To: nrice@example.net Date: 13 May 2003 09:20:33 -0000 Message-ID: <nrice@example.net> From: nrice@example.net To: nrice@example.net Subject: cvs commit: modperl-2.0 Changes X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N stas 2003/05/13 02:20:33 Modified: t/conf modperl_extra.pl . Changes Log: $r->get_client_block is bogus in httpd-2.0.45 (and ealier), as it can't handle EOS buckets arriving in the same bucket brigade with data. so rewrite ModPerl888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Test888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4read_post to use an explicit read through all bucket brigades till it sees eos and then it stops. The code is longer but it works correctly. Revision Changes Path 1.27 +38 -10 modperl-2.0/t/conf/modperl_extra.pl Index: modperl_extra.pl =================================================================== RCS file: /home/cvs/modperl-2.0/t/conf/modperl_extra.pl,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- modperl_extra.pl 7 Apr 2003 04:44:59 -0000 1.26 +++ modperl_extra.pl 13 May 2003 09:20:33 -0000 1.27 @@ -62,23 +62,51 @@ use constant IOBUFSIZE => 8192; +use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Const -compile => qw(MODE_READBYTES); +use APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4onst -compile => qw(BLOCK_READ); + sub ModPerl888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Test888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4read_post { my $r = shift; + my $debug = shift || 0; + + my @data = (); + my $seen_eos = 0; + my $filters = $r->input_filters(); + my $ba = $r->connection->bucket_alloc; + my $bb = APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4rigade->new($r->pool, $ba); + + do { + my $rv = $filters->get_brigade($bb, + Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4MODE_READBYTES, APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4LOCK_READ, IOBUFSIZE); + if ($rv != APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4SUCCESS) { + return $rv; + } - $r->setup_client_block; + while (!$bb->empty) { + my $buf; + my $b = $bb->first; - return undef unless $r->should_client_block; + $b->remove; - my $data = ''; - my $buf; - while (my $read_len = $r->get_client_block($buf, IOBUFSIZE)) { - if ($read_len == -1) { - die "some error while reading with get_client_block"; + if ($b->is_eos) { + warn "EOS bucket:\n" if $debug; + $seen_eos++; + last; + } + + my $status = $b->read($buf); + warn "DATA bucket: [$buf]\n" if $debug; + if ($status != APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4SUCCESS) { + return $status; + } + push @data, $buf; } - $data .= $buf; - } - return $data; + $bb->destroy; + + } while (!$seen_eos); + + return join '', @data; } sub ModPerl888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Test888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4_config { 1.187 +6 -0 modperl-2.0/Changes Index: Changes =================================================================== RCS file: /home/cvs/modperl-2.0/Changes,v retrieving revision 1.186 retrieving revision 1.187 diff -u -r1.186 -r1.187 --- Changes 12 May 2003 06:37:12 -0000 1.186 +++ Changes 13 May 2003 09:20:33 -0000 1.187 @@ -12,6 +12,12 @@ =item 1.99_10-dev +$r->get_client_block is bogus in httpd-2.0.45 (and ealier), as it +can't handle EOS buckets arriving in the same bucket brigade with +data. so rewrite ModPerl888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Test888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4read_post to use an explicit read +through all bucket brigades till it sees eos and then it stops. The +code is longer but it works correctly. [Stas] + an attempt to resolve the binary compatibility problem in PerlIOAPR_seek API when APR_HAS_LARGE_FILES=0 [Stas] From modperlnrice@example.net Tue May 13 09:21:04 2003 Return-Path: <modperlnrice@example.net> Delivered-To: nrice@example.net Received: (qmail 54835 invoked by uid 500); 13 May 2003 09:21:04 -0000 Mailing-List: contact nrice@example.net; run by ezmlm Precedence: bulk list-help: <mailto:nrice@example.net> list-unsubscribe: <mailto:nrice@example.net> list-post: <mailto:nrice@example.net> Reply-To: nrice@example.net Delivered-To: mailing list nrice@example.net Received: (qmail 54824 invoked by uid 500); 13 May 2003 09:21:04 -0000 Delivered-To: nrice@example.net Date: 13 May 2003 09:21:02 -0000 Message-ID: <nrice@example.net> From: nrice@example.net To: nrice@example.net Subject: cvs commit: modperl-2.0/t/filter in_init_basic.t X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N stas 2003/05/13 02:21:02 Modified: t/filter in_init_basic.t Log: adjust the expected data, as the filter is now called once less Revision Changes Path 1.3 +1 -1 modperl-2.0/t/filter/in_init_basic.t Index: in_init_basic.t =================================================================== RCS file: /home/cvs/modperl-2.0/t/filter/in_init_basic.t,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- in_init_basic.t 18 Apr 2003 06:18:56 -0000 1.2 +++ in_init_basic.t 13 May 2003 09:21:02 -0000 1.3 @@ -8,7 +8,7 @@ plan tests => 1; my $content = "content ok\n"; -my $expected = join '', $content, "init 1\n", "run 2\n"; +my $expected = join '', $content, "init 1\n", "run 1\n"; my $location = '/TestFilter__in_init_basic'; my $response = POST_BODY $location, content => $content; From modperlnrice@example.net Tue May 13 09:38:07 2003 Return-Path: <modperlnrice@example.net> Delivered-To: nrice@example.net Received: (qmail 73899 invoked by uid 500); 13 May 2003 09:38:07 -0000 Mailing-List: contact nrice@example.net; run by ezmlm Precedence: bulk list-help: <mailto:nrice@example.net> list-unsubscribe: <mailto:nrice@example.net> list-post: <mailto:nrice@example.net> Reply-To: nrice@example.net Delivered-To: mailing list nrice@example.net Received: (qmail 73888 invoked by uid 500); 13 May 2003 09:38:07 -0000 Delivered-To: nrice@example.net Date: 13 May 2003 09:38:05 -0000 Message-ID: <nrice@example.net> From: nrice@example.net To: nrice@example.net Subject: cvs commit: modperl-2.0/t/conf modperl_extra.pl X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N stas 2003/05/13 02:38:04 Modified: t/conf modperl_extra.pl Log: import the APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4SUCCESS constant before using it Revision Changes Path 1.28 +1 -1 modperl-2.0/t/conf/modperl_extra.pl Index: modperl_extra.pl =================================================================== RCS file: /home/cvs/modperl-2.0/t/conf/modperl_extra.pl,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- modperl_extra.pl 13 May 2003 09:20:33 -0000 1.27 +++ modperl_extra.pl 13 May 2003 09:38:03 -0000 1.28 @@ -63,7 +63,7 @@ use constant IOBUFSIZE => 8192; use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Const -compile => qw(MODE_READBYTES); -use APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4onst -compile => qw(BLOCK_READ); +use APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4onst -compile => qw(SUCCESS BLOCK_READ); sub ModPerl888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Test888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4read_post { my $r = shift; From modperlnrice@example.net Wed May 14 02:26:55 2003 Return-Path: <modperlnrice@example.net> Delivered-To: nrice@example.net Received: (qmail 98789 invoked by uid 500); 14 May 2003 02:26:55 -0000 Mailing-List: contact nrice@example.net; run by ezmlm Precedence: bulk list-help: <mailto:nrice@example.net> list-unsubscribe: <mailto:nrice@example.net> list-post: <mailto:nrice@example.net> Reply-To: nrice@example.net Delivered-To: mailing list nrice@example.net Received: (qmail 98776 invoked by uid 500); 14 May 2003 02:26:55 -0000 Delivered-To: nrice@example.net Date: 14 May 2003 02:26:54 -0000 Message-ID: <nrice@example.net> From: nrice@example.net To: nrice@example.net Subject: cvs commit: modperl-2.0/t/conf modperl_extra.pl X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N stas 2003/05/13 19:26:53 Modified: t/conf modperl_extra.pl Log: make the filter snooping functionality available for filter tests Revision Changes Path 1.29 +76 -0 modperl-2.0/t/conf/modperl_extra.pl Index: modperl_extra.pl =================================================================== RCS file: /home/cvs/modperl-2.0/t/conf/modperl_extra.pl,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- modperl_extra.pl 13 May 2003 09:38:03 -0000 1.28 +++ modperl_extra.pl 14 May 2003 02:26:53 -0000 1.29 @@ -129,4 +129,80 @@ warn "END in modperl_extra.pl, pid=$$\n"; } +package ModPerl888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestFilterDebug; + +use base qw(Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Filter); +use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4FilterRec (); +use APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4rigade (); +use APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ucket (); + +use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Const -compile => qw(OK DECLINED); +use APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4onst -compile => ':common'; + +# to use these functions add any or all of these filter handlers +# PerlInputFilterHandler ModPerl888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestFilterDebug888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4snoop_request +# PerlInputFilterHandler ModPerl888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestFilterDebug888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4snoop_connection +# PerlOutputFilterHandler ModPerl888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestFilterDebug888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4snoop_request +# PerlOutputFilterHandler ModPerl888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestFilterDebug888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4snoop_connection +# + +sub snoop_connection : FilterConnectionHandler { snoop("connection", @_) } +sub snoop_request : FilterRequestHandler { snoop("request", @_) } + +sub snoop { + my $type = shift; + my($filter, $bb, $mode, $block, $readbytes) = @_; # filter args + + # $mode, $block, $readbytes are passed only for input filters + my $stream = defined $mode ? "input" : "output"; + + # read the data and pass-through the bucket brigades unchanged + if (defined $mode) { + # input filter + my $rv = $filter->next->get_brigade($bb, $mode, $block, $readbytes); + return $rv unless $rv == APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4SUCCESS; + bb_dump($type, $stream, $bb); + } + else { + # output filter + bb_dump($type, $stream, $bb); + my $rv = $filter->next->pass_brigade($bb); + return $rv unless $rv == APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4SUCCESS; + } + #if ($bb->empty) { + # return -1; + #} + + return Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4OK; +} + +sub bb_dump { + my($type, $stream, $bb) = @_; + + my @data; + for (my $b = $bb->first; $b; $b = $bb->next($b)) { + $b->read(my $bdata); + $bdata = '' unless defined $bdata; + push @data, $b->type->name, $bdata; + } + + # send the sniffed info to STDERR so not to interfere with normal + # output + my $direction = $stream eq 'output' ? ">>>" : "<<<"; + print STDERR "\n$direction $type $stream filter\n"; + + unless (@data) { + print STDERR " No buckets\n"; + return; + } + + my $c = 1; + while (my($btype, $data) = splice @data, 0, 2) { + print STDERR " o bucket $c: $btype\n"; + print STDERR "[$data]\n"; + $c++; + } +} + + 1; From modperlnrice@example.net Wed May 14 02:28:57 2003 Return-Path: <modperlnrice@example.net> Delivered-To: nrice@example.net Received: (qmail 2393 invoked by uid 500); 14 May 2003 02:28:56 -0000 Mailing-List: contact nrice@example.net; run by ezmlm Precedence: bulk list-help: <mailto:nrice@example.net> list-unsubscribe: <mailto:nrice@example.net> list-post: <mailto:nrice@example.net> Reply-To: nrice@example.net Delivered-To: mailing list nrice@example.net Received: (qmail 2382 invoked by uid 500); 14 May 2003 02:28:56 -0000 Delivered-To: nrice@example.net Date: 14 May 2003 02:28:55 -0000 Message-ID: <nrice@example.net> From: nrice@example.net To: nrice@example.net Subject: cvs commit: modperl-2.0/t/filter both_str_req_mix.t X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N stas 2003/05/13 19:28:55 Added: t/filter/TestFilter both_str_req_mix.pm t/filter both_str_req_mix.t Log: a new complex filter involving a mix of mod_include, mod_deflate and mod_perl filters Revision Changes Path 1.1 modperl-2.0/t/filter/TestFilter/both_str_req_mix.pm Index: both_str_req_mix.pm =================================================================== package TestFilter888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4oth_str_req_mix; # this is an elaborated test, where we mix several apache and mod_perl # filters, both input and output and verifying that they can work # together, preserving the order when the filters are of the same # priority # in this test the client, the client sends a compressed body, # 'DEFLATE' deflates it, then mod_perl filter 'transparent' filter # passes data through as-is. The following 'in_adjust' mod_perl filter # removes the string 'INPUT' from incoming data. The response handler # simply passes the data through. Next output filters get to work: # 'out_adjust_before_ssi' fixups the data to a valid SSI directive, by # removing the string 'OUTPUT' from the outgoing data, then the # 'INCLUDES' filter fetches the virtual file, and finally # 'out_adjust_after_ssi' fixes the file contents returned by SSI, by # removing the string 'REMOVE' # # Here is a visual representation of the transformations: # # => <network in> # # compressed data # # => DEFLATE # # <!--#include INPUTvirtual="/includes/OUTPUTclear.shtml" --> # # => transparent # # <!--#include INPUTvirtual="/includes/OUTPUTclear.shtml" --> # # => in_adjust # # <!--#include virtual="/includes/OUTPUTclear.shtml" --> # # <=> response handler # # <!--#include virtual="/includes/OUTPUTclear.shtml" --> # # <= out_adjust_before_ssi # # <!--#include virtual="/includes/clear.shtml" --> # # <= out_adjust_before_ssi # # <!--#include virtual="/includes/clear.shtml" --> # # <= INCLUDES # # This is a REMOVEclear text # # <= out_adjust_after_ssi # # This is a clear text # # <= DEFLATE # # compressed data # # <= <network out> use strict; use warnings FATAL => 'all'; use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestTrace; use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Filter (); use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Const -compile => qw(OK M_POST); use constant DEBUG => 1; sub transparent { my $filter = shift; while ($filter->read(my $buffer, 1024)){ debug "transparent buffer: $buffer"; $buffer =~ s/foo//; $filter->print($buffer); } $filter->print(""); Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4OK; } sub in_adjust { adjust("INPUT", @_)} sub out_adjust_before_ssi { adjust("OUTPUT", @_)} sub out_adjust_after_ssi { adjust("REMOVE", @_)} sub adjust { my ($string, $filter) = @_; my $sig = "adjust($string):"; while ($filter->read(my $buffer, 1024)){ debug "$sig before: $buffer"; $buffer =~ s/$string//; debug "$sig after: $buffer"; $filter->print($buffer); } Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4OK; } sub handler { my $r = shift; $r->content_type('text/plain'); if ($r->method_number == Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4M_POST) { $r->print(ModPerl888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Test888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4read_post($r)); } return Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4OK; } 1; __DATA__ <NoAutoConfig> PerlModule TestFilter888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4oth_str_req_mix <Location /TestFilter__both_str_req_mix> Options +Includes # DEFLATE has a higher priority (AP_FTYPE_CONTENT_SET=20) than # mod_perl request filters (AP_FTYPE_RESOURCE), so it's going # to filter input first no matter how we insert other mod_perl # filters. # PerlSetInputFilter is only useful for preserving the # insertion order of filters with the same priority SetInputFilter DEFLATE #PerlInputFilterHandler ModPerl888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestFilterDebug888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4snoop_request PerlInputFilterHandler TestFilter888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4oth_str_req_mix888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4in_adjust PerlInputFilterHandler TestFilter888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4oth_str_req_mix888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4transparent # here INCLUDES and adjust are both of the same priority # (AP_FTYPE_RESOURCE), so PerlSetOutputFilter PerlOutputFilterHandler TestFilter888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4oth_str_req_mix888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4out_adjust_before_ssi PerlSetOutputFilter INCLUDES PerlOutputFilterHandler TestFilter888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4oth_str_req_mix888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4out_adjust_after_ssi #PerlOutputFilterHandler ModPerl888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestFilterDebug888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4snoop_request PerlSetOutputFilter DEFLATE SetHandler modperl PerlResponseHandler TestFilter888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4oth_str_req_mix </Location> </NoAutoConfig> 1.1 modperl-2.0/t/filter/both_str_req_mix.t Index: both_str_req_mix.t =================================================================== use strict; use warnings FATAL => 'all'; use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Test; use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestRequest; use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestUtil; plan tests => 1, ['Compress888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Zlib', 'deflate', 'include']; require Compress888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Zlib; my $location = '/TestFilter__both_str_req_mix'; my $request_orig = '<!--#include INPUTvirtual="/includes/OUTPUTclear.shtml" -->'; my $response_orig = 'This is a clear text'; # gzip already produces data in a network order, so no extra # transformation seem to be necessary my $content = Compress888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Zli888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4memGzip($request_orig); my $response_raw = POST_BODY $location, content => $content, 'Accept-Encoding' => "gzip", 'Content-Encoding' => "gzip"; #t_debug($response_raw); my $response_clear = Compress888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Zli888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4memGunzip($response_raw); #t_debug($response_clear); my $expected = $response_orig; my $received = $response_clear; ok t_cmp($expected, $received, "mixing httpd and mod_perl filters, while preserving order"); From modperlnrice@example.net Wed May 14 02:50:36 2003 Return-Path: <modperlnrice@example.net> Delivered-To: nrice@example.net Received: (qmail 20925 invoked by uid 500); 14 May 2003 02:50:36 -0000 Mailing-List: contact nrice@example.net; run by ezmlm Precedence: bulk list-help: <mailto:nrice@example.net> list-unsubscribe: <mailto:nrice@example.net> list-post: <mailto:nrice@example.net> Reply-To: nrice@example.net Delivered-To: mailing list nrice@example.net Received: (qmail 20914 invoked by uid 500); 14 May 2003 02:50:35 -0000 Delivered-To: nrice@example.net Date: 14 May 2003 02:50:34 -0000 Message-ID: <nrice@example.net> From: nrice@example.net To: nrice@example.net Subject: cvs commit: modperl-2.0/lib/ModPerl WrapXS.pm X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N stas 2003/05/13 19:50:34 Modified: lib/ModPerl WrapXS.pm Log: use the new function Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestTr888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4trace_level() that abstract the logic for figuring the current log level Revision Changes Path 1.58 +1 -1 modperl-2.0/lib/ModPerl/WrapXS.pm Index: WrapXS.pm =================================================================== RCS file: /home/cvs/modperl-2.0/lib/ModPerl/WrapXS.pm,v retrieving revision 1.57 retrieving revision 1.58 diff -u -r1.57 -r1.58 --- WrapXS.pm 17 Apr 2003 01:19:55 -0000 1.57 +++ WrapXS.pm 14 May 2003 02:50:34 -0000 1.58 @@ -231,7 +231,7 @@ $self->{DIR} = 'WrapXS'; $self->{XS_DIR} = catdir fastcwd(), 'xs'; - my $verbose = $Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestTr888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Level eq 'debug' ? 1 : 0; + my $verbose = Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestTr888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4trace_level() eq 'debug' ? 1 : 0; if (-e $self->{DIR}) { rmtree([$self->{DIR}], $verbose, 1); From modperlnrice@example.net Wed May 14 06:21:19 2003 Return-Path: <modperlnrice@example.net> Delivered-To: nrice@example.net Received: (qmail 6910 invoked by uid 500); 14 May 2003 06:21:18 -0000 Mailing-List: contact nrice@example.net; run by ezmlm Precedence: bulk list-help: <mailto:nrice@example.net> list-unsubscribe: <mailto:nrice@example.net> list-post: <mailto:nrice@example.net> Reply-To: nrice@example.net Delivered-To: mailing list nrice@example.net Received: (qmail 6899 invoked by uid 500); 14 May 2003 06:21:18 -0000 Delivered-To: nrice@example.net Date: 14 May 2003 06:21:16 -0000 Message-ID: <nrice@example.net> From: nrice@example.net To: nrice@example.net Subject: cvs commit: modperl-2.0/t/response/TestAPI aplog.pm X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N stas 2003/05/13 23:21:16 Modified: t/response/TestAPI aplog.pm Log: use more variations of logging calls, prepend the "don't panic" before the error logs, so users won't report these as errors Revision Changes Path 1.10 +12 -5 modperl-2.0/t/response/TestAPI/aplog.pm Index: aplog.pm =================================================================== RCS file: /home/cvs/modperl-2.0/t/response/TestAPI/aplog.pm,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- aplog.pm 14 Aug 2002 14:54:47 -0000 1.9 +++ aplog.pm 14 May 2003 06:21:16 -0000 1.10 @@ -4,12 +4,13 @@ use warnings FATAL => 'all'; use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Test; +use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TestUtil; use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Log (); use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4RequestRec (); use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Const -compile => qw(OK :log); -use APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4onst -compile => ':error'; +use APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4onst -compile => qw(:error SUCCESS); my @LogLevels = qw(emerg alert crit error warn notice info debug); my $package = __PACKAGE__; @@ -40,16 +41,22 @@ ok sub { $slog->can($method) }; } - $s->log_serror(Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4LOG_MARK, Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4LOG_DEBUG, 0, - "log_serror test ok"); + t_server_log_warn_is_expected(); + $s->log_serror(__FILE__, __LINE__, Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4LOG_DEBUG, + APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4SUCCESS, "log_serror test ok"); + t_server_log_warn_is_expected(); $s->log_serror(Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4LOG_MARK, Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4LOG_DEBUG, - APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4NOTIME, "log_serror test 2 ok"); + APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4GENERAL, "log_serror test 2 ok"); - $r->log_rerror(Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4LOG_MARK, Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4LOG_DEBUG, + t_server_log_error_is_expected(); + $r->log_rerror(Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4LOG_MARK, Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4LOG_CRIT, APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4NOTIME, "log_rerror test ok"); + t_server_log_error_is_expected(); $r->log_error('$r->log_error test ok'); + + t_server_log_error_is_expected(); $s->log_error('$s->log_error test ok'); $s->loglevel(Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4LOG_INFO); From modperlnrice@example.net Wed May 14 06:44:17 2003 Return-Path: <modperlnrice@example.net> Delivered-To: nrice@example.net Received: (qmail 31896 invoked by uid 500); 14 May 2003 06:44:17 -0000 Mailing-List: contact nrice@example.net; run by ezmlm Precedence: bulk list-help: <mailto:nrice@example.net> list-unsubscribe: <mailto:nrice@example.net> list-post: <mailto:nrice@example.net> Reply-To: nrice@example.net Delivered-To: mailing list nrice@example.net Received: (qmail 31847 invoked by uid 500); 14 May 2003 06:44:16 -0000 Delivered-To: nrice@example.net Date: 14 May 2003 06:44:15 -0000 Message-ID: <nrice@example.net> From: nrice@example.net To: nrice@example.net Subject: cvs commit: modperl-2.0/t/response/TestAPI aplog.pm X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N stas 2003/05/13 23:44:15 Modified: t/response/TestAPI aplog.pm Log: exercise the Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4LOG_STARTUP level (only the message is logged) Revision Changes Path 1.11 +6 -1 modperl-2.0/t/response/TestAPI/aplog.pm Index: aplog.pm =================================================================== RCS file: /home/cvs/modperl-2.0/t/response/TestAPI/aplog.pm,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- aplog.pm 14 May 2003 06:21:16 -0000 1.10 +++ aplog.pm 14 May 2003 06:44:15 -0000 1.11 @@ -10,7 +10,7 @@ use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4RequestRec (); use Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Const -compile => qw(OK :log); -use APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4onst -compile => qw(:error SUCCESS); +use APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4onst -compile => qw(:error SUCCESS); my @LogLevels = qw(emerg alert crit error warn notice info debug); my $package = __PACKAGE__; @@ -40,6 +40,11 @@ ok sub { $rlog->can($method) }; ok sub { $slog->can($method) }; } + + # this message shouldn't be logged (since it can be logged only + # during the startup) + $s->log_serror(Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4LOG_MARK, Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4LOG_INFO|Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4LOG_STARTUP, + APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4SUCCESS, "This log message comes with no header"); t_server_log_warn_is_expected(); $s->log_serror(__FILE__, __LINE__, Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4LOG_DEBUG, From modperlnrice@example.net Wed May 14 06:45:56 2003 Return-Path: <modperlnrice@example.net> Delivered-To: nrice@example.net Received: (qmail 32455 invoked by uid 500); 14 May 2003 06:45:56 -0000 Mailing-List: contact nrice@example.net; run by ezmlm Precedence: bulk list-help: <mailto:nrice@example.net> list-unsubscribe: <mailto:nrice@example.net> list-post: <mailto:nrice@example.net> Reply-To: nrice@example.net Delivered-To: mailing list nrice@example.net Received: (qmail 32440 invoked by uid 500); 14 May 2003 06:45:56 -0000 Delivered-To: nrice@example.net Date: 14 May 2003 06:45:54 -0000 Message-ID: <nrice@example.net> From: nrice@example.net To: nrice@example.net Subject: cvs commit: modperl-2.0/t/response/TestAPI aplog.pm X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N stas 2003/05/13 23:45:54 Modified: t/response/TestAPI aplog.pm Log: remove the irrelevant comment Revision Changes Path 1.12 +0 -2 modperl-2.0/t/response/TestAPI/aplog.pm Index: aplog.pm =================================================================== RCS file: /home/cvs/modperl-2.0/t/response/TestAPI/aplog.pm,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- aplog.pm 14 May 2003 06:44:15 -0000 1.11 +++ aplog.pm 14 May 2003 06:45:54 -0000 1.12 @@ -41,8 +41,6 @@ ok sub { $slog->can($method) }; } - # this message shouldn't be logged (since it can be logged only - # during the startup) $s->log_serror(Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4LOG_MARK, Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4LOG_INFO|Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4LOG_STARTUP, APR888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4SUCCESS, "This log message comes with no header"); From modperlnrice@example.net Thu May 15 03:29:12 2003 Return-Path: <modperlnrice@example.net> Delivered-To: nrice@example.net Received: (qmail 64231 invoked by uid 500); 15 May 2003 03:29:11 -0000 Mailing-List: contact nrice@example.net; run by ezmlm Precedence: bulk list-help: <mailto:nrice@example.net> list-unsubscribe: <mailto:nrice@example.net> list-post: <mailto:nrice@example.net> Reply-To: nrice@example.net Delivered-To: mailing list nrice@example.net Received: (qmail 64218 invoked by uid 500); 15 May 2003 03:29:11 -0000 Delivered-To: nrice@example.net Date: 15 May 2003 03:29:10 -0000 Message-ID: <nrice@example.net> From: nrice@example.net To: nrice@example.net Subject: cvs commit: modperl-2.0/lib/ModPerl BuildMM.pm MM.pm X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N stas 2003/05/14 20:29:09 Modified: lib/Apache Build.pm lib/ModPerl BuildMM.pm MM.pm Log: rearrange constants definition and modules loading to resolve problems in circular referencing, loading. Revision Changes Path 1.123 +10 -9 modperl-2.0/lib/Apache/Build.pm Index: Build.pm ===================================================================
{'source': 'Apache Software Foundation Public Mail Archives'}