On Wed, 31 Mar 2004 10:09:01 -0800 Stas Bekman <[EMAIL PROTECTED]> wrote:
BTW, I subscribed to the list, so you needn't reply to my address too :) > But definitely move first to 1.99_13 because we aren't going to debug on > 1.99_12 and we need to be on the same page to have a better chance to > reproduce the problem. OK, I tried 1.99_13 with the same results. The build environment is the same as for 1.99_12 so I guess the same Bug Report Info applies here too (I can generate another bug report if you need it though) > We are not aware of this problem, Kiki. You need to give us more matter to be > able to understand your problem. You don't have a problem to start the modperl > > test suite, do you? In fact any attempt to start apache with mod_perl (including the one in the test suite) causes a segmentation fault. > If that's the case, you need to show us what configuration > causes that, coming with a minimal possible case that you can still reproduce > the problem with. 1. The command used to start apache is: [EMAIL PROTECTED] ~/work/mod_perl-1.99_13]$ /usr/local/sbin/httpd -d /usr/home/kiki/work/mod_perl-1.99_13/t -f /usr/home/kiki/work/mod_perl-1.99_13/t/conf/httpd.conf -D APACHE2 -D PERL_USEITHREADS Segmentation fault (core dumped) 2. The backtrace for the core file is: (gdb) backtrace #0 0x290ed4f7 in Perl_newSVpvn () from /usr/local/lib/perl5/5.8.2/mach/CORE/libperl.so #1 0x2913e219 in PerlIO_open () from /usr/local/lib/perl5/5.8.2/mach/CORE/libperl.so #2 0x29072363 in S_open_script () from /usr/local/lib/perl5/5.8.2/mach/CORE/libperl.so #3 0x2906f5a2 in S_parse_body () from /usr/local/lib/perl5/5.8.2/mach/CORE/libperl.so #4 0x2906e994 in perl_parse () from /usr/local/lib/perl5/5.8.2/mach/CORE/libperl.so #5 0x2902b78c in modperl_startup () from /usr/home/kiki/work/mod_perl-1.99_13/src/modules/perl/mod_perl.so #6 0x2902b6ec in modperl_startup () from /usr/home/kiki/work/mod_perl-1.99_13/src/modules/perl/mod_perl.so #7 0x2902bb19 in modperl_run () from /usr/home/kiki/work/mod_perl-1.99_13/src/modules/perl/mod_perl.so #8 0x29030b69 in modperl_cmd_load_module () from /usr/home/kiki/work/mod_perl-1.99_13/src/modules/perl/mod_perl.so #9 0x80664ca in invoke_cmd () #10 0x8067097 in ap_walk_config_sub () #11 0x80690f1 in ap_process_config_tree () #12 0x806bfae in main () #13 0x805d026 in _start () (gdb) 3. The httpd.conf configuration I've tried is the one generated by the test suite: (I don't know which modules are optional and which are necessary, so if you could give me some hints for a more simple configuration, I will try it) # WARNING: this file is generated, do not edit # 01: /usr/home/kiki/work/mod_perl-1.99_13/Apache-Test/lib/Apache/TestConfig.pm:780 # 02: /usr/home/kiki/work/mod_perl-1.99_13/Apache-Test/lib/Apache/TestConfig.pm:798 # 03: /usr/home/kiki/work/mod_perl-1.99_13/Apache-Test/lib/Apache/TestConfig.pm:1355 # 04: /usr/home/kiki/work/mod_perl-1.99_13/Apache-Test/lib/Apache/TestRun.pm:490 # 05: /usr/home/kiki/work/mod_perl-1.99_13/Apache-Test/lib/Apache/TestRunPerl.pm:55 # 06: /usr/home/kiki/work/mod_perl-1.99_13/Apache-Test/lib/Apache/TestRun.pm:700 # 07: /usr/home/kiki/work/mod_perl-1.99_13/Apache-Test/lib/Apache/TestRun.pm:700 # 08: t/TEST:20 <IfModule !mod_access.c> LoadModule access_module "/usr/local/libexec/apache2/mod_access.so" </IfModule> <IfModule !mod_auth.c> LoadModule auth_module "/usr/local/libexec/apache2/mod_auth.so" </IfModule> <IfModule !mod_auth_anon.c> LoadModule auth_anon_module "/usr/local/libexec/apache2/mod_auth_anon.so" </IfModule> <IfModule !mod_auth_dbm.c> LoadModule auth_dbm_module "/usr/local/libexec/apache2/mod_auth_dbm.so" </IfModule> <IfModule !mod_ext_filter.c> LoadModule ext_filter_module "/usr/local/libexec/apache2/mod_ext_filter.so" </IfModule> <IfModule !mod_include.c> LoadModule include_module "/usr/local/libexec/apache2/mod_include.so" </IfModule> <IfModule !mod_deflate.c> LoadModule deflate_module "/usr/local/libexec/apache2/mod_deflate.so" </IfModule> <IfModule !mod_log_config.c> LoadModule log_config_module "/usr/local/libexec/apache2/mod_log_config.so" </IfModule> <IfModule !mod_env.c> LoadModule env_module "/usr/local/libexec/apache2/mod_env.so" </IfModule> <IfModule !mod_mime_magic.c> LoadModule mime_magic_module "/usr/local/libexec/apache2/mod_mime_magic.so" </IfModule> <IfModule !mod_cern_meta.c> LoadModule cern_meta_module "/usr/local/libexec/apache2/mod_cern_meta.so" </IfModule> <IfModule !mod_expires.c> LoadModule expires_module "/usr/local/libexec/apache2/mod_expires.so" </IfModule> <IfModule !mod_headers.c> LoadModule headers_module "/usr/local/libexec/apache2/mod_headers.so" </IfModule> <IfModule !mod_usertrack.c> LoadModule usertrack_module "/usr/local/libexec/apache2/mod_usertrack.so" </IfModule> <IfModule !mod_unique_id.c> LoadModule unique_id_module "/usr/local/libexec/apache2/mod_unique_id.so" </IfModule> <IfModule !mod_setenvif.c> LoadModule setenvif_module "/usr/local/libexec/apache2/mod_setenvif.so" </IfModule> <IfModule !mod_ssl.c> LoadModule ssl_module "/usr/local/libexec/apache2/mod_ssl.so" </IfModule> <IfModule !mod_mime.c> LoadModule mime_module "/usr/local/libexec/apache2/mod_mime.so" </IfModule> <IfModule !mod_status.c> LoadModule status_module "/usr/local/libexec/apache2/mod_status.so" </IfModule> <IfModule !mod_autoindex.c> LoadModule autoindex_module "/usr/local/libexec/apache2/mod_autoindex.so" </IfModule> <IfModule !mod_asis.c> LoadModule asis_module "/usr/local/libexec/apache2/mod_asis.so" </IfModule> <IfModule !mod_info.c> LoadModule info_module "/usr/local/libexec/apache2/mod_info.so" </IfModule> <IfModule !mod_cgi.c> LoadModule cgi_module "/usr/local/libexec/apache2/mod_cgi.so" </IfModule> <IfModule !mod_vhost_alias.c> LoadModule vhost_alias_module "/usr/local/libexec/apache2/mod_vhost_alias.so" </IfModule> <IfModule !mod_negotiation.c> LoadModule negotiation_module "/usr/local/libexec/apache2/mod_negotiation.so" </IfModule> <IfModule !mod_dir.c> LoadModule dir_module "/usr/local/libexec/apache2/mod_dir.so" </IfModule> <IfModule !mod_imap.c> LoadModule imap_module "/usr/local/libexec/apache2/mod_imap.so" </IfModule> <IfModule !mod_actions.c> LoadModule actions_module "/usr/local/libexec/apache2/mod_actions.so" </IfModule> <IfModule !mod_speling.c> LoadModule speling_module "/usr/local/libexec/apache2/mod_speling.so" </IfModule> <IfModule !mod_userdir.c> LoadModule userdir_module "/usr/local/libexec/apache2/mod_userdir.so" </IfModule> <IfModule !mod_alias.c> LoadModule alias_module "/usr/local/libexec/apache2/mod_alias.so" </IfModule> <IfModule !mod_rewrite.c> LoadModule rewrite_module "/usr/local/libexec/apache2/mod_rewrite.so" </IfModule> <IfModule !mod_php4.c> LoadModule php4_module "/usr/local/libexec/apache2/libphp4.so" </IfModule> <IfModule !mod_dav.c> LoadModule dav_module "/usr/local/libexec/apache2/mod_dav.so" </IfModule> <IfModule !mod_dav_svn.c> LoadModule dav_svn_module "/usr/local/libexec/apache2/mod_dav_svn.so" </IfModule> <IfModule !mod_authz_svn.c> LoadModule authz_svn_module "/usr/local/libexec/apache2/mod_authz_svn.so" </IfModule> <IfModule !mod_mime.c> LoadModule mime_module "/usr/local/libexec/apache2/mod_mime.so" </IfModule> <IfModule !mod_perl.c> LoadModule perl_module "/usr/home/kiki/work/mod_perl-1.99_13/src/modules/perl/mod_perl.so" </IfModule> User kiki Group users ServerName localhost:8529 Listen localhost:8529 ServerRoot "/usr/home/kiki/work/mod_perl-1.99_13/t" DocumentRoot "/usr/home/kiki/work/mod_perl-1.99_13/t/htdocs" PidFile /usr/home/kiki/work/mod_perl-1.99_13/t/logs/httpd.pid ErrorLog /usr/home/kiki/work/mod_perl-1.99_13/t/logs/error_log LogLevel debug <IfModule mod_log_config.c> TransferLog /usr/home/kiki/work/mod_perl-1.99_13/t/logs/access_log </IfModule> ServerAdmin [EMAIL PROTECTED] #needed for http/1.1 testing KeepAlive On HostnameLookups Off <Directory /> Options FollowSymLinks AllowOverride None </Directory> <IfModule worker.c> StartServers 1 MaxClients 2 MinSpareThreads 2 MaxSpareThreads 2 ThreadsPerChild 2 MaxRequestsPerChild 0 </IfModule> <IfModule perchild.c> NumServers 1 StartThreads 2 MinSpareThreads 2 MaxSpareThreads 2 MaxThreadsPerChild 2 MaxRequestsPerChild 0 </IfModule> <IfModule prefork.c> StartServers 1 MaxClients 2 MaxRequestsPerChild 0 </IfModule> <IfDefine APACHE1> StartServers 1 MaxClients 2 MaxRequestsPerChild 0 </IfDefine> <IfModule mpm_winnt.c> ThreadsPerChild 20 MaxRequestsPerChild 0 </IfModule> <Location /server-info> SetHandler server-info </Location> <Location /server-status> SetHandler server-status </Location> <IfModule !mod_alias.c> LoadModule alias_module "/usr/local/libexec/apache2/mod_alias.so" </IfModule> <IfModule mod_alias.c> Alias /getfiles-binary-perl /usr/local/bin/perl5.8.2 Alias /getfiles-perl-pod /usr/local/lib/perl5/5.8.2/pod Alias /getfiles-binary-httpd /usr/local/sbin/httpd </IfModule> TypesConfig "/usr/local/etc/apache2/mime.types" Include "/usr/home/kiki/work/mod_perl-1.99_13/t/conf/extra.conf" <IfModule mod_perl.c> PerlPassEnv APACHE_TEST_TRACE_LEVEL </IfModule> <IfModule mod_perl.c> PerlSwitches -Mlib=/usr/home/kiki/work/mod_perl-1.99_13/t </IfModule> <IfModule mod_perl.c> PerlRequire /usr/home/kiki/work/mod_perl-1.99_13/t/conf/modperl_startup.pl </IfModule> PerlModule TestAPI::internal_redirect <Location /TestAPI__internal_redirect_modperl> SetHandler modperl PerlResponseHandler TestAPI::internal_redirect::modperl </Location> <Location /TestAPI__internal_redirect_perl_script> SetHandler perl-script PerlResponseHandler TestAPI::internal_redirect::perl_script </Location> <Location /TestAPI__show> SetHandler modperl PerlResponseHandler TestAPI::show </Location> <Location /TestAPI__access> Options None Options Indexes FollowSymLinks AuthName modperl AuthType none SetHandler modperl PerlResponseHandler TestAPI::access </Location> <Location /TestAPI__request_rec> PerlOptions +GlobalRequest SetHandler modperl PerlResponseHandler TestAPI::request_rec </Location> <Location /TestAPI__server_util> SetHandler modperl PerlResponseHandler TestAPI::server_util </Location> <Location /TestAPI__server_rec> SetHandler modperl PerlResponseHandler TestAPI::server_rec </Location> <Location /TestAPI__lookup_uri2__myplan> SetHandler modperl PerlResponseHandler TestAPI::lookup_uri2::myplan </Location> <Location /TestAPI__lookup_uri2__ok3> SetHandler modperl PerlResponseHandler TestAPI::lookup_uri2::ok3 </Location> <Location /TestAPI__lookup_uri2> SetHandler modperl PerlResponseHandler TestAPI::lookup_uri2 </Location> <Location /lookup_uri> SetHandler modperl PerlResponseHandler Apache::TestHandler::ok1 </Location> <Location /TestAPI__lookup_uri> SetHandler modperl PerlResponseHandler TestAPI::lookup_uri </Location> <Location /TestAPI__conn_rec> SetHandler modperl PerlResponseHandler TestAPI::conn_rec </Location> PerlModule TestAPI::rflush <Location /TestAPI__rflush> SetHandler perl-script PerlResponseHandler TestAPI::rflush::response PerlOutputFilterHandler TestAPI::rflush::bracket </Location> <Location /TestAPI__response> SetHandler modperl PerlResponseHandler TestAPI::response </Location> <Location /TestAPI__query> SetHandler modperl PerlResponseHandler TestAPI::query </Location> <Location /TestAPI__r_subclass> SetHandler perl-script PerlOptions -GlobalRequest PerlResponseHandler TestAPI::r_subclass </Location> <Location /TestAPI__server_const> SetHandler modperl PerlResponseHandler TestAPI::server_const </Location> <Location /TestAPI__uri> SetHandler modperl PerlResponseHandler TestAPI::uri </Location> <Location /TestAPI__aplog> SetHandler modperl PerlResponseHandler TestAPI::aplog </Location> <Location /TestAPI__sendfile> SetHandler modperl PerlResponseHandler TestAPI::sendfile </Location> <Location /TestAPI__rutil> SetHandler modperl PerlResponseHandler TestAPI::rutil </Location> <Location /TestAPI__module> SetHandler modperl PerlResponseHandler TestAPI::module </Location> Alias /slurp/ /usr/home/kiki/work/mod_perl-1.99_13/t/htdocs/api/ <Location /slurp/> SetHandler modperl PerlResponseHandler TestAPI::slurp_filename </Location> <Location /TestModules__cgi2> SetHandler modperl PerlResponseHandler TestModules::cgi2 </Location> <Location /TestModules__cgiupload> SetHandler perl-script PerlOptions +GlobalRequest PerlResponseHandler TestModules::cgiupload </Location> <Location /TestModules__cgipost2> SetHandler modperl PerlResponseHandler TestModules::cgipost2 </Location> <IfModule mod_proxy.c> <Proxy http://localhost:8529/*> <IfModule mod_access.c> Order Deny,Allow Deny from all Allow from localhost </IfModule> </Proxy> PerlModule TestModules::proxy PerlTransHandler TestModules::proxy::proxy <Location /TestModules__proxy_real> SetHandler modperl PerlResponseHandler TestModules::proxy::response </Location> </IfModule> <Location /TestModules__cgiupload2> SetHandler modperl PerlResponseHandler TestModules::cgiupload2 </Location> <Location /TestModules__cgipost> SetHandler perl-script PerlOptions +GlobalRequest PerlResponseHandler TestModules::cgipost </Location> <Location /TestModules__cgi> SetHandler perl-script PerlOptions -SetupEnv PerlResponseHandler TestModules::cgi </Location> # notice that perl-script is used on purpose here - testing whether # :Apache perlio is reentrant (SetHandler modperl doesn't go through # :Apache perlio layer) # it's silly that we have to duplicate the resource, but mod_include # otherwise thinks we have a recursive call loop <Location /TestModules__include_subreq_dup> PerlSetOutputFilter INCLUDES Options +IncludesNoExec SetHandler perl-script PerlResponseHandler TestModules::include_subreq </Location> <Location /TestModules__include_subreq> SetHandler perl-script PerlSetOutputFilter INCLUDES Options +IncludesNoExec PerlResponseHandler TestModules::include_subreq </Location> <Location /TestModperl__print> SetHandler modperl PerlResponseHandler TestModperl::print </Location> <Location /TestModperl__endav> SetHandler perl-script PerlResponseHandler TestModperl::endav </Location> <Location /TestModperl__print_utf8> SetHandler perl-script PerlResponseHandler TestModperl::print_utf8 </Location> <Location /TestModperl__print_utf8_2> SetHandler modperl PerlResponseHandler TestModperl::print_utf8_2 </Location> PerlModule TestModperl::cookie <Location /TestModperl__cookie> SetHandler perl-script PerlInitHandler Apache::TestHandler::same_interp_fixup PerlAccessHandler TestModperl::cookie::access PerlResponseHandler TestModperl::cookie PerlOptions -SetupEnv </Location> <Location /TestModperl__setauth> SetHandler modperl PerlResponseHandler TestModperl::setauth </Location> PerlSetVar TestModperl__request_rec_Key_set_in_Base BaseValue PerlSetVar TestModperl__server_rec_Key_set_in_Base 1_SetValue PerlAddVar TestModperl__server_rec_Key_set_in_Base 2_AddValue 3_AddValue <Location /TestModperl__dir_config> PerlSetVar TestModperl__request_rec_ZeroKey 0 PerlSetVar TestModperl__request_rec_Key0 SetValue0 PerlSetVar TestModperl__request_rec_Key1 ToBeLost PerlSetVar TestModperl__request_rec_Key1 1_SetValue PerlAddVar TestModperl__request_rec_Key1 2_AddValue PerlAddVar TestModperl__request_rec_Key1 3_AddValue 4_AddValue PerlSetVar TestModperl__server_rec_Key_set_in_Base SubSecValue SetHandler modperl PerlResponseHandler TestModperl::dir_config </Location> PerlModule TestModperl::cookie2 <Location /TestModperl__cookie2> SetHandler modperl PerlInitHandler Apache::TestHandler::same_interp_fixup PerlAccessHandler TestModperl::cookie2::access PerlResponseHandler TestModperl::cookie2 </Location> PerlModule TestModperl::current_callback <Location /TestModperl__current_callback> PerlHeaderParserHandler TestModperl::current_callback::headerparser PerlFixupHandler TestModperl::current_callback::fixup PerlResponseHandler TestModperl::current_callback PerlLogHandler TestModperl::current_callback::log SetHandler modperl </Location> <Location /TestModperl__request_rec_perlio_api> SetHandler perl-script PerlResponseHandler TestModperl::request_rec_perlio_api </Location> <Location /TestModperl__getc> SetHandler modperl PerlResponseHandler TestModperl::getc </Location> <Location /TestModperl__io_nested_with_closed_stds> SetHandler perl-script PerlResponseHandler TestModperl::io_nested_with_closed_stds </Location> PerlModule TestModperl::merge Listen localhost:8530 <VirtualHost _default_:8530> ServerName localhost:8530 # these should pass through all merges untouched PerlPassEnv APACHE_TEST_HOSTTYPE PerlSetEnv MergeSetEnv1 SetEnv1Val PerlSetVar MergeSetVar1 SetVar1Val PerlSetVar MergeAddVar1 AddVar1Val1 PerlAddVar MergeAddVar1 AddVar1Val2 # these are overridden in /merge2 and /merge2/merge3.html PerlSetEnv MergeSetEnv2 SetEnv2Val PerlSetVar MergeSetVar2 SetVar2Val PerlSetVar MergeAddVar2 AddVar2Val1 PerlAddVar MergeAddVar2 AddVar2Val2 # these are overridden in /merge2/merge3.html only PerlSetEnv MergeSetEnv3 SetEnv3Val PerlSetVar MergeSetVar3 SetVar3Val PerlSetVar MergeAddVar3 AddVar3Val1 PerlAddVar MergeAddVar3 AddVar3Val2 <Location /merge> # same as per-server level SetHandler perl-script PerlResponseHandler TestModperl::merge </Location> AccessFileName htaccess <Directory /usr/home/kiki/work/mod_perl-1.99_13/t/htdocs/merge2> # overrides "2" values - "1" and "3" values left untouched PerlSetEnv MergeSetEnv2 SetEnv2Merge2Val PerlSetVar MergeSetVar2 SetVar2Merge2Val PerlSetVar MergeAddVar2 AddVar2Merge2Val1 PerlAddVar MergeAddVar2 AddVar2Merge2Val2 SetHandler perl-script PerlResponseHandler TestModperl::merge # don't trigger htaccess files automatically AllowOverride none <Files merge3.html> # initiate a double merge with htaccess file AllowOverride all </Files> </Directory> </VirtualHost> <Location /TestModperl__subenv> PerlOptions -SetupEnv SetHandler modperl PerlResponseHandler TestModperl::subenv </Location> <Location /TestModperl__methodobj> PerlResponseHandler $TestModperl::MethodObj->handler SetHandler modperl </Location> <Location /TestModperl__method> SetHandler modperl PerlResponseHandler TestModperl::method </Location> <Location /TestModperl__pnotes> SetHandler modperl PerlResponseHandler TestModperl::pnotes </Location> <Location /TestModperl__perl> SetHandler modperl PerlResponseHandler TestModperl::perl </Location> <Location /TestModperl__exit> SetHandler modperl PerlResponseHandler TestModperl::exit </Location> <Location /TestModperl__request_rec_tie_api> SetHandler modperl PerlResponseHandler TestModperl::request_rec_tie_api </Location> <Location /TestModperl__readline> SetHandler modperl PerlResponseHandler TestModperl::readline </Location> PerlModule TestModperl::printf <Location /TestModperl__printf> PerlFixupHandler TestModperl::printf::fixup SetHandler modperl PerlResponseHandler TestModperl::printf </Location> <Location /TestModperl__post_utf8> SetHandler perl-script PerlResponseHandler TestModperl::post_utf8 </Location> <Location /TestModperl__env> SetHandler perl-script PerlResponseHandler TestModperl::env </Location> <Location /TestModperl__status> SetHandler modperl PerlResponseHandler TestModperl::status </Location> <Location /TestModperl__sameinterp> PerlFixupHandler Apache::TestHandler::same_interp_fixup SetHandler modperl PerlResponseHandler TestModperl::sameinterp </Location> Listen localhost:8531 <VirtualHost _default_:8531> ServerName localhost:8531 PerlOptions -PreConnection -ProcessConnection PerlOptions -Autoload -Log -InputFilter -OutputFilter PerlOptions +ChildInit +ChildExit PerlModule TestModperl::perl_options PerlOptions +ParseHeaders <Location /TestModperl__perl_options> SetHandler modperl PerlOptions -GlobalRequest -SetupEnv PerlOptions +MergeHandlers PerlResponseHandler TestModperl::perl_options </Location> </VirtualHost> PerlModule TestModperl::io_with_closed_stds <Location /TestModperl__io_with_closed_stds> SetHandler perl-script PerlFixupHandler TestModperl::io_with_closed_stds::fixup PerlResponseHandler TestModperl::io_with_closed_stds PerlCleanupHandler TestModperl::io_with_closed_stds::cleanup </Location> <Location /TestModperl__taint> SetHandler modperl PerlResponseHandler TestModperl::taint </Location> <Location /TestModperl__methodname> PerlResponseHandler TestModperl::methodname->response SetHandler modperl </Location> # create a separate virtual host so we can use # keepalives - a per-connection interpreter is # the only way to make sure that we can plan in # one request and test in subsequent tests Listen localhost:8532 <VirtualHost _default_:8532> ServerName localhost:8532 KeepAlive On <IfDefine PERL_ITHREADS> PerlInterpScope connection </IfDefine> PerlModule TestModperl::setupenv PerlPostReadRequestHandler TestModperl::setupenv::subenv_one # SetEnv is affected by +SetupEnv SetEnv SRV_SETENV server # PerlSetEnv is not affected by +SetupEnv or -SetupEnv # it is entirely separate and always set if configured PerlSetEnv SRV_PERLSETENV server # plan <Location /TestModperl__setupenv> SetHandler modperl PerlResponseHandler TestModperl::setupenv </Location> # default modperl handler # %ENV should not contain standard CGI variables # or entries from the subprocess_env table <Location /TestModperl__setupenv_mpdefault> SetHandler modperl PerlResponseHandler TestModperl::setupenv::noenv PerlFixupHandler TestModperl::setupenv::subenv_two SetEnv DIR_SETENV mpdefault PerlSetEnv DIR_PERLSETENV mpdefault </Location> # modperl handler + SetupEnv # %ENV should contain CGI variables as well as # anything put into the subprocess_env table <Location /TestModperl__setupenv_mpsetup> SetHandler modperl PerlResponseHandler TestModperl::setupenv::env PerlOptions +SetupEnv PerlFixupHandler TestModperl::setupenv::subenv_two SetEnv DIR_SETENV mpsetup PerlSetEnv DIR_PERLSETENV mpsetup </Location> # $r->subprocess_env in a void context with no args # should do the same as +SetupEnv wrt CGI variables # and entries already in the subprocess_env table # but subprocess_env entries that appear later will # not show up in %ENV <Location /TestModperl__setupenv_mpvoid> SetHandler modperl PerlResponseHandler TestModperl::setupenv::someenv PerlHeaderParserHandler TestModperl::setupenv::subenv_void PerlFixupHandler TestModperl::setupenv::subenv_two SetEnv DIR_SETENV mpvoid PerlSetEnv DIR_PERLSETENV mpvoid </Location> # +SetupEnv should always populate %ENV fully prior # to running the content handler (regardless of when # $r->subprocess_env() was called) to ensure that # %ENV is an accurate representation of the # subprocess_env table <Location /TestModperl__setupenv_mpsetupvoid> SetHandler modperl PerlResponseHandler TestModperl::setupenv::env PerlOptions +SetupEnv PerlHeaderParserHandler TestModperl::setupenv::subenv_void PerlFixupHandler TestModperl::setupenv::subenv_two SetEnv DIR_SETENV mpsetupvoid PerlSetEnv DIR_PERLSETENV mpsetupvoid </Location> # default perl-script handler is equivalent to +SetupEnv # CGI variables and subprocess_env entries will be in %ENV <Location /TestModperl__setupenv_psdefault> SetHandler perl-script PerlResponseHandler TestModperl::setupenv::env PerlFixupHandler TestModperl::setupenv::subenv_two SetEnv DIR_SETENV psdefault PerlSetEnv DIR_PERLSETENV psdefault </Location> # -SetupEnv should not put CGI variables or subprocess_env # entries in %ENV <Location /TestModperl__setupenv_psnosetup> SetHandler perl-script PerlResponseHandler TestModperl::setupenv::noenv PerlOptions -SetupEnv PerlFixupHandler TestModperl::setupenv::subenv_two SetEnv DIR_SETENV psnosetup PerlSetEnv DIR_PERLSETENV psnosetup </Location> # +SetupEnv should always populate %ENV fully prior # to running the content handler (regardless of when # $r->subprocess_env() was called) to ensure that # %ENV is an accurate representation of the # subprocess_env table <Location /TestModperl__setupenv_psvoid> SetHandler perl-script PerlResponseHandler TestModperl::setupenv::env PerlHeaderParserHandler TestModperl::setupenv::subenv_void PerlFixupHandler TestModperl::setupenv::subenv_two SetEnv DIR_SETENV psvoid PerlSetEnv DIR_PERLSETENV psvoid </Location> # equivalent to modperl handler with $r->subprocess_env() - # CGI variables are there, but not subprocess_env entries # that are populated after the void call <Location /TestModperl__setupenv_psnosetupvoid> SetHandler perl-script PerlResponseHandler TestModperl::setupenv::someenv PerlOptions -SetupEnv PerlHeaderParserHandler TestModperl::setupenv::subenv_void PerlFixupHandler TestModperl::setupenv::subenv_two SetEnv DIR_SETENV psnosetupvoid PerlSetEnv DIR_PERLSETENV psnosetupvoid </Location> </VirtualHost> <Location /TestDirective__pod> SetHandler modperl PerlResponseHandler TestDirective::pod </Location> <Location /TestDirective__perldo> SetHandler modperl PerlResponseHandler TestDirective::perldo </Location> <Location /TestDirective__setupenv> PerlOptions +SetupEnv SetHandler modperl PerlResponseHandler TestDirective::setupenv </Location> # SetupEnv ought to have no effect on PerlSetEnv or PerlPassEnv # per-server entry overwritten by per-directory entry PerlSetEnv TestDirective__env_srv1 env_srv1 # per-server entry not overwritten PerlSetEnv TestDirective__env_srv2 env_srv2 # PerlPassEnv is only per-server PerlPassEnv APACHE_TEST_HOSTNAME # per-directory entry overwrites per-server # PerlSetEnv resets the table for each directive <Location /TestDirective__env> PerlOptions -SetupEnv PerlSetEnv TestDirective__env_srv1 env_dir1 PerlSetEnv TestDirective__env_dir2 ToBeLost PerlSetEnv TestDirective__env_dir2 env_dir2 SetHandler modperl PerlResponseHandler TestDirective::env </Location> <Location /TestAPR__brigade> SetHandler modperl PerlResponseHandler TestAPR::brigade </Location> <Location /TestAPR__util> SetHandler modperl PerlResponseHandler TestAPR::util </Location> <Location /TestAPR__finfo> SetHandler modperl PerlResponseHandler TestAPR::finfo </Location> <Location /TestAPR__netlib> SetHandler modperl PerlResponseHandler TestAPR::netlib </Location> <Location /TestAPR__pool> SetHandler modperl PerlResponseHandler TestAPR::pool </Location> <Location /TestAPR__uuid> SetHandler modperl PerlResponseHandler TestAPR::uuid </Location> <Location /TestAPR__string> SetHandler modperl PerlResponseHandler TestAPR::string </Location> <Location /TestAPR__table> SetHandler modperl PerlResponseHandler TestAPR::table </Location> <Location /TestAPR__socket> SetHandler modperl PerlResponseHandler TestAPR::socket </Location> <Location /TestAPR__flatten> SetHandler modperl PerlResponseHandler TestAPR::flatten </Location> <Location /TestAPR__os> SetHandler modperl PerlResponseHandler TestAPR::os </Location> <Location /TestAPR__perlio> SetHandler modperl PerlResponseHandler TestAPR::perlio </Location> <Location /TestAPR__threadmutex> SetHandler modperl PerlResponseHandler TestAPR::threadmutex </Location> <Location /TestAPR__date> SetHandler modperl PerlResponseHandler TestAPR::date </Location> <Location /TestAPR__base64> SetHandler modperl PerlResponseHandler TestAPR::base64 </Location> # this should work regardless whether parse headers is on or off <Location /TestApache__send_cgi_header> PerlOptions -ParseHeaders SetHandler modperl PerlResponseHandler TestApache::send_cgi_header </Location> <Location /TestApache__subprocess> SetHandler modperl PerlResponseHandler TestApache::subprocess </Location> <Location /TestApache__write> SetHandler modperl PerlResponseHandler TestApache::write </Location> <Location /TestApache__scanhdrs2> SetHandler perl-script PerlOptions +ParseHeaders PerlResponseHandler TestApache::scanhdrs2 </Location> <Location /TestApache__post> SetHandler modperl PerlResponseHandler TestApache::post </Location> <Location /TestApache__read> SetHandler modperl PerlResponseHandler TestApache::read </Location> <Location /TestApache__conftree> SetHandler modperl PerlResponseHandler TestApache::conftree </Location> <Location /TestApache__discard_rbody> SetHandler modperl PerlResponseHandler TestApache::discard_rbody </Location> <Location /TestApache__scanhdrs> SetHandler perl-script PerlOptions +ParseHeaders PerlResponseHandler TestApache::scanhdrs </Location> <Location /TestApache__util> SetHandler modperl PerlResponseHandler TestApache::util </Location> <IfDefine PERL_ITHREADS> PerlInterpScope handler </Ifdefine> <Location /TestApache__cgihandler> SetHandler perl-script PerlResponseHandler TestApache::cgihandler </Location> <Location /TestError__runtime> SetHandler modperl PerlResponseHandler TestError::runtime </Location> <Location /TestError__syntax> SetHandler modperl PerlResponseHandler TestError::syntax </Location> <Location /TestError__api> PerlOptions -GlobalRequest SetHandler modperl PerlResponseHandler TestError::api </Location> <Location /TestCompat__request_body> PerlOptions +GlobalRequest SetHandler modperl PerlResponseHandler TestCompat::request_body </Location> <Location /TestCompat__apache_file> PerlOptions +GlobalRequest SetHandler modperl PerlResponseHandler TestCompat::apache_file </Location> <Location /TestCompat__apache_util> PerlOptions +GlobalRequest SetHandler modperl PerlResponseHandler TestCompat::apache_util </Location> <Location /TestCompat__conn_authen> require valid-user AuthType Basic AuthName simple SetHandler modperl PerlOptions +GlobalRequest PerlAuthenHandler TestCompat::conn_authen PerlResponseHandler Apache::TestHandler::ok1 </Location> <Location /TestCompat__request> SetHandler modperl PerlResponseHandler TestCompat::request </Location> <Location /TestCompat__apache_uri> SetHandler modperl PerlResponseHandler TestCompat::apache_uri </Location> <Location /TestCompat__send_fd> SetHandler modperl PerlResponseHandler TestCompat::send_fd </Location> <Location /TestCompat__apache_table> SetHandler modperl PerlResponseHandler TestCompat::apache_table </Location> <Location /TestCompat__conn_rec> SetHandler modperl PerlResponseHandler TestCompat::conn_rec </Location> # so we can test whether send_httpd_header() works fine <Location /TestCompat__apache> PerlOptions +ParseHeaders SetHandler modperl PerlResponseHandler TestCompat::apache </Location> Listen localhost:8533 <VirtualHost _default_:8533> ServerName localhost:8533 DocumentRoot /usr/home/kiki/work/mod_perl-1.99_13/t/htdocs/vhost <IfDefine PERL_USEITHREADS> # a new interpreter pool PerlOptions +Parent </IfDefine> # use test system's @INC PerlSwitches -I/usr/home/kiki/work/mod_perl-1.99_13/t # mp2 modules PerlRequire "/usr/home/kiki/work/mod_perl-1.99_13/t/conf/modperl_inc.pl" # private to this vhost stuff PerlRequire "/usr/home/kiki/work/mod_perl-1.99_13/t/htdocs/vhost/startup.pl" # <Location /TestVhost__config> container is added via add_config # in t/htdocs/vhost/startup.pl </VirtualHost> PerlModule TestPerl::hash_attack # call twice to verify an access to the same hash value after the rehash <Location /TestPerl__hash_attack> PerlInitHandler TestPerl::hash_attack::init PerlFixupHandler TestPerl::hash_attack::fixup TestPerl::hash_attack::fixup SetHandler modperl PerlResponseHandler TestPerl::hash_attack </Location> <Location /TestPerl__api> SetHandler modperl PerlResponseHandler TestPerl::api </Location> Listen localhost:8534 <VirtualHost _default_:8534> PerlProcessConnectionHandler TestProtocol::echo_filter </VirtualHost> Listen localhost:8535 <VirtualHost _default_:8535> PerlProcessConnectionHandler TestProtocol::echo </VirtualHost> Listen localhost:8536 <VirtualHost _default_:8536> ServerName localhost:8536 PerlPreConnectionHandler TestPreConnection::note <Location /TestPreConnection__note> SetHandler modperl PerlResponseHandler TestPreConnection::note::response </Location> </VirtualHost> <Location /TestHooks__set_handlers> PerlHeaderParserHandler TestHooks::set_handlers </Location> <Location /TestHooks__cleanup2> SetHandler modperl PerlResponseHandler TestHooks::cleanup2 </Location> PerlModule TestHooks::init PerlInitHandler TestHooks::init::first <Location /TestHooks__init> PerlInitHandler TestHooks::init::second PerlResponseHandler TestHooks::init PerlResponseHandler TestHooks::init::response SetHandler modperl </Location> PerlModule TestHooks::access <Location /TestHooks__access> PerlAccessHandler TestHooks::access PerlInitHandler TestHooks::access::init PerlFixupHandler TestHooks::access::fixup PerlResponseHandler Apache::TestHandler::ok1 SetHandler modperl </Location> #<Location /> # PerlAccessHandler TestHooks::access #</Location> <Location /TestHooks__fixup> PerlResponseHandler TestHooks::fixup::response SetHandler modperl PerlFixupHandler TestHooks::fixup </Location> <Location /TestHooks__push_handlers> SetHandler modperl PerlHeaderParserHandler TestHooks::push_handlers PerlResponseHandler TestHooks::push_handlers::conf PerlResponseHandler TestHooks::push_handlers::conf1 TestHooks::push_handlers::conf2 </Location> PerlTransHandler TestHooks::trans <Location /TestHooks__trans> PerlResponseHandler Apache::TestHandler::ok1 SetHandler modperl </Location> <Location /TestHooks__cleanup> SetHandler modperl PerlCleanupHandler TestHooks::cleanup::cleanup1 PerlResponseHandler TestHooks::cleanup </Location> <Location /TestHooks__stacked_handlers> SetHandler modperl PerlHeaderParserHandler TestHooks::stacked_handlers </Location> # create a new virtual host so we can test (almost all) all the hooks Listen localhost:8537 <VirtualHost _default_:8537> ServerName localhost:8537 PerlModule TestHooks::stacked_handlers2 # all 2 run PerlPostReadRequestHandler TestHooks::stacked_handlers2::ok TestHooks::stacked_handlers2::ok # 1 run, 1 left behind PerlTransHandler TestHooks::stacked_handlers2::ok TestHooks::stacked_handlers2::server_error # 1 run, 1 left behind PerlMapToStorageHandler TestHooks::stacked_handlers2::ok TestHooks::stacked_handlers2::server_error <Location /TestHooks__stacked_handlers2> # all 4 run PerlHeaderParserHandler TestHooks::stacked_handlers2::ok TestHooks::stacked_handlers2::declined PerlHeaderParserHandler TestHooks::stacked_handlers2::declined TestHooks::stacked_handlers2::ok # all 2 run PerlAccessHandler TestHooks::stacked_handlers2::ok TestHooks::stacked_handlers2::ok # 2 run, 1 left behind PerlAuthenHandler TestHooks::stacked_handlers2::declined TestHooks::stacked_handlers2::ok PerlAuthenHandler TestHooks::stacked_handlers2::auth_required # 2 run, 1 left behind PerlAuthzHandler TestHooks::stacked_handlers2::declined TestHooks::stacked_handlers2::ok PerlAuthzHandler TestHooks::stacked_handlers2::auth_required # 1 run, 1 left behind PerlTypeHandler TestHooks::stacked_handlers2::ok TestHooks::stacked_handlers3::server_error # all 2 run PerlFixupHandler TestHooks::stacked_handlers2::ok TestHooks::stacked_handlers2::ok # 2 run, 2 left behind PerlResponseHandler TestHooks::stacked_handlers2::declined TestHooks::stacked_handlers2 PerlResponseHandler TestHooks::stacked_handlers2::ok TestHooks::stacked_handlers2::server_error SetHandler modperl AuthType Basic Require valid-user PerlOutputFilterHandler TestHooks::stacked_handlers2::passthru TestHooks::stacked_handlers2::filter </Location> </VirtualHost> <Location /TestHooks__headerparser> PerlOptions +SetupEnv PerlResponseHandler TestHooks::headerparser::response SetHandler modperl PerlHeaderparserHandler TestHooks::headerparser </Location> PerlModule TestHooks::authz <Location /TestHooks__authz> require user dougm AuthType Basic AuthName simple PerlAuthenHandler TestHooks::authz::auth_any PerlResponseHandler Apache::TestHandler::ok1 SetHandler modperl PerlAuthzHandler TestHooks::authz </Location> Listen localhost:8538 <VirtualHost _default_:8538> ServerName localhost:8538 PerlSetVar PostConfig VHost PerlModule TestHooks::startup PerlPostConfigHandler TestHooks::startup::post_config PerlOpenLogsHandler TestHooks::startup::open_logs <Location /TestHooks__startup> SetHandler modperl PerlResponseHandler TestHooks::startup </Location> </VirtualHost> PerlSetVar PostConfig Main PerlModule TestHooks::startup PerlPostConfigHandler TestHooks::startup::post_config PerlOpenLogsHandler TestHooks::startup::open_logs <Location /TestHooks__startup> SetHandler modperl PerlResponseHandler TestHooks::startup </Location> <Location /TestHooks__push_handlers_same_phase> SetHandler modperl PerlResponseHandler TestHooks::push_handlers_same_phase </Location> <Location /TestHooks__push_handlers_blessed> SetHandler modperl PerlResponseHandler TestHooks::push_handlers_blessed </Location> <Location /TestHooks__authen> require valid-user AuthType Basic AuthName simple PerlResponseHandler Apache::TestHandler::ok1 SetHandler modperl PerlAuthenHandler TestHooks::authen </Location> PerlModule TestFilter::in_error <Location /TestFilter__in_error> SetHandler modperl PerlResponseHandler TestFilter::in_error::response PerlInputFilterHandler TestFilter::in_error </Location> PerlModule TestFilter::out_init_basic <Location /TestFilter__out_init_basic> SetHandler modperl PerlResponseHandler TestFilter::out_init_basic::response PerlOutputFilterHandler TestFilter::out_init_basic::transparent </Location> Listen localhost:8539 <VirtualHost _default_:8539> ServerName localhost:8539 PerlModule TestFilter::in_bbs_inject_header PerlInputFilterHandler TestFilter::in_bbs_inject_header <Location /TestFilter__in_bbs_inject_header> SetHandler modperl PerlResponseHandler TestFilter::in_bbs_inject_header::response </Location> </VirtualHost> PerlModule TestFilter::out_str_remove <Location /TestFilter__out_str_remove> SetHandler modperl PerlResponseHandler TestFilter::out_str_remove::response PerlOutputFilterHandler TestFilter::out_str_remove::insert_underscores PerlOutputFilterHandler TestFilter::out_str_remove::upcase_n_remove </Location> PerlModule TestFilter::out_str_subreq_modperl <Location /modperl_subrequest> SetHandler modperl PerlResponseHandler TestFilter::out_str_subreq_modperl::subrequest </Location> <Location /TestFilter__out_str_subreq_modperl> SetHandler modperl PerlResponseHandler TestFilter::out_str_subreq_modperl::response PerlOutputFilterHandler TestFilter::out_str_subreq_modperl::include </Location> PerlModule TestFilter::out_str_declined <Location /TestFilter__out_str_declined> SetHandler modperl PerlResponseHandler TestFilter::out_str_declined::response PerlOutputFilterHandler TestFilter::out_str_declined::decline PerlOutputFilterHandler TestFilter::out_str_declined::black_hole </Location> PerlModule TestFilter::in_bbs_underrun #PerlInputFilterHandler ModPerl::TestFilterDebug::snoop_request <Location /TestFilter__in_bbs_underrun> SetHandler modperl PerlResponseHandler TestFilter::in_bbs_underrun::response PerlInputFilterHandler TestFilter::in_bbs_underrun::handler </Location> PerlModule TestFilter::out_str_subreq_default Alias /default_subrequest /usr/home/kiki/work/mod_perl-1.99_13/t/htdocs/filter <Location /default_subrequest> SetHandler default-handler </Location> <Location /TestFilter__out_str_subreq_default> SetHandler modperl PerlResponseHandler TestFilter::out_str_subreq_default::response PerlOutputFilterHandler TestFilter::out_str_subreq_default::include </Location> PerlModule TestFilter::out_str_req_eos <Location /TestFilter__out_str_req_eos> SetHandler modperl PerlResponseHandler TestFilter::out_str_req_eos PerlOutputFilterHandler TestFilter::out_str_req_eos::add_prefix PerlOutputFilterHandler TestFilter::out_str_req_eos::add_suffix </Location> PerlModule TestFilter::out_bbs_ctx <Location /TestFilter__out_bbs_ctx> SetHandler modperl PerlResponseHandler TestFilter::out_bbs_ctx::response PerlOutputFilterHandler TestFilter::out_bbs_ctx </Location> PerlModule TestFilter::out_str_api <Location /TestFilter__out_str_api> SetHandler modperl PerlResponseHandler TestFilter::out_str_api::response PerlOutputFilterHandler TestFilter::out_str_api </Location> PerlModule TestFilter::in_bbs_body <Location /TestFilter__in_bbs_body> SetHandler modperl PerlResponseHandler TestFilter::in_bbs_body::response PerlInputFilterHandler TestFilter::in_bbs_body </Location> PerlModule TestFilter::in_str_consume #PerlInputFilterHandler ModPerl::TestFilterDebug::snoop_request #PerlInputFilterHandler ModPerl::TestFilterDebug::snoop_request <Location /TestFilter__in_str_consume> SetHandler modperl PerlResponseHandler TestFilter::in_str_consume::response PerlInputFilterHandler TestFilter::in_str_consume::handler </Location> PerlModule TestFilter::out_str_reverse <LocationMatch "/filter/reverse.txt"> PerlOutputFilterHandler TestFilter::out_str_reverse </LocationMatch> <Location /TestFilter__out_str_reverse> SetHandler modperl PerlResponseHandler TestFilter::out_str_reverse::response PerlOutputFilterHandler TestFilter::out_str_reverse </Location> PerlModule TestFilter::out_str_ctx <Location /TestFilter__out_str_ctx> SetHandler modperl PerlResponseHandler TestFilter::out_str_ctx::response PerlOutputFilterHandler TestFilter::out_str_ctx </Location> PerlModule TestFilter::in_str_sandwich <Location /TestFilter__in_str_sandwich> SetHandler modperl PerlResponseHandler TestFilter::in_str_sandwich::response PerlInputFilterHandler TestFilter::in_str_sandwich </Location> PerlModule TestFilter::in_init_basic <Location /TestFilter__in_init_basic> SetHandler modperl PerlResponseHandler TestFilter::in_init_basic::response PerlInputFilterHandler TestFilter::in_init_basic::suicide PerlInputFilterHandler TestFilter::in_init_basic::transparent </Location> PerlModule TestFilter::out_str_req_mix <Location /TestFilter__out_str_req_mix> Options +Includes PerlOutputFilterHandler TestFilter::out_str_req_mix::adjust PerlSetOutputFilter INCLUDES PerlOutputFilterHandler TestFilter::out_str_req_mix::adjust SetHandler modperl PerlResponseHandler TestFilter::out_str_req_mix </Location> PerlModule TestFilter::out_bbs_basic <Location /TestFilter__out_bbs_basic> SetHandler modperl PerlResponseHandler TestFilter::out_bbs_basic::response PerlOutputFilterHandler TestFilter::out_bbs_basic </Location> PerlModule TestFilter::in_str_lc <Location /TestFilter__in_str_lc> SetHandler modperl PerlResponseHandler TestFilter::in_str_lc::response PerlInputFilterHandler TestFilter::in_str_lc </Location> PerlModule TestFilter::both_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=10), so it's going # to filter input first no matter how we insert other mod_perl # filters. (mod_perl connection filter handlers have an even # higher priority (AP_FTYPE_PROTOCOL = 30), see # include/util_filter.h for those definitions). # # PerlSetInputFilter is only useful for preserving the # insertion order of filters with the same priority SetInputFilter DEFLATE #PerlInputFilterHandler ModPerl::TestFilterDebug::snoop_request PerlInputFilterHandler TestFilter::both_str_req_mix::in_adjust PerlInputFilterHandler TestFilter::both_str_req_mix::transparent # here INCLUDES and adjust are both of the same priority # (AP_FTYPE_RESOURCE), so PerlSetOutputFilter PerlOutputFilterHandler TestFilter::both_str_req_mix::out_adjust_before_ssi PerlSetOutputFilter INCLUDES PerlOutputFilterHandler TestFilter::both_str_req_mix::out_adjust_after_ssi #PerlOutputFilterHandler ModPerl::TestFilterDebug::snoop_request PerlSetOutputFilter DEFLATE SetHandler modperl PerlResponseHandler TestFilter::both_str_req_mix </Location> <Location /TestFilter__in_autoload> SetHandler modperl PerlResponseHandler ModPerl::Test::pass_through_response_handler # no PerlModule TestFilter::in_load on purpose PerlInputFilterHandler TestFilter::in_autoload </Location> Listen localhost:8540 <VirtualHost _default_:8540> ServerName localhost:8540 PerlModule TestFilter::in_str_msg PerlInputFilterHandler TestFilter::in_str_msg <Location /TestFilter__in_str_msg> SetHandler modperl PerlResponseHandler TestFilter::in_str_msg::response </Location> </Virtualhost> <Location /TestFilter__in_str_msg> PerlInputFilterHandler TestFilter::in_str_msg </Location> PerlModule TestFilter::both_str_req_add <Location /TestFilter__both_str_req_add> SetHandler modperl PerlHeaderParserHandler TestFilter::both_str_req_add::header_parser PerlResponseHandler TestFilter::both_str_req_add </Location> Listen localhost:8541 <VirtualHost _default_:8541> ServerName localhost:8541 PerlModule TestFilter::both_str_con_add PerlPreConnectionHandler TestFilter::both_str_con_add::pre_connection PerlProcessConnectionHandler TestFilter::both_str_con_add </VirtualHost> <IfModule mod_proxy.c> <Proxy http://localhost:8529/*> <IfModule mod_access.c> Order Deny,Allow Deny from all Allow from localhost </IfModule> </Proxy> ProxyRequests Off RewriteEngine On ProxyPass /TestFilter__both_str_req_proxy/ \ http://localhost:8529/TestFilter__both_str_req_proxy_content/ ProxyPassReverse /TestFilter__both_str_req_proxy/ \ http://localhost:8529/TestFilter__both_str_req_proxy_content/ </IfModule> PerlModule TestFilter::both_str_req_proxy <Location /TestFilter__both_str_req_proxy> PerlInputFilterHandler TestFilter::both_str_req_proxy::in_filter PerlOutputFilterHandler TestFilter::both_str_req_proxy::out_filter </Location> <Location /TestFilter__both_str_req_proxy_content> SetHandler modperl PerlResponseHandler TestFilter::both_str_req_proxy </Location> Listen localhost:8542 <VirtualHost _default_:8542> ServerName localhost:8542 PerlModule TestFilter::in_bbs_msg PerlInputFilterHandler TestFilter::in_bbs_msg <Location /TestFilter__in_bbs_msg> SetHandler modperl PerlResponseHandler TestFilter::in_bbs_msg::response </Location> </VirtualHost> PerlModule TestFilter::in_bbs_consume <Location /TestFilter__in_bbs_consume> SetHandler modperl PerlResponseHandler TestFilter::in_bbs_consume::response PerlInputFilterHandler TestFilter::in_bbs_consume </Location> <Location /top_dir> PerlOutputFilterHandler TestFilter::out_str_lc </Location> Alias /top_dir /usr/home/kiki/work/mod_perl-1.99_13 <Location /TestFilter__out_str_lc> PerlOutputFilterHandler TestFilter::out_str_lc </Location> PerlModule TestFilter::in_str_declined <Location /TestFilter__in_str_declined> SetHandler modperl PerlResponseHandler TestFilter::in_str_declined::response PerlInputFilterHandler TestFilter::in_str_declined </Location> # APACHE_TEST_CONFIG_ORDER 940 PerlSwitches -I/usr/home/kiki/work/mod_perl-1.99_13/t/htdocs/testdirective/perlmodule-vh Listen localhost:8543 <VirtualHost _default_:8543> ServerName localhost:8543 PerlModule ApacheTest::PerlModuleTest <Location /TestDirective__perlmodule> SetHandler modperl PerlResponseHandler TestDirective::perlmodule </Location> </Virtualhost> <Location /TestDirective__perlmodule> SetHandler modperl PerlResponseHandler TestDirective::perlmodule </Location> # APACHE_TEST_CONFIG_ORDER 940 PerlSwitches -I/usr/home/kiki/work/mod_perl-1.99_13/t/htdocs/testdirective/main PerlRequire "ApacheTest/PerlRequireTest.pm" Listen localhost:8544 <VirtualHost _default_:8544> ServerName localhost:8544 <IfDefine PERL_USEITHREADS> # a new interpreter pool PerlOptions +Parent </IfDefine> # use test system's @INC PerlSwitches -I/usr/home/kiki/work/mod_perl-1.99_13/t PerlRequire "conf/modperl_inc.pl" PerlModule Apache2 PerlSwitches -I/usr/home/kiki/work/mod_perl-1.99_13/t/htdocs/testdirective/vh PerlRequire "ApacheTest/PerlRequireTest.pm" <Location /TestDirective__perlrequire> SetHandler modperl PerlResponseHandler TestDirective::perlrequire </Location> </Virtualhost> <Location /TestDirective__perlrequire> SetHandler modperl PerlResponseHandler TestDirective::perlrequire </Location> # APACHE_TEST_CONFIG_ORDER 941 Listen localhost:8545 <VirtualHost _default_:8545> ServerName localhost:8545 <IfDefine PERL_USEITHREADS> # a new interpreter pool PerlOptions +Parent </IfDefine> # use test system's @INC PerlSwitches -I/usr/home/kiki/work/mod_perl-1.99_13/t PerlRequire "conf/modperl_inc.pl" PerlModule Apache2 <Location /TestPerl__ithreads> SetHandler modperl PerlResponseHandler TestPerl::ithreads </Location> </Virtualhost> <Location /TestPerl__ithreads> SetHandler modperl PerlResponseHandler TestPerl::ithreads </Location> # APACHE_TEST_CONFIG_ORDER 950 PerlLoadModule TestDirective::perlloadmodule4 Listen localhost:8546 <VirtualHost _default_:8546> ServerName localhost:8546 # here perlloadmodule sets scfg on behalf of the base server MyTest4 "Vhost" <Location /TestDirective__perlloadmodule4> MyTest4 "Dir" SetHandler modperl PerlResponseHandler TestDirective::perlloadmodule4 </Location> </Virtualhost> <Location /TestDirective__perlloadmodule4> SetHandler modperl PerlResponseHandler TestDirective::perlloadmodule4 </Location> # APACHE_TEST_CONFIG_ORDER 950 PerlLoadModule TestDirective::perlloadmodule2 MyMergeTest one two <Location /TestDirective__perlloadmodule2> MyMergeTest three four </Location> <Location /TestDirective__perlloadmodule2/subdir> MyMergeTest five MyMergeTest six </Location> <Location /TestDirective__perlloadmodule2> SetHandler modperl PerlResponseHandler TestDirective::perlloadmodule2 </Location> # APACHE_TEST_CONFIG_ORDER 950 PerlLoadModule TestDirective::perlloadmodule MyTest one two ServerTest per-server <Location /TestDirective__perlloadmodule> MyOtherTest value SetHandler modperl PerlResponseHandler TestDirective::perlloadmodule </Location> # APACHE_TEST_CONFIG_ORDER 950 PerlLoadModule TestDirective::perlloadmodule5 Listen localhost:8547 <VirtualHost _default_:8547> ServerName localhost:8547 # here mod_perl sets the scfg by itself for this vhost PerlModule File::Spec MyTest5 "Vhost" <Location /TestDirective__perlloadmodule5> MyTest5 "Dir" SetHandler modperl PerlResponseHandler TestDirective::perlloadmodule5 </Location> </Virtualhost> <Location /TestDirective__perlloadmodule5> SetHandler modperl PerlResponseHandler TestDirective::perlloadmodule5 </Location> # APACHE_TEST_CONFIG_ORDER 950 PerlLoadModule TestDirective::perlloadmodule3 MyPlus 5 MyList "MainServer" MyAppend "MainServer" MyOverride "MainServer" Listen localhost:8548 <VirtualHost _default_:8548> ServerName localhost:8548 MyPlus 2 MyList "VHost" MyAppend "VHost" MyOverride "VHost" <Location /TestDirective__perlloadmodule3> MyPlus 3 MyList "Dir" MyAppend "Dir" MyOverride "Dir" SetHandler modperl PerlResponseHandler TestDirective::perlloadmodule3 </Location> <Location /TestDirective__perlloadmodule3/subdir> MyPlus 1 MyList "SubDir" MyAppend "SubDir" MyOverride "SubDir" </Location> </Virtualhost> <Location /TestDirective__perlloadmodule3> SetHandler modperl PerlResponseHandler TestDirective::perlloadmodule3 </Location> # XXX: we want to have this configuration section to come first # amongst other perlloadmodule tests (<950), so we can test how # mod_perl starts from vhost. but currently we can't because # PerlSwitches from other tests are ignored, so the test suite fails # to startup. # # tmp solution: ensure that it's configured *after* all other # perlloadmodule tests # # APACHE_TEST_CONFIG_ORDER 951 Listen localhost:8549 <VirtualHost _default_:8549> ServerName localhost:8549 PerlLoadModule TestDirective::perlloadmodule6 MyTest6 "Vhost" <Location /TestDirective__perlloadmodule6> MyTest6 "Dir" SetHandler modperl PerlResponseHandler TestDirective::perlloadmodule6 </Location> </Virtualhost> <Location /TestDirective__perlloadmodule6> SetHandler modperl PerlResponseHandler TestDirective::perlloadmodule6 </Location> Include "/usr/home/kiki/work/mod_perl-1.99_13/t/conf/extra.last.conf" --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]