mod_perl-1.99_10.tar.gz
has entered CPAN as
file: $CPAN/authors/id/S/ST/STAS/mod_perl-1.99_10.tar.gz size: 1063061 bytes md5: 55345e460b5976b39da9aeb3b5a3b5db
Changes since v1.99_09:
make sure that the custom pools and destroyed only once and only when all references went out of scope [Stas]
($r|$c)->add_(input|output)_filter(\&handler) now verify that the filter of the right kind is passed and will refuse to add a request filter as a connection filter and vice versa. The request filter handler is not required to have the FilterRequestHandler attribute as long as it doesn't have any other attributes. The connection filter handler is required to have the FilterConnectionHandler attribute. [Stas]
fix tracing with (PerlTrace/MOD_PERL_TRACE) on win32 (the error_log filehandle was invalid after the open_logs phase) [Stas]
fix a bug where %ENV vars set via subprocess_env persist across requests. (e.g. a Cookie incoming header which ends up in $ENV{HTTP_COOKIE} would persist to the next request which has no Cookie header at all). Now we unset all the %ENV vars set from subprocess_env. Improve and extend the tests to cover this bug. [Stas]
it is invalid to return HTTP_INTERNAL_SERVER_ERROR or any other HTTP response code from modperl_wbucket_pass, therefore set the error code into r->status and return APR_SUCCESS. Untill now response handler with messed up response headers, were causing no response what so ever to the client. LWP was assuming 500, and it was all fine, testing without LWP has immediately revealed that there was a problem in the handling of this case. [Stas]
put the end to the 'Not a CODE reference' errors, instead provide an intelligent error message, hopefully telling which function can't be found. at the same time improve the tracing to include the pid/tid of the server that has encountered this problem, to make it easier to debug. [Stas]
mod_perl handler must be dupped for any mpm which runs within USE_ITHREAD. Untill now there was a big problem with prefork mpm if any of its vhosts was using PerlOptions +(Parent|Clone) and happened to load handlers before the main server. When that was happening the main server will see that the handler was resolved (since it sees the handler struct from the vhost that loaded this module, instead of its own), which in fact it wasn't, causing the failure to run the handler with the infamous 'Not a CODE reference' error. [Stas]
Make sure that the static mod_perl library is built after the dynamic (a requirement on win32) [Steve Hay <[EMAIL PROTECTED]>]
Apache::Status now generates HTML 4.01 Strict (and in many cases, also ISO-HTML) compliant output. Also add a simple CSS to make the reports look nicer. [Ville Skyttä <[EMAIL PROTECTED]>]
APR::Pool::DESTROY implemented and tweaked to only destroy pools created via APR::Pool->new() [Geoffrey Young]
$r->slurp_filename is now implemented in C. [Stas]
remove support for httpd 2.0.45/apr 0.9.3 and lower. httpd 2.0.46 is now the minimum supported version. [Geoffrey Young]
APR::PerlIO now accepts the pool object instead of a request/server objects, so it can be used anywhere, including outside mod_perl [Stas]
when perl is built with perlio enabled (5.8+) the new PerlIO Apache layer is used, so now one can push layers onto STDIN, STDOUT handles e.g. binmode(STDOUT, ':utf8'); [Stas]
add ap_table_compress() to APR::Table [Geoffrey Young]
alter stacked handler interface so that mod_perl follows Apache as closely as possible with respect to VOID/RUN_FIRST/RUN_ALL handler types. now, for phases where OK ends the Apache call list (RUN_FIRST handlers, such as the PerlTransHandler), mod_perl follows suit and leaves some handlers uncalled. [Geoffrey Young]
Apache::Build now tries to use the new APR_BINDIR query string to find the location of apr-config. [Stas]
new package Apache::porting to make it easier to port mp1 code to mp2 [Stas]
new Apache::Build methods: mpm_name(), mpm_is_threaded(). use them in the top-level Makefile.PL to require 5.8.0/ithreads if mpm requires threads. [Stas]
add the missing XS methods to ModPerl::MethodLookup, add support for mp1 methods that are no longer in the mod_perl 2.0 API. [Stas]
mod_perl now refuses to build against threaded mpms (non-prefork) unless perl 5.8+ w/ithreads is used [Stas]
don't try to read PERL_HASH_SEED env var, where apr_env_get is not available (apr < 0.9.3) [Stas]
APR.so now can be loaded and used outside mod_perl (all the way back to httpd 2.0.36) [Stas]
perl 5.8.1 randomizes the hash seed, because we precalculate the hash values of mgv elements the hash seed has to be the same across all perl interpreters. So mod_perl now intercepts cases where perl would have randomize it, do the seed randomization by itself and tell perl to use that value. [Stas]
fix APR::PerlIO layer to pop itself if open() has failed. [Stas]
move the definition of DEFINE='-DMP_HAVE_APR_LIBS' to the top level Makefile.PL, since it overrides MY::pasthru target which makes it impossible to define local DEFINE in subdirs. [Stas]
make APR perl functions work outside mod_perl: several libraries weren't linked. Also LIBS needs to receive all libs in one string. [Stas]
Apache::compat: $r->cgi_env, $r->cgi_var are now aliases to $r->subprocess_env [Stas]
For Win32, generate .pdb files for debugging when built with MP_DEBUG. These will get installed into the same directory as the associated dll/so libs. As well, install mod_perl.lib into MP_AP_PREFIX/lib/ for use by 3rd party modules [Randy Kobes].
Apache2.pm is now autogenerated and will adjust @INC to include Apache2/ subdirs only if built with MP_INST_APACHE2=1 [Stas]
Change the default value for the argument 'readbytes' for ap_get_brigade(), from 0 to 8192. other than being useless, 0 always triggers an assert in httpd internal filters and 8192 is a good default. [Stas]
Fix DynaLoader breakeage when using DL_GLOBAL on OpenBSD [Philippe M. Chiasson <[EMAIL PROTECTED]>]
renamed the private modperl_module_config_get_obj function to modperl_module_config_create_obj, since the logic creates the object but doesn't dig it out if it already exists. then, moved logic from mpxs_Apache__Module_get_config into a new public C function that reused the old name, modperl_module_config_get_obj. while Apache::Module->get_config exists as a wrapper to return the object to Perl space, now C/XS folks can also access the object directly with the public function. [Geoffrey Young]
Apache::Reload: add a new config variable: ReloadConstantRedefineWarnings to optionally shut off the constant sub redefine warnings [Stas]
implement $parms->info. directive handlers should now be complete. [Geoffrey Young]
MP_GTOP now works with modern GCC [Philippe M. Chiasson <[EMAIL PROTECTED]
add missing dependencies to Apache::PerlSections [Geoffrey Young]
$r->get_client_block is bogus in httpd-2.0.45 (and ealier), as it can't handle EOS buckets arriving in the same bucket brigade with data. so rewrite ModPerl::Test::read_post to use an explicit read through all bucket brigades till it sees eos and then it stops. The code is longer but it works correctly. [Stas]
an attempt to resolve the binary compatibility problem in PerlIOAPR_seek API when APR_HAS_LARGE_FILES=0 [Stas]
perl 5.8.0 forgets to export PerlIOBase_noop_fail, causing problems on win32 and aix. reimplement this function locally to solve the problem. APR::PerlIO should now be useful on win32 and aix [Stas]
implement DECLINE_CMD and DIR_MAGIC_TYPE constants [Geoffrey Young]
allow init filter handlers to call other methods than just $f->ctx [Stas]
Fix Apache::Reload to gracefully handle the case with empty Touchfiles [Dmitri Tikhonov <[EMAIL PROTECTED]>]
PerlRequire entried should be executed before PerlModule entries in VirtualHost containers, just like in the base server [Stas]
__________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com