
stas at stason
Apr 27, 2003, 8:06 PM
Post #1 of 1
(1157 views)
Permalink
|
|
[ANNOUNCE] mod_perl-1.99_09
|
|
The uploaded file mod_perl-1.99_09.tar.gz (also available from http://perl.apache.org/dist/mod_perl-1.99_09.tar.gz) has entered CPAN as file: $CPAN/authors/id/S/ST/STAS/mod_perl-1.99_09.tar.gz size: 912283 bytes md5: 475a62af71425e71552f0062ee6b8d6f Changes since 1.99_08: $filter->seen_eos() now accepts 1/0 to set/unset the flag so streaming filters can control the sending of EOS. [Stas] support systems where apr header files are installed separately from httpd header files ["Andres Salomon" <dilinger [at] voxel>] implement init filter handlers + tests [Stas] improving ModPerl::MethodLookup to: - handle more aliased perl XS functions - sort the methods map struct so one can use the autogenerated map as is - add lookup_module, tells which methods are defined by a given module - add lookup_object, tells which methods can be called on a given object - provide autoexported wrappers print_method, print_module and print_object for easy deployment from the command line [Stas] add Perl glue for functions: APR::Socket::timeout_get APR::Socket::timeout_set [Stas] similar to SetEnv, upcase the env keys for PassEnv on platforms with caseless env (e.g. win32) [steve.sparling [at] ps] Add a backcompat wrapper for $r->notes (mp2 supports only the APR::Table API) [Stas] Add a script mp2bug and a target 'make bugreport', so people can use bugreporting during the build and after modperl is installed. [Stas] Add a script mp2doc as a replacement for perldoc (due to 2.0 modules living under Apache2, which won't be looked at by perldoc). [Stas] Add a constant APR::PerlIO::PERLIO_LAYERS_ARE_ENABLED and use it in tests [Stas] Require perl 5.8 or higher when building mod_perl on OSes requiring ithreads (e.g., win32), since 5.6.x ithreads aren't good. [Stas] MP_COMPAT_1X=0 now can be passed to Makefile.PL to disable mp1-back-compat compile-time features + adjust tests. [Stas] <SERVER_ROOT> and <SERVER_ROOT>/lib/perl are now added to @INC, just like mod_perl 1.0 with MP_COMPAT_1X=1 (currently enabled by default). [Stas] The Perl-5.8.0 crypt() workaround is now used only if 5.8.0 is used, since 5.8.1-tobe/5.9.0-tobe(blead-perl) won't compile with it. [Geoffrey Young] new directives PerlSetInputFilter and PerlSetOutputFilter, which are the same as SetInputFilter and SetOutputFilter respectively, but allow to insert non-mod_perl filters before, between or after mod_perl filters. + tests [Stas] improved filters debug tracing [Stas] implement $filter->remove (filter self-removal) + tests [Stas] remove the second-guessing code that was trying to guess the package name to load from the handler configuration (by stripping ::string and trying to load the package). fall back to using explicit PerlModule to load modules whose handler sub name is not called 'handler' + adjust tests. [Stas] set the magic taint flags before modules are required [Stas] make sure to set base server's mip before any of the PerlRequire/PerlModule directives are called, since they may add add_config(), which in turn runs Perl sections or PerlLoadModule, which may need the scfg->mip to be set. [Stas] ModPerl::MM is now ready to be used in Makefile.PL of 3rd party mod_perl modules [Stas and Geoff] fix a segfault caused by PerlModule in $s->add_config, due to setting the MP_init_done flag before init was done + add test [Stas] adjust the generated Makefile's to properly build on aix (tested on powerpc-ibm-aix5.1.0.0) [Stas] the build now automatically glues the .pod files to the respective .pm files, so one can use perldoc on .pm files to read the documentation. [Stas] provide a workaround for ExtUtils::MakeMaker::mv_all_methods, so ModPerl::BuildMM and ModPerl::MM can override EU::MM methods behind the scenes. [Stas] adding ModPerl::BuildMM, which is now used for building mod_perl. ModPerl::MM will be used for 3rd party modules. ModPerl::BuildMM reuses ModPerl::MM where possible. [Stas] drop the glue code for apr_generate_random_bytes, since it's not available on all platforms. [Stas] Since non-threaded mpms don't use tipools in mips, don't create and destroy them. [Stas] re-use the workaround for glibc/Perl-5.8.0 crypt() bug for the main/vhost base perl interpreters as well. This solves the problem for the buggy glibc on RH8.0. [Stas] send_cgi_header now turns the header parsing off and can send any data attached after the response headers as a response body. [Stas] move the check that print/printf/puts/write/etc are called in the response phase into the functions themselves so 1) we can print a more useful error message 2) this check is not always needed in modperl_wbucket_write, when called internally, so we save some cycles. [Stas] add checks that print/printf/puts/write/etc are called in the response phase. move the check into the functions themselves so we can print a more useful error message [Stas] 'make install' now installs mod_perl*h files under httpd's include tree [Stas] When PerlOptions +ParseHeaders is an effect, the CGI headers parsing won't be done if any *mod_perl* handler before and including the response phase, sets $r->content_type. (similar behavior to mp1's send_http_header() [Stas] Registry: make sure that $r is not in the scope when the script is compiled [Stas] $Apache::Server::SaveConfig added. When set to a true value, will not clear the content of Apache::ReadConfig:: once <Perl > sections are processed. [Philippe M. Chiasson <gozer [at] cpan] Apache::compat: support 1.0's Apache->push_handlers, Apache->set_handlers and Apache->get_handlers [Stas] revamp the code handling output flushing and flush bucket sending. Namelly modperl_wbucket_flush and modperl_wbucket_pass now can be told to send a flush bucket by themselves, attaching it to the data bb they are already sending. This halfs the number of output filter invocations when the response handler flushes output via $| or rflush. adjust tests, which were counting the number of invocations. [Stas] move ModPerl::RegistryCooker to use a hash as object (similar to mp1), to make it easier to subclass. [Nathan Byrd <nathan [at] byrd>] $r->rflush has to flush internal modperl buffer before calling ap_rflush, so implement rflush, instead of autogenerating the xs code for it. [Stas] fix the input filters handling of DECLINED handlers (consume the data, on behalf of the handler) + tests [Stas] fix the code that autogenerates modperl_largefiles.h not to define macros matching m/^-/ (was a problem on aix-4.3.3) [Stas] $Apache::Server::StrictPerlSections added. When set to a true value, will abort server startup if there are syntax errors in <Perl > sections [Philippe M. Chiasson <gozer [at] cpan] Use Win32::GetShortPathName for Win32 to handle cases when the supplied MP_AP_PREFIX contains spaces. [Randy Kobes] Bump up ThreadsPerChild for mpm_winnt in httpd.conf, which seems to help avoid server startup problems when running the tests. [Randy Kobes] implement a new helper module ModPerl::MethodLookup to help figure out which module should be loaded when a certain method is reported to be missing. [Stas] fix a bug for apr < 0.9.3, where it segfaults in apr_uri_unparse, if hostname is set, but not the scheme. In case the hostname is defined but scheme is not Apache::compat will default to the 'http' scheme, whereas APR::URI::unparse provides no default [Stas] move $r->send_http_header implementation to Apache::compat. This allows the 1.0 code to run unmodified if $r->send_http_header is called before the response change. we already handle the check whether content_type was set, when deciding whether the headers are to be parsed inside modperl_wbucket_pass(). [Stas] fixes to Apache::compat. make $r->connection->auth_type interface with r->ap_auth_type. make both $r->connection->auth_type and $r->connection->user writable. [Geoffrey Young] Open up r->ap_auth_type, making it possible to write custom authen handlers that don't rely on Basic authentication or it's associated ap_* functions. [Geoffrey Young] add Apache::Bundle2 [Stas] Apache::Reload now supports the PerlPreConnectionHandler invocation mode, so connection filter and protocol modules can be automatically reloaded on change. [Stas] implement Apache::current_callback + $r->current_callback goes into Apache::compat, since now we have a way too many callbacks unrelated to $r [Stas] Add Apache::compat methods: $r->connection->auth_type and $r->connection->user (requires 'PerlOptions +GlobalRequest') + tests [Stas] Several issues resolved with parsing headers, including making work the handlers calling $r->content_type() and not sending raw headers, when the headers scanning is turned on. Lots of tests added to exercise different situations. [Stas] warn on using -T in ModPerl::Registry scripts when mod_perl is not running with -T [Stas] perl 5.7.3+ has a built-in ${^TAINT} to test whether it's running under -(T|t). Backport ${^TAINT} for mod_perl running under 5.6.0-5.7.3, (what used to be $Apache::__T. $Apache::__T is available too, but deprecated. [Stas] add PerlChildExitHandler implementation [Stas] add PerlCleanupHandler implementation + test [Stas] die when Apache->request returns nothing ('PerlOptions -GlobalRequest' or 'SetHandler modperl') [Stas] New Apache::Directive methods: as_hash(), lookup() + tests + docs [Philippe M. Chiasson <gozer [at] cpan>] Stacked handlers chain execution is now aborted when a handler returns something other than OK or DECLINED [Stas] make $filter->read() in input streaming filters, use the same number of arguments as read() in the output filters. [Stas] Implement $r->add_input_filter and $r->add_output_filter $c->add_input_filter and $c->add_output_filter and add tests [Stas] Skip the handler package::func resolving error, only when the error message matches "Can't locate .*? in @INC", rather than just "Can't locate", since there are many other errors that start with that string. [Stas] the top level 'make test' now descends into the ModPerl-Registry dir to run 'make test' there [Stas] All response functions are now returning status and the callers check and croak on failure or progate them further. [Stas] OPEN, CLOSE and FILENO implementation for Apache::RequestRec [Stas] Another fix for the handling of the return status in ModPerl::RegistryCooker: reset the status to the original one only if it was changed by the script, otherwise return the execution status [Stas] prevent segfault in $r->print / $filter->print (in output filter) and related functions when they are called before the response phase [Stas] prevent segfault in send_http_header when it's called before the response phase [Stas] input stream filtering support was added + tests (plus renaming filter tests so we can know from the test name what kind of filter is tested) [Stas] Add proper support for mis-behaved feeding filters that send more than one EOS bucket in streaming filters + test. [Stas] prevent a segfault when push_handlers are used to push a handler into the currently phase and switching the handler (perl-script/modperl) + tests [Stas] Add $filter->seen_eos to the streaming filter api to know when eos has been seen, so special signatures can be passed and any data stored in the context flushed + tests. [Stas] Add $filter->ctx to maintain state between filter invocation + tests [Stas] Request input and output filters are now getting the EOS bucket, which wasn't passed through before. Now the context can be flushed on EOS. [Stas] __________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:stas [at] stason http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com --------------------------------------------------------------------- To unsubscribe, e-mail: announce-unsubscribe [at] perl For additional commands, e-mail: announce-help [at] perl
|