| =head1 NAME |
| |
| Changes - Apache mod_perl change logfile |
| |
| =head1 CHANGES |
| |
| all changes without author attribution are by Doug MacEachern |
| |
| Also refer to the Apache::Test changes log file, at Apache-Test/Changes |
| |
| =over 3 |
| |
| =item 1.99_11 - November 10, 2003 |
| |
| add a build/win32_fetch_apxs script (called within the top-level |
| Makefile.PL) to offer to fetch and install a Win32 development |
| version of apxs and (apr|apu)-config [Randy Kobes] |
| |
| rewrite $r->read() and perlio read functions to use the same function, |
| which completely satisfies the read request if possible, on the way |
| getting rid of get_client_block and its supporting functions which |
| have problems and will most likely will be removed from the httpd-API |
| in the future. Directly manipulate bucket brigades instead. [Stas] |
| |
| Since Apache2.pm pops /foo/Apache2 dirs to the top of @INC, it now |
| also takes care of keeping lib and blib dirs before the system dirs, |
| so that previously installed libraries won't get loaded instead of the |
| currently uninstalled libraries that are under test. [Stas] |
| |
| When 'make test' fails we now print the info on what to do next [Stas] |
| |
| At the end of 'make install' we now print the info how to proceed with |
| mod_perl and what to do in the case of post-install problems [Geoff] |
| |
| Adjust the source to properly work with 5.8.2's new algorithm of |
| dynamic re-hashing of hashes on hash collision attack. [Nicholas Clark |
| <nick@ccl4.org>, Stas]. Add a test that mounts such an attack so we |
| can verify that we can survive this rehashing. [Scott A Crosby |
| <scrosby@cs.rice.edu>, Nicholas Clark <nick@ccl4.org>, Tels |
| <perl_dummy@bloodgate.com>, Mark Jason Dominus <mjd@plover.com>, Stas] |
| |
| Standardize the Apache::PerlSections package name to it's plural form for |
| clarity and so that the pod gets glued in it's proper place. |
| [Philippe M. Chiasson <gozer@cpan.org>] |
| |
| return value from Perl callbacks are now passed directly to Apache |
| without additional post-call manipulations (such as assuming HTTP_OK |
| should really be OK). [Geoffrey Young] |
| |
| perl 5.8.1 w/ ithreads has a bug where it reports the wrong parent pid |
| (as if the process was never forked), provide a local workaround (+ new |
| test). [Rafael Garcia-Suarez <rgarciasuarez@free.fr>] |
| |
| overriden STD* streams now can be further overriden and will be |
| properly restored, which allows functions like $r->internal_redirect |
| work (+add tests) [Stas] |
| |
| implement perlio's getarg hook, which now allows dupping STD* streams |
| overloaded by modperl [Stas] |
| |
| Add PerlMapToStorageHandler [Geoffrey Young] |
| |
| callbacks are now expected to return a meaningful value |
| (OK, SERVER_ERROR, etc) or return via an official API |
| (exit, die, etc). relying on implicit returns from the |
| last call evaluated by a subroutine may result in server |
| errors. [Stas, Geoffrey Young] |
| |
| in the MP_MAINTAINER mode add the -Werror compilation flag when perl |
| v5.6.2 or higher is used, so that we don't miss compilation |
| warnings. [Stas] |
| |
| fix the Makefile.PL option parser to support overriding of certain |
| build options, in addition to appending to them (.e.g. now MP_LIBNAME |
| is overridable) [Andrew Wyllie <wyllie@dilex.net>] |
| |
| make sure that connection filters won't be inserted as request filters |
| [Stas] |
| |
| Prevent the 'Use of uninitialized value.' warning when |
| ModPerl::Util::exit is used. [Stas] |
| |
| To make the test-sute sandbox-friendly, which break when things try to |
| run off /tmp, use t/logs as the location of the mod_cgid socket and |
| TMPDIR env var [Haroon Rafique <haroon.rafique@utoronto.ca>] |
| |
| =item 1.99_10 - September 29, 2003 |
| |
| added Apache::CRLF, Apache::CR, and Apache::LF to |
| Apache::Const's :platform group [Geoffrey Young] |
| |
| make sure that the custom pools are 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 <steve.hay@uk.radan.com>] |
| |
| 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ä <ville.skytta@iki.fi>] |
| |
| 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 <gozer@cpan.org>] |
| |
| 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 <gozer@cpan.org] |
| |
| 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 <dmitri@netilla.com>] |
| |
| PerlRequire entried should be executed before PerlModule entries in |
| VirtualHost containers, just like in the base server [Stas] |
| |
| =item 1.99_09 - April 28, 2003 |
| |
| $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@voxel.net>] |
| |
| 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@ps.ge.com] |
| |
| 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@cpan.org] |
| |
| 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@byrd.net>] |
| |
| $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@cpan.org] |
| |
| 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@cpan.org>] |
| |
| 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] |
| |
| =item 1.99_08 - January 10, 2003 |
| |
| Correct ModPerl::RegistryCooker to reset %INC, after compile for .pl |
| files which don't declare the package + add tests to check that [Stas] |
| |
| Log the real error message when Foo::Bar::sub_name fails to resolve, |
| because of a problem in Foo::Bar, when Foo::Bar *was* found [Stas] |
| |
| Add PerlPreConnectionHandler support in Apache::Test [Stas] |
| |
| Enable PerlPreConnectionHandler [Stas] |
| |
| Support the Host: request header in Apache::TestClient [Stas] |
| |
| restore the ModPerl::RegistryLoader::new() method for backwards |
| compatibility [Stas] |
| |
| port the support for NameWithVirtualHost in ModPerl::RegistryCooker |
| and ModPerl::RegistryLoader [Stas] |
| |
| fix the handling of the return status in ModPerl::RegistryCooker, add |
| a test to verify that [Stas] |
| |
| under non-threaded perl need to check whether mod_perl is running, |
| when modperl_vhost_is_running check is done. [Stas] |
| |
| fix $r->read to read all the requested amount of data if possible, |
| adjust the test TestApache::read to verify that [Stas] |
| |
| fix the method content() in Apache::compat to read a whole request |
| body. same for ModPerl::Test::read_post. add tests. [Stas] |
| |
| Adjust the reverse filter test to work on win32 (remove trailing \r) |
| [Randy Kobes <randy@theoryx5.uwinnipeg.ca>] |
| |
| Strongly suggest win32 users to upgrade to 5.8.0, if they run 5.6.x |
| [Randy Kobes <randy@theoryx5.uwinnipeg.ca>] |
| |
| When installing the mod_perl shared object, first need to check |
| whether the directory 'modules' already exists, and create it if not. |
| [Randy Kobes <randy@theoryx5.uwinnipeg.ca>] |
| |
| Add a capability to tune the test configuration sections ordering |
| in Apache::TestConfigPerl [Stas Bekman] |
| |
| fix the complaining code about late PerlSwitches when PerlLoadModule |
| is used before it [Stas Bekman] |
| |
| add various tests that exercise PerlLoadModule and vhosts |
| [Stas Bekman] |
| |
| handle correctly PerlLoadModules (directives) with vhosts: |
| - handle gracefully cases when things are undef/NULL |
| - handle the case when scfg==NULL, by stealing the base_servers's config |
| [Stas Bekman] |
| |
| make mod_perl work with vhosts when the server is started prior to |
| post_config(): |
| - call modperl_init_globals as early as possible, because the main server |
| record is needed during the configuration parsing, for perlloadmodule |
| and vhosts |
| - also make sure that we are using a real base_server, when dealing |
| with modperl_init, and if not retrieve it from the global record |
| [Stas Bekman] |
| |
| prevent segfaults, when scfg is NULL in Apache::Module->get_config(); |
| [Stas Bekman] |
| |
| ensure that a core file is a file indeed, before complaining [Philippe |
| M. Chiasson <gozer@cpan.org>] |
| |
| add $r->as_string [Geoffrey Young] |
| |
| add backcompat vars: $Apache::Server::CWD and |
| $Apache::Server::AddPerlVersion [Stas Bekman] |
| |
| env var MOD_PERL_TRACE is working again [Stas Bekman] |
| |
| add a new test TestDirective::perlloadmodule2, which performs a more |
| evolved merging. [Stas Bekman] |
| |
| fix Apache::TestConfigPerl under mod_perl 1.0, need to require |
| mod_perl.pm before using $mod_perl::VERSION [Geoffrey Young |
| <GYoung@covad.com>] |
| |
| add an Apache::SIG backcompat stub to Apache::compat [Stas Bekman] |
| |
| fix the Apache::TestConfigPerl's run_apache_test_config() function |
| where test packages are scanned for the magic APACHE_TEST_CONFIGURE |
| and if found get require()'d. Apache2 needs to be run for mod_perl |
| 2.0. [Stas Bekman] |
| |
| move the custom mod_perl 2.0 configuration bits out of the |
| ModPerl::TestRun, where they don't belong, into a special config file |
| which is included at the very end of httpd.conf [Stas Bekman] |
| |
| extend Apache::Test to allow extra configuration files to be included |
| at the very end of httpd.conf, when everything was loaded and |
| configured [Stas Bekman] |
| |
| resolve a segfault in Apache::Module::get_config() for the edge case |
| when the package name is bogus. [Stas Bekman] |
| |
| Apache::Reload: add support for watching and reloading modules only in |
| specified sub-dirs [Harry Danilevsky <harry@deerfieldcapital.com>] |
| |
| enable APR.pm's linking for apr 0.9.2 and higher, which uses a new lib |
| naming scheme, such as libapr-0.so.0.9.2, only if apr-config and |
| apu-config scripts exist. [Stas Bekman] |
| |
| define IoTYPE_RDONLY/IoTYPE_WRONLY for perl-5.6.0 so the project |
| compiles again under 5.6.0 [Stas Bekman] |
| |
| allow output streaming filters to append data to the end of the stream |
| [Stas Bekman] |
| |
| fixes to compile with ActivePerl 5.8 beta |
| [Randy Kobes <randy@theoryx5.uwinnipeg.ca>] |
| |
| fix for directive handlers within vhosts using threaded MPMs |
| [Stephen Clouse <stephenc@theiqgroup.com>] |
| |
| fix <IfDefine MODPERL2> support |
| |
| default AuthType to Basic if not set in $r->get_basic_auth_pw() |
| [Philippe M. Chiasson <gozer@cpan.org>] |
| |
| workaround glibc/Perl-5.8.0 crypt() bug (seen with threaded MPMs) |
| |
| fix delete $ENV{$key} bug |
| |
| fix parse_args compat method to support non-ascii characters and tr/+/ / |
| [Walery Studennikov <despair@sama.ru>] |
| |
| fix post_connection compat method to behave as it did in 1.x |
| [Geoff Young <geoff@modperlcookbook.org>] |
| |
| add support for setting $r->auth_name and $r->auth_type |
| [Philippe M. Chiasson <gozer@cpan.org>] |
| |
| add Apache->httpd_conf compat method |
| [Philippe M. Chiasson <gozer@cpan.org>] |
| |
| add default <Perl> handler Apache::PerlSection. |
| make <Perl> blocks to be EXEC_ON_READ so apache does not parse the contents. |
| add "Perl" directive for general use and for which <Perl> sections are |
| stuffed into. |
| [Philippe M. Chiasson <gozer@cpan.org>] |
| |
| rename overloaded LoadModule directive to PerlLoadModule and adjust |
| the test naming |
| |
| =item 1.99_07 - September 25, 2002 |
| |
| fix =pod directive test config problem |
| [Philippe M. Chiasson <gozer@cpan.org>] |
| |
| =item 1.99_06 - September 25, 2002 |
| |
| add support for pod directives (=pod,=back,=cut) and __END__ directive |
| [Philippe M. Chiasson <gozer@cpan.org>] |
| |
| tweaks to support Test.pm 1.21 [Philippe M. Chiasson <gozer@cpan.org>] |
| |
| add $r->add_config method to add dynamic configuration at request time |
| |
| add Apache::DIR_MAGIC_TYPE constant |
| |
| add support for directive handlers |
| |
| fix source_scan to run with current httpd/apr |
| |
| add Apache::Server->add_config method to add dynamic configuration at |
| server startup time |
| |
| add Apache::Directive->to_string method |
| |
| add support for pluggable <Perl> sections |
| |
| fix compilation probs with get_remote_host() that had a wrong |
| prototype [Stas Bekman] |
| |
| Apache::SubProcess now has a manpage [Stas Bekman] |
| |
| fix the Apache::SubProcess tests to work with perlio-disabled Perl |
| [Stas Bekman] |
| |
| fix the filehandle leak in APR::PerlIO (both perlio-disabled and |
| perlio-enabled Perl) [Stas Bekman] |
| |
| remove dup() when converting filehandles from apr_file_t to FILE* |
| under perlio-disabled Perl (APR::PerlIO) [Stas Bekman] |
| |
| fix compilation if apache/apr do not have thread support |
| |
| =item 1.99_05 - August 20, 2002 |
| |
| fix PerlOptions +ParseHeaders to only parse once per-request |
| |
| add external redirects Registry tests [Stas Bekman] |
| |
| get rid of the compat layer in ModPerl-Registry [Stas Bekman] |
| |
| ModPerl::RegistryLoader is now fully operational and tested [Stas Bekman] |
| |
| Registry method handlers are now working [Stas Bekman] |
| |
| core Registry packages all compile the scripts into |
| ModPerl::RegistryROOT:: namespace and cache them in |
| %ModPerl::RegistryCache. Both overridable by the sub-classes. [Stas Bekman] |
| |
| compat tests were split into groups by functionality, send_fd test |
| moved to compat. [Stas Bekman] |
| |
| added $c->get_remote_host and a compat wrapper $r->get_remote_host + |
| tests [Stas Bekman] |
| |
| adjust the build system to support mod_perl build from the source |
| tree. [Stas Bekman] |
| |
| ModPerl::RegistryCooker syncs with mod_perl 1.0's registry: |
| - prototypes defined checks in flush_namespace |
| [Yair Lenga <yair.lenga@citigroup.com>] |
| - set error-notes on error [Geoff Young <geoff@modperlcookbook.org>] |
| - preserve status in Registry scripts [Geoff Young <geoff@modperlcookbook.org>] |
| |
| apr_table_t is now an opaque type, use apr_table_elts() to get the array |
| record [Stas Bekman] |
| |
| add support for redirects with PerlOptions +ParseHeaders |
| |
| backport to 2.0.35 |
| |
| adjust to filter register api change |
| |
| added APR::ThreadMutex module |
| |
| =item 1.99_04 - June 21, 2002 |
| |
| various APR PerlIO updates [Stas Bekman] |
| |
| stop using an apr_pool_t to allocate items for the interpreter pool, |
| safer for threaded MPMs and prevents "leaks" when interpreters are |
| removed from due to PerlInterpMax{Requests,Spare} |
| |
| implement modperl_sys_dlclose() to avoid apr/pool overhead/thread issues |
| |
| get the -DPERL_CORE optimization working again |
| |
| PERL_SET_CONTEXT to the parent interpreter when cloning interpreters at |
| request time, else dTHX might be NULL during clone in the given thread, |
| which would crash the server. |
| |
| =item 1.99_03 - June 15, 2002 |
| |
| win32 fix for the global Apache->request object to make sure it uses |
| the thread local storage mechanism |
| |
| add a reference count mechanism to interpreters for use in threaded MPMs, |
| so if APR::Pool cleanups have been registered the interpreter is not |
| putback into the interpreter pool until all cleanups have run. |
| |
| unbuffer STDERR (by turning on autoflush by default) |
| |
| add support for Perl*Handler +Apache::Foo |
| |
| fix open_logs,post_config,child_init hooks to run in the proper order |
| |
| adjust to apr_bucket_type_t changes in 2.0.37-dev |
| [Mladen Turk <mturk@mappingsoft.com>] |
| |
| add MODPERL2 config define, as if the server had been started with -DMODPERL2 |
| |
| compat additions and fixes: $r->lookup_{file,uri}, $r->is_main, Apache->define |
| |
| added compat for Apache::log_error [Stas Bekman] |
| |
| =item 1.99_02 - June 1, 2002 |
| |
| pass the PATH and TZ environment variables at startup by default as 1.xx did |
| |
| fix ModPerl::Util::exit segv with 5.6.0 |
| |
| no longer support 5.7.x perl development versions |
| |
| added compat for Apache::Table->new |
| |
| various fixes to compile/run on darwin |
| |
| server-scope Perl{Set,Pass}Env config now propagated to %ENV at startup |
| |
| use SvOK(sv) instead of sv == &PL_sv_undef to detect undef values in xs |
| [Stephen Clouse <stephenc@theiqgroup.com>] |
| |
| complete Apache::Util 1.x compat |
| |
| added Apache::MPM_IS_THREADED constant |
| |
| added compat function for Apache::Constants::SERVER_VERSION |
| |
| added Apache::Constants::export stub for compat |
| |
| added noop stubs for timeout functions removed from 2.0: |
| $r->{soft,hard,reset,kill}_timeout |
| |
| turned on PerlOptions +GlobalRequest by default for perl-script handler |
| unless it is explicitly turned off with PerlOptions -GlobalRequest |
| |
| added APR::OS::thread_current function |
| |
| added support for 1.x $r->subprocess_env functionality |
| |
| added support for $r->push_handlers(PerlHandler => ...) |
| |
| added support for $r->proxyreq to detect proxy requests |
| |
| $r->content_type($val) now calls ap_set_content_type underneath |
| |
| add the err_header_out() wrapper to Apache::compat + corresponding tests |
| [Stas Bekman] |
| |
| fix $r->dir_config lookup of values set in the server context |
| |
| added Apache::REDIRECT shortcut constant |
| |
| various fixes for method handlers |
| |
| use Apache::ServerUtil in Apache::compat so Apache->server works in compat |
| mode [Dave Rolsky <autarch@urth.org>] |
| |
| add Apache::Util::unescape_uri alias to Apache::unescape_url in Apache::compat |
| |
| change Apache::unescape_url to return the escaped url as 1.x does |
| |
| disabled term coloring by default (enable with env var APACHE_TEST_COLOR=1) |
| |
| fix for APR::IpSubnet->new to check return status apr_ipsubnet_create |
| |
| enabled APR::SockAddr module |
| |
| turn on binmode for filehandle used in $r->send_fd |
| |
| get MP_{TRACE,DEBUG} Makefile.PL options working on win32 |
| |
| various fixes to build/run with bleedperl |
| |
| various fixes for win32 to get make test passing |
| |
| moved constuct_{url,server} methods to Apache::URI module |
| |
| implement Apache::URI::parse in Apache::compat |
| |
| give Perl*Handlers precedence over other handlers by using APR_HOOK_FIRST |
| rather than APR_HOOK_LAST |
| |
| workaround bug in 5.6.1 when XSLoader loads DynaLoader, wiping out any |
| dl handles it had been keeping track of. |
| |
| tidy up test to run standalone (without modperl test config) |
| [Stas Bekman] |
| |
| override T_PTROBJ INPUT typemap to croak if object is not a blessed |
| reference, to prevent possible segv from e.g. Apache::Server->process |
| |
| apr_lock.h is gone; disable APR::Lock for the moment |
| |
| enabled the Apache::Process module |
| |
| fix ModPerl::Util::exit to clear $@ before calling Perl_croak |
| |
| cut down on some build noise |
| |
| fix 'PerlOptions +GlobalRequest' when used within subrequests |
| |
| get rid of some "subroutine redefined" warnings in ModPerl::MM that |
| show up with newer bleedperls. |
| |
| a few fixes for Apache::compat [Dave Rolsky <autarch@urth.org>] |
| |
| =item 1.99_01 - April 6, 2002 |
| |
| First public release of mod_perl-2.0-tobe. |
| |
| =back |
| |
| =cut |