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]