| =head1 NAME |
| |
| Changes - Apache mod_perl changes 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 2.0.12-dev |
| |
| Fix SIGSEGV crash due to wrong use of perl_parse(). [Charles Pigott |
| <cpigott@rapitasystems.com>] |
| |
| =item 2.0.11 October 5, 2019 |
| |
| Fix t/modules/apache_resource.t failures [Steve Hay] |
| |
| Fix [CVE-2011-2767] Arbitrary Perl code execution in the context of the user |
| account via a user-owned .htaccess. Patch from bugs.debian.org #644169. [Jan |
| Ingvoldstad <jani+debian-2011+@ifi.uio.no>] |
| |
| Fix potential test suite hangs due to pipelined response deadlocks. Patch |
| from rt.cpan.org #82409. [Zefram <zefram@fysh.org>] |
| |
| Fix t/compat/request.t failures [Steve Hay] |
| |
| Fix use-after-free segfault in ap_server_config_defines seen on start-up on |
| OpenBSD. [Found/fixed by Sam Vaughan/Joe Orton] |
| |
| Fix build with Perls earlier than 5.13.6. [Rainer Jung |
| <rainer.jung@kippdata.de>] |
| |
| Fix filter/in_bbs_inject_header.t test failure with Apache 2.4.25+. [Stefan |
| Fritsch <sf@sfritsch.de>] |
| |
| Fix apache/read.t test failure with Apache 2.4.25+. [Niko Tyni |
| <ntyni@debian.org>] |
| |
| =item 2.0.10 October 27, 2016 |
| |
| Declare MP_vtbl_env and MP_vtbl_envelem as 'extern' to fix linker errors on |
| OSX/Darwin. [Michael Schout <mschout@gkg.net>] |
| |
| Automatically select the appropriate c89 option when modperl is being |
| built with either gcc 5 or clang. [Klaus S. Madsen <ksm@jobindex.dk>] |
| |
| Fix non-threaded Perl 5.22.x build and tests. [Klaus S. Madsen |
| <ksm@jobindex.dk>] |
| |
| Add support for Perl 5.22.x. [Niko Tyni <ntyni@iki.fi>, Steve Hay] |
| |
| =item 2.0.9 June 18, 2015 |
| |
| Add note to README about MP_INLINE problem when building with GCC 5. |
| [Niko Tyni <ntyni@debian.org>] |
| |
| Fix t/api/aplog.t for apr-1.5.2. [Steve Hay] |
| |
| Note that Perl 5.22.x is currently not supported. This is logged as |
| CPAN RT#101962 and will hopefully be addressed in 2.0.10. [Steve Hay] |
| |
| Fix unthreaded build, which was broken in 2.0.9-rc2. [Steve Hay] |
| |
| Remove PerlInterpScope. This has not been working properly with threaded |
| MPMs with httpd-2.4.x and the use-case of this directive was questionable. |
| [Jan Kaluza] |
| |
| Allow running the test suite with httpd-2.4.x when mod_access_compat is not |
| loaded. [Steve Hay] |
| |
| Add support for Apache httpd-2.4.x. [Torsten Foertsch, Jan Kaluza, |
| Steve Hay, Gozer] |
| |
| Don't call modperl_threaded_mpm() et al. from XS code. Fixes Debian Bug |
| #765174. [Niko Tyni <ntyni@debian.org>] |
| |
| Make sure modperl_interp_select uses r->server rather than the passed s |
| parameter to find the interpreter pool to pull an interpreter from. This |
| fixes an issue with vhosts with a separate interpreter pool and runtime |
| dir-config merges that used to pull the interpreter from the wrong pool. |
| [Torsten Foertsch] |
| |
| PerlInterpScope is now more advisory. Using $(c|r)->pnotes will bind |
| the current interpreter to that object for it's lifetime. |
| $(c|r)->pnotes_kill() can be used to prematurely drop pnotes and |
| remove this binding. [Torsten Foertsch] |
| |
| Now correctly invokes PerlCleanupHandlers, even if they are the only |
| handler type configured for that request [Torsten Foertsch] |
| |
| For threaded MPMs, change interpreter managment to a new, reference-counted |
| allocation model. [Torsten Foertsch] |
| |
| Expose modperl_interp_pool_t via ModPerl::InterpPool, modperl_tipool_t |
| via ModPerl::TiPool and modperl_tipool_config_t via ModPerl::TiPoolConfig |
| [Torsten Foertsch] |
| |
| Expose modperl_interp_t via ModPerl::Interpreter [Torsten Foertsch] |
| |
| Fix t/compat/apache_file.t on Windows. Apache::File->tmpfile() wants TMPDIR |
| or TEMP from the environment, or else defaults to /tmp. The latter is no |
| good on Windows, so make sure the environment variables are passed through. |
| (TEMP should be set to something suitable on Windows.) [Steve Hay] |
| |
| Fix t/api/err_headers_out.t with HTTP::Headers > 6.00. [Rolando |
| <rolosworld@gmail.com>] |
| |
| Fix the build with VC++ and dmake (rather than nmake) on Windows. The |
| Makefile generated by Apache2::Build uses shell commands for the manifest |
| file, but neglected to tell dmake to use the shell. [Steve Hay] |
| |
| Don't write an 'rpm' target into the Makefile on Windows. It isn't relevant |
| on Windows, and the (hard-coded, not MakeMaker-generated) recipe group has |
| syntax which dmake doesn't understand. [Steve Hay] |
| |
| =item 2.0.8 April 17, 2013 |
| |
| Perl 5.16.3's fix for a rehash-based DoS makes it more difficult to invoke |
| the workaround for the old hash collision attack, which breaks mod_perl's |
| t/perl/hash_attack.t. Patch from rt.cpan.org #83916 improves the fix |
| previously applied as revision 1455340. [Zefram] |
| |
| On Perl 5.17.6 and above, hash seeding has changed, and HvREHASH has |
| disappeared. Patch to update mod_perl accordingly from rt.cpan.org #83921. |
| [Zefram] |
| |
| Restore build with Perl 5.8.1, 5.8.2 etc: take care to use |
| $Config{useithreads} rather than $Config{usethreads}, and supply definitions |
| of Newx and Newxz as necessary. [Steve Hay] |
| |
| On Perl 5.17.9, t/apache/read2.t fails because an "uninitialized value" |
| warning is generated for the buffer being autovivified. This is because |
| the sv_setpvn() that's meant to vivify the buffer doesn't perform set |
| magic; the warning is generated by the immediately following SvPV_force(). |
| Patch to fix this from rt.cpan.org #83922. [Zefram] |
| |
| Fix t/perl/hash_attack.t to work with Perl 5.14.4, 5.16.3 etc, which |
| contain a fix for CVE-2013-1667 (memory exhaustion with arbitrary hash |
| keys). This resolves rt.perl.org #116863, from where the patch was taken. |
| [Hugo van der Sanden] |
| |
| use APR::Finfo instead of Perl's stat() in ModPerl::RegistryCooker to |
| generate HTTP code 404 even if the requested filename contains newlines |
| [Torsten] |
| |
| Remove all uses of deprecated core perl symbols. [Steve Hay] |
| |
| Add branch release tag to 'make tag' target. [Phred] |
| |
| =item 2.0.7 June 5, 2012 |
| |
| Fix breakage caused by removal of PL_uid et al from perl 5.16.0. Patch from |
| rt.cpan.org #77129. [Zefram] |
| |
| =item 2.0.6 April 24, 2012 |
| |
| Preserve 5.8 compatibility surrounding use of MUTABLE_CV [Adam Prime] |
| |
| Move code after declarations to keep MSVC++ compiler happy. [Steve Hay] |
| |
| Adopt modperl_pcw.c changes from httpd24 branch. [Torsten Foertsch] |
| |
| Pool cleanup functions must not longjmp. Catch these exceptions and turn |
| them into warnings. [Torsten Foertsch] |
| |
| Fix a race condition in our tipool management. |
| See http://www.gossamer-threads.com/lists/modperl/dev/104026 |
| Patch submitted by: SalusaSecondus <salusa@nationstates.net> |
| Reviewed by: Torsten Foertsch |
| |
| Ensure that MP_APXS is set when building on Win32 with MP_AP_PREFIX, |
| otherwise the bundled Reload and SizeLimit builds will fail to find a |
| properly configured Test environment. |
| [Steve Hay] |
| |
| Fix a few REFCNT bugs. |
| Patch submitted by: Niko Tyni <ntyni@debian.org> |
| Reviewed by: Torsten Foertsch |
| |
| Correct the initialization of the build config in ModPerl::MM. The global |
| variable was only being set once on loading the module, which was before |
| Apache2::BuildConfig.pm had been written, leading to cwd and MP_LIBNAME |
| being unset when writing the Reload and SizeLimit makefiles. |
| [Steve Hay] |
| |
| Discover apr-2-config from Apache 2.4 onwards. [Gozer] |
| |
| Apache 2.4 and onwards doesn't require linking the MPM module directly in |
| the httpd binary anymore. APXS lost the MPM_NAME query, so we can't assume |
| a given MPM anymore. Introduce a fake MPM 'dynamic' to represent this. |
| [Torsten Foertsch, Gozer] |
| |
| Perl 5.14 brought a few changes in Perl_sv_dup() that made a threaded apache |
| segfault while cloning interpreters. |
| [Torsten Foertsch] |
| |
| PerlIOApache_flush() and mpxs_Apache2__RequestRec_rflush() now no longer throw |
| exceptions when modperl_wbucket_flush() fails if the failure was just a reset |
| connection or an aborted connection. The failure is simply logged to the error |
| log instead. This should fix cases of httpd.exe crashing when users press the |
| Stop button in their web browsers. |
| [Steve Hay] |
| |
| Fixed a few issues that came up with LWP 6.00: |
| - t/response/TestAPI/request_rec.pm assumes HTTP/1.0 but LWP 6 uses 1.1 |
| - t/api/err_headers_out.t fails due to a bug somewhere in LWP 6 |
| - t/filter/TestFilter/out_str_reverse.pm sends the wrong content-length header |
| [Torsten Foertsch] |
| |
| Bugfix: Apache2::ServerUtil::get_server{description,banner,version} cannot |
| be declared as perl constants or they won't reflect added version components |
| if Apache2::ServerUtil is loaded before the PostConfig phase. Now, they |
| are ordinary perl functions. [Torsten Foertsch] |
| |
| Check for the right ExtUtils::Embed version during build [Torsten Foertsch] |
| |
| Take a lesson from rt.cpan.org #66085 and pass LD_LIBRARY_PATH if mod_env |
| is present. Should prevent test failures on some platforms. |
| [Fred Moyer] |
| |
| |
| =item 2.0.5 February 7, 2011 |
| |
| The mod_perl PMC dedicates this release of mod_perl to Randy Kobes, who |
| passed away in September 2010. Randy was a member of the mod_perl project |
| management committee and a co-author of the mod_perl Developer's Cookbook. |
| His work helped many Windows mod_perl users. His work with ppm files, and |
| Win32 perl users will be sorely missed. He was kind, bright, and always |
| willing to lend a hand on the mod_perl user's list. |
| |
| Prepare modperl for the upcoming perl 5.14 [Torsten Foertsch] |
| |
| Add lib/ModPerl/MethodLookup.pm to MANIFEST via lib/ModPerl/Manifest.pm |
| RT #48103 reported by MARKLE@cpan.org |
| [Fred Moyer] |
| |
| PerlIOApache_write() now throws an APR::Error object, rather than just a string |
| error, if modperl_wbucket_write() fails. |
| [Steve Hay] |
| |
| Authentication tests fail with LWP 5.815 and later |
| [Doug Schrag] |
| |
| Concise test won't perform unless StatusTerse is set to ON |
| [Doug Schrag] |
| |
| Look for a usable apxs in $ENV{PATH} if all other options fail, then prompt the user for one. |
| [Phred] |
| |
| Work around bootstrap warnings when Apache2::BuildConfig has not been created yet. |
| [Phred] |
| |
| Remove Apache::test compatibility (part of mod_perl 1.2.7), that code causes build issues and is 4 versions out of date. |
| [Phred] |
| |
| Make sure perl is built either with multiplicity and ithreads or without |
| both [Theory, Torsten] |
| |
| Support for "install_vendor" and "install_site" make targets [Torsten] |
| |
| Run tests on bundled pure perl Apache::* modules [Gozer, Phred] |
| |
| Implement a mini-preprocess language for map-files in xs/maps. |
| [Torsten Foertsch] |
| |
| Implement APR::Socket::fileno [Torsten Foertsch] |
| |
| Export PROXYREQ_RESPONSE, a missing PROXYREQ_* constant [Gozer] |
| |
| Make sure standard file descriptors are preserved by the perl-script |
| handler [Torsten Foertsch] |
| |
| Fix the filter init handler attribute check in |
| modperl_filter_resolve_init_handler() [Torsten Foertsch] |
| |
| Make sure buffer is a valid SV in modperl_filter_read() [Torsten Foertsch] |
| |
| Move modperl_response_finish() out of modperl_response_handler_run in |
| mod_perl.c [Torsten Foertsch] |
| |
| "MODPERL_INC= now correctly supported as an argument to Makefile.PL" |
| [Torsten Foertsch] |
| |
| Fix an XSS issue in Apache2::Status reported by Richard J. Brain |
| <richard@procheckup.com>. [Torsten Foertsch] |
| |
| Add NOTICE file to the distribution. [Joe Schaefer] |
| |
| Make sure Apache2::RequestIO::read doesn't clear the buffer on end of |
| file and handle negative offsets and offsets that are larger than |
| the current string length. [Torsten Foertsch] |
| |
| Fix a problem that could make APR::XSLoader and Apache2::XSLoader |
| load the wrong shared library. [Torsten Foertsch] |
| |
| Fix compilation when using a non-threaded APR. |
| [Gozer, Philip M. Gollucci] |
| |
| Make sure mod_perl's own ChildInitHandlers are run before user |
| supplied ones. This fixes the incorrectly reported value of $$ |
| at ChildInit time [Gozer] |
| |
| =item 2.0.4 April 16, 2008 |
| |
| Fix $r->location corruption under certain conditions |
| [Gozer] |
| |
| Fix a crash when spawning Perl threads under Perl 5.10 |
| [Gozer] |
| |
| Fix erratic behaviour when filters were used with Perl 5.10 |
| [Gozer] |
| |
| Fix problems with redefinitions of perl_free as free and perl_malloc |
| as malloc on Win32, as described at |
| http://marc.info/?l=apache-modperl&m=119896407510526&w=2 |
| [Tom Donovan] |
| |
| Fix a crash when running a sub-request from within a filter where |
| mod_perl was not the content handler. [Gozer] |
| |
| Refactor tests to use keepalives instead of same_interp [Gozer, Phred] |
| |
| Apache2::Reload has been moved to an externally maintained |
| CPAN distribution [Fred Moyer <fred@redhotpenguin.com>] |
| |
| PerlCleanupHandler are now registered with a subpool of $r->pool, |
| instead of $r->pool itself, ensuring they run _before_ any other |
| $r->pool cleanups [Torsten Foertsch] |
| |
| Fix a bug that would prevent pnotes from being cleaned up properly |
| at the end of the request [Torsten Foertsch] |
| |
| On Win32, embed the manifest file, if present, in mod_perl.so, |
| so as to work with VC 8 [Steve Hay, Randy Kobes] |
| |
| Expose apr_thread_rwlock_t with the APR::ThreadRWLock module |
| [Torsten Foertsch] |
| |
| Don't waste an extra interpreter anymore under threaded MPMs when using a |
| modperl handler [Torsten Foertsch] |
| |
| Fix a bug that could cause a crash when using $r->push_handlers() multiple |
| times for a phase that has no configured handlers [Torsten Foertsch] |
| |
| Catch up with some httpd API changes |
| 2.2.4: |
| The full server version information is now included in the error log at |
| startup as well as server status reports, irrespective of the setting |
| of the ServerTokens directive. ap_get_server_version() is now |
| deprecated, and is replaced by ap_get_server_banner() and |
| ap_get_server_description(). [Jeff Trawick] |
| |
| 2.3.0: |
| ap_get_server_version() has been removed. Third-party modules must |
| now use ap_get_server_banner() or ap_get_server_description(). |
| [Gozer] |
| |
| fixed Apache2::compat Apache2::ServerUtil::server_root() resolution |
| issues [Joshua Hoblitt] |
| |
| *) SECURITY: CVE-2007-1349 (cve.mitre.org) |
| fix unescaped variable interprolation in regular expression |
| [Randal L. Schwartz <merlyn@stonehenge.com>, Fred Moyer <fred@redhotpenguin.com>] |
| |
| Make $r->the_request() writeable |
| [Fred Moyer <fred@redhotpenguin.com>] |
| |
| fix ModPerl::RegistryCooker::read_script to handle all possible |
| errors, previously there was a case where Apache2::Const::OK was |
| returned on an error. [Eivind Eklund <eeklund@gmail.com>] |
| |
| a minor compilation warning resolved in modperl_handler_new_from_sv |
| [Stas] |
| |
| a minor compilation warning resolved in modperl_gtop_size_string |
| [Stas] |
| |
| Prevent direct use of _deprecated_ Apache2::ReadConfig in |
| <Perl> sections with httpd Alias directives from |
| incorrectly generating |
| 'The Alias directive in xxxxx at line y will probably never match' |
| messages. |
| [Philip M. Gollucci <pgollucci@p6m78g.com>] |
| |
| Prevent Apache2::PerSections::symdump() from returning invalid |
| httpd.conf snippets like 'Alias undef' |
| [Philip M. Gollucci <pgollucci@p6m78g.com>] |
| |
| Require B-Size 0.9 for Apache2::Status which fixes |
| Can't call method "script_name" on an undefined value |
| [Philip M. Gollucci <pgollucci@p6m78g.com>] |
| |
| -march=pentium4 or anything with an = in it in CCFLAGS or @ARGV |
| that gets passed to xs/APR/APR/Makefile.PL broke the @ARGV |
| parsing. I.E. FreeBSD port builds when users had CPUTYPE |
| set in /etc/make.conf. |
| [Philip M. Gollucci <pgollucci@p6m7g8.com>] |
| |
| Fixes to get bleed-ithread (5.9.5+) to comile again. |
| [Philip M. Gollucci <pgollucci@p6m7g8.com>] |
| |
| =item 2.0.3 November 28, 2006 |
| |
| Prevent things in %INC that are not stat() able |
| from breaking Apache2::Status 'Loaded Modules' |
| under fatal warnings. |
| [Philip M. Gollucci <pgollucci@p6m7g8.com>] |
| |
| When using MP_AP_PREFIX on WIN32 make sure that its |
| a valid directory. |
| [Nikolay Ananiev <ananiev@thegdb.com>] |
| |
| Fix bug concerning 'error-notes' having no value on |
| errordocument redirect. |
| [Guy Albertelli II <guy@albertelli.com>] |
| |
| Multi-line $PerlConfig is now working [Gozer] |
| |
| PerlOptions None was previously incorrectly reported as invalid |
| inside <VirtualHost> or <Directory> blocks. |
| [Philip M. Gollucci] |
| |
| Require B::Size 0.07 and B::TerseSize 0.07 for Apache2::Status |
| [Philip M. Gollucci] |
| |
| Apache2::Status was expecting B::TerseSize to return |
| an op count for things that it didn't causing |
| requests like http://localhost/perl-status/main?noh_b_package_size |
| to cause 405s |
| [Philip M. Gollucci] |
| |
| Updates for Win32 to allow building and testing on Apache/2.2: |
| - use httpd.exe as the Apache binary name when installing apxs |
| - use new apr library names (libapr-1.lib and libaprutil-1.lib) |
| [Randy Kobes] |
| |
| Make sure that additional library paths are included in the build flags |
| so that mod_perl will use the same versions of libraries that APR does. |
| [Mike Smith <mike@mailchannels.com>] |
| |
| Added $r->connection->pnotes, identical to $r->pnotes, but |
| for the entire lifetime of the connection |
| [Geoffrey Young, Gozer] |
| |
| Fixed problems with add_config() and thread-safety: [Gozer] |
| - $s->add_config is not allowed anymore after server startup |
| - $r->add_config can only affect configuration for the current |
| request, just like .htaccess files do |
| |
| Make sure that LIBS and other MakeMaker command line flags are not |
| ignored by the top level Makefile.PL and xs/APR/APR/Makefile.PL [Stas] |
| |
| Corrected a typo that would cause the corruption of $), the |
| effective group id as Perl sees it [Gozer] |
| |
| Added support for httpd-2.2's new override_opts in Apache2::Access. |
| Calls to add_config() now accept an override_opts value as the 4th |
| argument. [Torsten Foertsch <torsten.foertsch@gmx.net>, Gozer] |
| |
| Fix 'PerlSwitches +inherit' that got broken somewhere along |
| the way to 2.0. You can also use 'PerlOptions +InheritSwitches' |
| for the same result. [Gozer] |
| |
| Add perl API corresponding to User and Group directives in httpd.conf: |
| Apache2::ServerUtil->user_id and Apache2::ServerUtil->group_id |
| [Stas] |
| |
| Apache2::Reload now first unloads all modified modules before |
| trying to reload them. This way, inter-module dependencies |
| are more likely to be correctly satisfied when reloaded |
| [Javier Uruen Val <juruen@warp.es>, Gozer] |
| |
| $r->add_config() can now take an optionnal 3rd argument that |
| specifies what pseudo <Location $path> the configuration is |
| evaluated into [Torsten Foertsch <torsten.foertsch@gmx.net>] |
| |
| remove -DAP_HAVE_DESIGNATED_INITIALIZER and -DAP_DEBUG from |
| MP_MAINTAINER mode to avoid collisions [Joe Orton] |
| |
| Back out r280262 which was causing Apache2::Reload to misbehave. |
| [JT Smith <jt@plainblack.com>] |
| |
| Perl_do_open/close fixes to make mod_perl 2.0 compile with |
| blead-perl@25889+ (5.9.3+) [Stas] |
| |
| Added Apache2::PerlSections->server, returning the server |
| into which the <Perl> section is defined [Gozer] |
| |
| Require B::Size and B::TerseSize v0.06 for Apache2::Status |
| options StatusTerse and StatusTerseSize which has now been |
| updated to support the new mod_perl2 api post RC5. |
| [Philip M. Gollucci] |
| |
| When using Apache2::PerlSections->dump, the configuration |
| would print out in the correct order, but when the configuration was |
| passed off to Apache the ordering was lost. |
| [Scott Wessels <swessels@usgn.net>] |
| |
| =item 2.0.2 - October 20, 2005 |
| |
| add :proxy import tag to Apache2::Const which exposes new |
| constants PROXYREQ_NONE, PROXYREQ_PROXY, and PROXYREQ_REVERSE |
| [Geoffrey Young] |
| |
| $0 Fixes : [Gozer] |
| - Setting $0 works on Linux again |
| - HP-UX and *BSDes show the correct process name instead of '-e' |
| |
| Fix a critical but trivial bug that would cause MP_MAINTAINER=1 |
| or MP_TRACE=1 builds to fail if not building against a threaded APR. |
| Functions such as apr_os_thread_current() would not be linked in, |
| but were expected to be. |
| [Philip M. Gollucci] |
| |
| Add the output of ldd(unix/cygwin) and otool -L (darwin) |
| for httpd to the mp2bug report script. |
| [Philip M. Gollucci] |
| |
| Prevent tools such as Apache2::Status's Loaded Modules screen |
| from displaying erroneous information about mod_perl.pm being loaded. |
| [Stas, Philip M. Gollucci] |
| |
| Correctly set the version of ModPerl::MethodLookup, previously, |
| it was not set because of the way it was Generating via ModPerl::WrapXS. |
| [Philip M. Gollucci] |
| |
| Improve the detection of whether or not we are in an mp2 build tree. |
| This allows usage of ExtUtils::MakeMaker options such as PREFIX to |
| not break the probe of mp2 build trees. |
| [Stas, Philip M. Gollucci] |
| |
| Add support for the newer Smaps (/proc/self/statm) on Linux |
| systems that support it (i.e. linux-2.6.13-rc4-mm1) |
| to accurately count the amount of shared memory. |
| [Torsten Foertsch <torsten.foertsch gmx.net>] |
| |
| On cygwin some dlls might happen to be with identical base addresses |
| and if you try to load both of them you'll get an error and you'll |
| have to use the rebase utility to fix them. this fix should prevent |
| this. [Nikolay Ananiev <ananiev@thegdb.com>] |
| |
| Fix an undefined warning in DSO builds when not using MP_APXS. |
| [Nikolay Ananiev <ananiev@thegdb.com>] |
| |
| When running Makefile.PL with the MP_MAINTAINER=1 option |
| add -Wdeclaration-after-statement if we are using gcc |
| version 3.3.2 or higher and its not already part of the ccopts. |
| [Philip M. Gollucci, Gozer] |
| |
| Several fixes to Apache2::Status |
| [Philip M. Gollucci] |
| |
| When using Apache2::Reload and ReloadDebug is set to 'On', |
| sort the output alphabetically [Philip M. Gollucci] |
| |
| croak in case a filter returns DECLINED after calling $f->read (as it |
| is not supposed to happen) [Stas] |
| |
| another round of cygwin fixes [Nikolay Ananiev <ananiev@thegdb.com>] |
| |
| Multiple fixes to make mod_perl 2.0 work with blead-perl (5.9.3+) |
| [Stas] |
| |
| t/modules/reload.t would fail if run more than 3 times, breaking |
| smokes [Gozer] |
| |
| filter flushing now doesn't croak on connection reset |
| (ECONNRESET/ECONNABORTED), but just logs the event on the 'info' |
| level. [Stas] |
| |
| RPM Friendly builds : [Gozer] |
| - make dist tarballs can now be built directly into RPMs with rpmbuild |
| - Added a new target 'make rpm' to directly build rpms from a checkout |
| |
| |
| |
| =item 2.0.1 - June 17, 2005 |
| |
| B::Terse has problems with XS code, so adjust Apache::Status to eval |
| {} the code doing Syntax Tree Dump: syntax and execution order options |
| [Stas] |
| |
| Fix a broken regexp in Apache2::Build::dir() on win32 that would |
| incorrectly attempt to fully-qualify paths like c:/some/path |
| [Nikolay Ananiev <ananiev@thegdb.com>] |
| |
| Fix the "No library found" warnings when building on win32 without |
| apxs and MP_AP_PREFIX [Nikolay Ananiev <ananiev@thegdb.com>] |
| |
| The pure-perl ModPerl::Util::unload_package implementation was |
| accidently deleting sub-stashes [Gozer] |
| |
| If running Makefile.PL unnatended (STDIN isn't a terminal or |
| MP_PROMPT_DEFAULT=1), break out of potentially infinite prompt |
| loops [Gozer] |
| |
| fix ModPerl::TestReport used by t/REPORT and mp2bug to use |
| ExtUtils::MakeMaker's MM->parse_version to get the interesting |
| packages version number, w/o trying to load them (which may fail if |
| the environment is not right) [Stas] |
| |
| fix a bug in ModPerl::RegistryCooker: now stripping __(END|DATA)__ |
| only at the beginning of the line [Stas] |
| |
| APR::Base64 : [Torsten Foertsch <torsten.foertsch@gmx.net>] |
| - fix encode_len() to return the length without accounting for the |
| terminating '\0' as the C API does. |
| - fix encode() to create the string of the correct length (previously |
| was creating one too many) |
| |
| in mod_perl callbacks merge error-notes entries rather than store just |
| the newest error [Mark <mark@immermail.com>] |
| |
| Expose Apache2::Const::EXEC_ON_READ (added to the :override group) |
| [Stas] |
| |
| Fix a bug in custom directive implementation, where the code called |
| from modperl_module_config_merge() was setting the global context |
| after selecting the new interpreter which was leading to a segfault in |
| any handler called thereafter, whose context was different |
| beforehand. [Stas] |
| |
| |
| |
| =item 2.0.0 - May 20, 2005 |
| |
| fix global anon_cnt double-initialization bug that was causing |
| startup segfaults on OSX. [Gozer] |
| |
| fix the ap_install target in the top-level Makefile (used for static |
| build) [Stas] |
| |
| Reintroduce a pure-Perl version of ModPerl::Util::unload_package() |
| The problematic XS version is now called unload_package_xs() and |
| not used by default [Gozer] |
| |
| More APR::Status wrappers: [Stas, Randy Kobes] |
| - is_EOF |
| - is_ECONNABORTED |
| - is_ECONNRESET |
| - is_TIMEUP |
| |
| make sure that the build picks up the include directories based on the |
| apxs queries and only search the httpd source if $self->{MP_AP_PREFIX} |
| was set. Earlier it was always picking the headers from the httpd |
| source if it was available, which was resulting in the wrong headers |
| if the installed httpd was different than the source that was found |
| [Stas] |
| |
| introduce ModPerl::RegistryPrefork and ModPerl::PerlRunPrefork, which |
| behave the same as ModPerl::Registry and ModPerl::PerlRun, |
| respectively, but chdir to the script's directory like mod_cgi |
| does. These two new handlers will refuse to load under threaded MPMs |
| where chdir can't be used as it will affect all running threads [Stas] |
| |
| ModPerl::RegistryCooker::chdir_file_normal() now chdirs to the current |
| script's directory or the specified directory as an argument, as it |
| was planned in first place. Therefore switch ModPerl::Registry and |
| ModPerl::PerlRun to us NOP for this method call. If chdir_file is |
| mapped to chdir_file_normal(), then run() and |
| convert_script_to_compiled_handler() now call chdir to the script's |
| directory and at before returning go back to the server root. [Stas] |
| |
| prevent undef warnings in catfile() calls in Apache2::Build when |
| called from the ModPerl-Registry tree [Stas] |
| |
| fix modperl_brigade_dump to use apr_file_printf() instead of |
| fprintf(), which doesn't work everywhere [Stas] |
| |
| Fix a warning triggered by `ln` on Cygwin, when running perl |
| Makefile.PL for a second time without previously running make |
| clean. [Nikolay Ananiev <ananiev@thegdb.com>] |
| |
| When compiling a static mod_perl and |
| MP_AP_CONFIGURE="--with-apr=/some/path" argument is given, Apache will |
| use the apr-config at the given path, but mod_perl was using the |
| default at "srclib/apr/.libs". Fix that [Nikolay Ananiev <ananiev@thegdb.com>] |
| |
| Show MP_APU_CONFIG as an argument to Makefile.PL in the Usage |
| menu. [Nikolay Ananiev <ananiev@thegdb.com>] |
| |
| Makefile.PL: fix the pre-rename mp2 install diagnostics code, to use |
| the mp version of 1.999xx and not 1.999_xx, as the latter is |
| unsuitable for numerical comparison, also fix the name of the reported |
| conflicting directory [Stas]. |
| |
| add APR::Status::is_(EACCES|ENOENT), and use in ModPerl::RegistryCooker |
| to return, as appropriate, Apache2::Const::(FORBIDDEN|NOT_FOUND), |
| based on $@. Also remove a check in modperl_slurp_filename |
| of src/modules/perl/modperl_util.c to enable $@ to be set when |
| opening or reading a file fails. This fixes a bug on Win32, revealed |
| in 404.t and redirect.t of the ModPerl-Registry tests, as reported |
| by Steve Hay and Markus Wichitill [Stas, Randy Kobes] |
| |
| link Apache2::* and ModPerl::* to mod_perl.a and DynaLoader.a, but |
| -lmod_perl and -lDynaLoader don't work, and we can't supply the full |
| paths, because MakeMaker doesn't allow this. I workaround this by |
| making a symlink to mod_perl.a (called libmod_perl.a) and copy |
| DynaLoader.a to libDynaLoader.a (I don't create a symlink, because, |
| when running make clean, the real DynaLoader.a may get deleted). The |
| APR::* extensions are not affected, because in both cases we link them |
| against aprext. Also other small fixes are added. [Nikolay Ananiev |
| <ananiev@thegdb.com>] |
| |
| |
| |
| |
| =item 1.999_23 - May 3, 2005 |
| |
| fix Apache2::Build::dynamic_link_MSWin32 to generate a new line after |
| dynamic_link code in Makefile [Nikolay Ananiev <ananiev@thegdb.com>] |
| |
| fix a warning in Apache2::Build::build_config() when building |
| with MP_STATIC_EXTS=1 [Nikolay Ananiev <ananiev@thegdb.com>] |
| |
| improving DSO support on cygwin. The problem with cygwin is that it |
| behaves like windows (it's a posix layer over windows after |
| all). That's why we need to supply all symbols during linking time |
| just like on win32, by adding -lapr-0 -laprutil-0 and -lhttpd. On |
| windows, Apache supplies all the three libraries and it's easy to |
| link, but on cygwin apache doesn't play nice and doesn't supply |
| libhttpd. This change adds libapr and libaprutil. [Nikolay Ananiev |
| <ananiev@thegdb.com>] |
| |
| improve the diagnostics when detecting mp2 < 1.999022, tell the user |
| which files and/or dirs need to be removed [Stas] |
| |
| restore the DESTDIR support partially nuked by the apache2 rename |
| branch [Torsten Förtsch <torsten.foertsch gmx.net>] |
| |
| add APR::Status to provide functions corresponding to the |
| APR_STATUS_IS_* macros of apr_errno.h, especially those composites |
| like APR_STATUS_IS_EAGAIN(s) which are satisfied by more than one |
| specific error condition. Presently only APR_STATUS_IS_EAGAIN is |
| provided [Randy Kobes] |
| |
| fix the generation of the manpages for .pm files from sub-projects |
| like ModPerl-Registry (previously was creating manpage files like |
| .::ModPerl::PerlRun.3) [Stas] |
| |
| fix the pod2man'ification part of 'make install' (using POD2MAN_EXE |
| instead of POD2MAN Makefile macro) [Stas] |
| |
| |
| =item 1.999_22 - April 14, 2005 |
| |
| ******************** IMPORTANT ******************** |
| this version of mod_perl is completely incompatible |
| with prior versions of mod_perl, both 1.XX and |
| 1.99_XX. Please read the below changes carefully. |
| *************************************************** |
| |
| remove MP_INST_APACHE2 installation option and Apache2.pm - all |
| mod_perl related files will now be installed so they are visible |
| via standard @INC. also, refuse to install over mod_perl 2 versions |
| less than 1.999_22. [Geoffrey Young] |
| |
| s/Apache::/Apache2::/g and s/mod_perl/mod_perl2/g in all module |
| APIs. so, Apache::RequestRec is now Apache2::RequestRec, |
| Apache::compat is now Apache2::compat, and so on. [joes] |
| |
| move all Apache:: constants to Apache2::Const and all APR:: constants |
| to APR::Const. for example, Apache:OK is now Apache2::Const::OK and |
| APR::SUCCESS is now APR::Const::SUCCESS. [Geoffrey Young] |
| |
| add $ENV{MOD_PERL_API_VERSION} as something that clearly distinguishes |
| which mod_perl version is being used at request time. [Geoffrey Young] |
| |
| rename Apache->request() to Apache2::RequestUtil->request(), and |
| Apache->server() to Apache2::ServerUtil->server() |
| [Geoffrey Young] |
| |
| fix Apache2::Status which was bailing out on trying to load modules |
| with dev versions like 2.121_02 [Stas] |
| |
| When parsing Makefile.PL MP_* options, handle correctly the MP_FOO=0 |
| entries [Philip M. Gollucci <pgollucci@p6m7g8.com>] |
| |
| init the anonsub hash for base perl and each vhost +Parent (previously |
| was init'ed only for the base perl) [Stas] |
| |
| fix a bug when a non-threaded perl is used and anonymous sub is pushed |
| at the server startup (the CV wasn't surviving) [Stas] |
| |
| Make sure that CPAN shell doesn't triple over usage of |
| $ExtUtils::MakeMaker::VERSION [Randy Kobes] |
| |
| Apache2::RequestRec->new now sets $r->request_time [Stas] |
| |
| remove CGI.pm and Apache::Request dependencies from Apache2::Status |
| since they weren't used at all [Geoffrey Young] |
| |
| Fixes for Apache2::Reload's touchfile feature (return Apache2::Const::OK |
| instead of 1) [Chris Warren <chwarren@cisco.com>] |
| |
| cygwin fixes: [Nikolay Ananiev <ananiev@thegdb.com>] |
| - doesn't like XS wrapper starting with 'static' |
| - need to compile everything with -DCYGWIN |
| |
| ModPerl::RegistryCooker API change: s/rewrite_shebang/shebang_to_perl/ |
| the new API now returns the string to prepend before the rest of the |
| script, instead of rewriting the content, which is both faster and |
| doesn't mislead the perl debugger [Dominique Quatravaux |
| <dom@idealx.com>] |
| |
| Starting from ExtUtils::MakeMaker 6.26 went back to pm_to_blib target |
| from pm_to_blib.ts introduced in 6.22, so needed to fix the glue_pod |
| target, so install will work correctly [Stas] |
| |
| Syntax errors in <Perl> sections were not correctly caught and |
| reported. [Gozer] |
| |
| when building mp2 EU::MM looks into Apache-Test/MANIFEST and complains |
| about the missing Apache-Test/META.yml (which is indeed not included |
| in the modperl package due to the PAUSE problems of dealing with more |
| than one META.yml. Solution: Exclude Apache-Test/MANIFEST from |
| mod_perl distribution package. [Stas] |
| |
| ModPerl::Registry no longer checks for -x bit (we don't executed |
| scripts anyway), and thus works on acl-based filesystems. Also |
| replaced the -r check with a proper error handling when the file is |
| read in. [Damon Buckwalter <buckwad@gmail.com>] |
| |
| Apache2::RequestUtil::slurp_filename now throws an APR::Error exception |
| object (before it was just croaking). [Stas] |
| |
| fix APR::Error's overload of '==' (it was always returning true |
| before), and add the corresponding '!=' [Stas] |
| |
| if $r->document_root was modified, restore it at the end of request |
| [joes] |
| |
| Apache2::ServerRec method which set the non-integer fields in the |
| server_rec, now copy the value from the perl scalar, so if it changes |
| or goes out of scope the C struct is not affected. Using internal perl |
| variables to preserve the value, since using the server pool to |
| allocate the memory will mean a memory leak [Stas] |
| |
| add the escape_url entry in the ModPerl::MethodLookup knowledgebase |
| [Stas] |
| |
| Apache2::SubProcess::spawn_proc_prog now can be called in a void |
| context, in which case all the communication std pipes will be closed |
| [Stas] |
| |
| fix a bug in $r->document_root, which previously weren't copying the |
| new string away [Stas] |
| |
| introduce a new build option MP_AP_DESTDIR to aid package builders |
| direct the Apache-specific files to the right place. [Cory Omand |
| <Cory.Omand@Sun.COM>] |
| |
| Fix bug in modperl_package_clear_stash() segfaulting when |
| encountering declared but not yet defined subroutines. |
| [Steve Hay <steve.hay@uk.radan.com>, Gozer] |
| |
| win32 needs PERL_SYS_INIT3/PERL_SYS_TERM calls [Steve Hay |
| <steve.hay@uk.radan.com>] |
| |
| Fix broken MP_STATIC_EXTS=1 build. [Gozer] |
| |
| Perl -Duse64bit fix. Pointers can't just be generically |
| casted from/to IVs. Use PTR2IV/INT2PTR instead. [Gozer] |
| |
| Perl -Duse64bit fix. apr_size_t pointers can't just be generically |
| casted from/to UVs. Use PTR2UV/INT2PTR instead. [Gozer] |
| |
| fix a bug in Apache2::Build::dir: If the right directory isn't found in |
| the for loop $dir still contains a > value, so the ||= has no |
| effect. [Nick Wellnhofer <wellnhofer@aevum.de>] |
| |
| |
| |
| =item 1.999_21 - January 22, 2005 |
| |
| PerlPostConfigRequire was trying to detect missing files early on, |
| but without searching thru @INC, causing false negatives. Better off |
| skipping that check and leave it to modperl_require_file() to report |
| problems with finding the file. [Patrick LeBoutillier |
| <patrick.leboutillier@gmail.com>, Gozer] |
| |
| add a perl bug workaround: with USE_ITHREADS perl leaks pthread_key_t |
| on every reload of libperl.{a,so} (it's allocated on the very first |
| perl_alloc() and never freed). This becomes a problem on apache |
| restart: if the OS limit is 1024, 1024 restarts later things will |
| start crashing [Gisle Aas <gisle@ActiveState.com>, Stas] |
| |
| on Irix mod_perl.so needs to see the libperl.so symbols, which |
| requires the -exports option immediately before -lperl. [Gordon Lack |
| <gml4410@ggr.co.uk>] |
| |
| pool arguments to startup and connection callbacks must be blessed |
| into APR::Pool and not Apache::Pool class [joes] |
| |
| Make PerlSetEnv, PerlPassEnv and %ENV in PerlRequre, PerlModule, |
| PerlConfigRequire and PerlPostConfigRequire affect each other, so a |
| change in one of these is immediately seen in the others. [Pratik |
| <pratiknaik gmail.com>, Stas] |
| |
| |
| |
| =item 1.999_20 - January 5, 2005 |
| |
| the autogenerated modules (and some implemented in xs/ modules) are |
| now getting the same version number as $mod_perl::VERSION (the |
| exception are APR modules which get 0.009_000 for now). [Stas] |
| |
| until we figure out how to tell PAUSE index about versions of the |
| autogenerated modules, create a fake module which lists all the |
| autogenerated modules and their versions and include that in the |
| distro. [Stas] |
| |
| moving to the triplet version notation, which requires us to bump 1.99 |
| => 1.999 so 1.999020 (mp2) > 1.29 (mp1). [Stas] |
| Now we are gong to have: |
| $mod_perl::VERSION : "1.099020" |
| int $mod_perl::VERSION : 1.09902 |
| $mod_perl::VERSION_TRIPLET: 1.99.20 |
| |
| <Perl> and PerlPostConfigRequires were leaking some memory at |
| startup. Use parms->temp_pool instead of parms->pool for temporary |
| memory allocations. [Gozer] |
| |
| deal with a situation where an object is used to construct another |
| object, but it's then auto-DESTROYed by perl rendering the object that |
| used it corrupted. the solution is to make the newly created objects |
| refer to the underlying object via magic attachment. only objects |
| using objects that have DESTROY are effected. This concerns some of |
| the methods accepting the custom APR::Pool object (not native pools |
| like $r->pool). [Stas] |
| Adjusted: |
| - APR::Brigade: new |
| - APR::Finfo: stat |
| - APR::IpSubnet: new |
| - APR::Table: copy, overlay, make |
| - APR::ThreadMutex: new |
| - APR::URI: parse |
| - Apache::RequestUtil: new |
| - APR::Pool: new |
| - APR::BucketAlloc: new |
| |
| APR::Bucket::alloc_create moved to APR::BucketAlloc::new |
| APR::Bucket::alloc_destroy moved to APR::BucketAlloc::destroy [Stas] |
| |
| prefork handlers optimisation: don't dup the handler struct unless |
| this is a threaded-mpm [Stas] |
| |
| speed up the 'perl Makefile.PL' stage [Randy Kobes]: |
| - reduce the number of calls to build_config() of |
| Apache::Build within ModPerl::BuildMM |
| - cache the results of the calls to apxs_cflags, apxs_extra_cflags, |
| and apxs_extra_cppflags in Apache::Build |
| - in apxs of Apache::Build, return a cached result only when defined |
| |
| move ModPerl::Util::exit() into mod_perl.so, since it needs to work, |
| even if ModPerl::Util wasn't loaded [Stas] |
| |
| |
| |
| =item 1.99_19 - December 23, 2004 |
| |
| $r->hostname is now writable [Gozer] |
| |
| Static build with a Perl without ithreads and a non-threaded MPM |
| would segfault on startup. Caused by a bug in perl's perl_shutdown() |
| code. Fixed in Perl 5.8.2, so it's now a build requirement [Gozer] |
| |
| replace the added in 1.99_17 code on resetting/restoring PL_tainted, |
| with explicit reset before and after each each callback. This solves a |
| complicated tainting issues caused when perl exception object is |
| thrown. rgs suggested that it should be safe, similar to perl's own |
| pp_nextstate which says: /* Each statement is presumed innocent */ |
| [Stas] |
| |
| New configuration directives: [Gozer] |
| - PerlConfigRequire |
| Just like PerlRequire, but _always_ triggers an immediate |
| interpreter startup |
| - PerlPostConfigRequire |
| A delayed form of PerlRequire, that waits until the post_config |
| phase before require'ing files |
| |
| fix a warning in Apache::Status [John Williams <williams tni.com>] |
| |
| Ignore Apache-Test/META.yml in distribution tarballs until PAUSE |
| is capable of handling multiple META.yml files in one distro [Gozer] |
| |
| modperl_exports.c now wraps all exported functions in a #ifndef |
| function_name wrapper to help in weeding out functions that only make |
| sense for certain Perl configurations (perlio, threads) (which also |
| fixes static build against perlio-disabled perls, like 5.6.x) [Gozer] |
| |
| for make test, skip configuring fastcgi if it's found in the global |
| httpd.conf, as it causes crashes in the test suite [Stas] |
| |
| fix Makefile.PL arguments parser to support more than one MP_foo |
| option on the same line (including .makepl_args.mod_perl2 file) [Stas] |
| |
| fix compilation issues in ModPerl::Util::current_perl_id (on some |
| builds newSVpvf can't be resolved but Perl_newSVpvf works just |
| fine). [Stas, Markus Wichitill <mawic@gmx.de>] |
| |
| fix APR::Error::str to return a lexical variable, rather than a |
| string. This function is called by SvTRUE in modperl_errsv() via |
| overload and on win32 (and randomly on linux) causes crashes via: |
| "Attempt to free temp prematurely" warning, where this 'temp' is the |
| string returned by this function. Making it a lexical variable before |
| returning it, resolves the problem. [Steve Hay] |
| |
| fix META.yaml s/private/no_index/ (to hide the bundled Apache-Test |
| from PAUSE indexer) [Randy Kobes] |
| |
| |
| |
| =item 1.99_18 - December 12, 2004 |
| |
| Fix x86_64 warnings in modperl_restart_count_*, due to casting between |
| integers and pointer types [Joe Orton] |
| |
| open_logs and post_config handlers require the Apache::OK return code |
| or the server aborts, so we need to log an error in case the handler |
| didn't fail but returned something different from Apache::OK [Stas] |
| |
| new function ModPerl::Util::current_perl_id() which returns something |
| like (.e.g 0x92ac760) (aTHX) under threaded mpm and 0 under |
| non-threaded perl (0x0). Useful for debugging modperl under threaded |
| perls. [Stas] |
| |
| make sure that modperl's internal post_config callback, which amongst |
| other things, cloning perl interpreters is running as |
| modperl_hook_post_config_last APR_HOOK_REALLY_LAST, which ensures that |
| user's post_config callbacks are run before the cloning. now the code |
| from config phase's startup.pl can be safely moved to the post_config |
| phase's equivalent. [Stas] |
| |
| Further sync with libapr constants changes: [Stas] |
| - the constants |
| APR::(READ|WRITE|CREATE|APPEND|TRUNCATE|BINARY|EXCL|BUFFERED|DELONCLOSE) |
| now have a prefix APR::FOPEN_ and moved group s/filemode/fopen/ |
| - constants from the fileprot group moved to the fprot group and the |
| prefix has changed: from APR::FILEPROT_ to APR::FPROT_ |
| - this also fixes the import of APR_EXCL as an error constant |
| |
| $r->print() and tied print() now return 0E0 (zero but true) when the |
| call was successful but for zero bytes. [Geoffrey Young] |
| |
| a new function Apache::ServerUtil::server_shutdown_cleanup_register to |
| register cleanups to be run at server shutdown. [Stas] |
| |
| $bb->cleanup is no more segfaulting (was segfaulting due to a broken |
| prototype in APR, and consequently invalid XS glue code) [Randy Kobes, |
| Stas] |
| |
| make sure that ABSPERLRUN and ABSPERLRUN are defined in |
| src/modules/perl/Makefile (needed by win32 build) [Stas] |
| |
| For static builds, mod_perl header files were being installed |
| into apache's source tree instead of where apache installed it's |
| own headers [Gozer] |
| |
| modperl_threads_started() wasn't working under static worker build, |
| due to MP_threads_started static variable not being reset on |
| restart. Now resetting it. [Stas] |
| |
| @INC shrinking efforts: [Stas] |
| 1) when adding $ServerRoot don't add the trailing / (as it ends up |
| twice when added by A-T w/o trailing /) |
| 2) add $ServerRoot/lib/perl only if it actually exists |
| |
| For static builds, we now run 'make clean' in httpd's source |
| tree before running ./configure if the source tree has been |
| configured before [Gozer] |
| |
| Apache::SizeLimit ported [Perrin Harkins <perrin elem.com>] |
| |
| create a new subpool modperl_server_user_pool (from |
| modperl_server_pool), which is used internally by |
| Apache::ServerUtil::server_restart_register. This ensures that |
| user-registered cleanups are run *before* perl's internals cleanups |
| are run. (previously there was a problem with non-threaded perls which |
| were segfaulting on user cleanups, since perl was already gone by that |
| time). [Stas] |
| |
| Starting from ExtUtils::MakeMaker 6.22 it no longer generates |
| pm_to_blib target, but pm_to_blib.ts, so needed to fix the glue_pod |
| target, so install will work correctly [Stas] |
| |
| Apache::RequestUtil : $r->child_terminate() implemented for |
| non-threaded MPMs. [Gozer] |
| |
| new API Apache::ServerUtil::restart_count() which can be used to tell |
| whether the server is starting/restarting/gracefully |
| restarting/etc. Based on this feature implement |
| $Apache::Server::Starting and $Apache::Server::ReStarting in |
| Apache::compat [Stas] |
| |
| Apache::Resource ported to mp2 [Stas] |
| |
| If none of MP_APXS, MP_AP_PREFIX and MP_USE_STATIC were specified when |
| configuring Makefile.PL, we now prompt for APXS path first and only if |
| that fails ask for MP_AP_PREFIX. This is a requirement to get 'make |
| test' find httpd. [Stas] |
| |
| Dynamically prompt and add MP_INST_APACHE2=1 when installing on |
| systems with mod_perl 1 preinstalled. [Stas] |
| |
| fix the logging call in RegistryCooker [Lars Eggert <lars.eggert |
| netlab.nec.de>] |
| |
| fix $r->filename in Apache::compat to update the finfo struct (which |
| is how it worked in mp1) [Stas] |
| |
| enclose all occurences of eval_* with ENTER;SAVETMPS; |
| ... FREETMPS;LEAVE; previously things just happened to work, due to |
| external scopes which was not very reliable and some change could |
| introduce obsure bugs. [Stas] |
| |
| in case a native apache response filter is configured outside the |
| <Location> block with PerlSet*Filter directive, make sure that |
| mod_perl doesn't try to add it as connection filter (previously was |
| logging an error like: [error] a content filter was added without a |
| request: includes) [Stas] |
| |
| replace the slow implementation of anon handlers using B::Deparse, |
| with per-interpreter cache of compiled CODE refs (sort of emulating |
| named subroutines for anonymous handlers) [Stas]. |
| |
| avoid segfaults when a bogus $r object is used [Stas] |
| |
| Remove magicness of PerlLoadModule and implement Apache::Module::add() |
| for modules that implement their own configuration directives [Gozer] |
| |
| Apache::Connection::remote_ip is now settable (needed to set the |
| remote_ip record based on proxy's X-Forwarded-For header) [Stas] |
| |
| Fix Modperl::Util::unload_package() [Gozer] |
| - Mistakenly skipping small entries of size 2 and less |
| - Leave entries from other packages alone |
| |
| $filter->remove now works with native (non-modperl) filters + test |
| [Torsten Förtsch <torsten.foertsch gmx.net>] |
| |
| |
| |
| =item 1.99_17 - October 22, 2004 |
| |
| Implement Apache->unescape_url_info in Apache::compat and drop it |
| from the official API for CGI::Util::unescape() as a suggested |
| replacement [Gozer] |
| |
| fix xs_generate to croak on duplicate entries in xs/maps files |
| [Christian Krause <chkr plauener.de>] |
| |
| Workaround a possible bug in Perl_load_module() [Gozer] |
| |
| Fix a problem building with non-GNU make (can't make target dynamic |
| in xs/APR/aprext) [Gozer] |
| |
| escape HTML in dumped variables by Apache::Status [Markus Wichitill |
| <mawic@gmx.de>] |
| |
| $r->document_root can now be changed when safe to do so [Gozer] |
| |
| APR::Bucket->new now requires an APR::BucketAlloc as its first argument. |
| New subs added: APR::Bucket::setaside, APR::Bucket::alloc_create, |
| APR::Bucket::alloc_destroy, APR::Brigade::bucket_alloc. [joes] |
| |
| reimplement APR::Pool life-scope handling, (the previous |
| implementation had problems) [joes] |
| |
| make sure that Apache::Filter::read, APR::Socket::recv, |
| Apache::RequestIO::read, APR::Brigade::flatten, and APR::Bucket::read |
| all return tainted data under -T [Stas] |
| |
| tag the custom pools created by mod_perl for easier pools debug [Joe |
| Orton] |
| |
| fix a bug in non-ithreaded-perl implementation where the cached |
| compiled CODE refs of httpd.conf-inlined one-liner handlers like: |
| PerlFixupHandler 'sub { use Apache::Const qw(DECLINED); DECLINED }' |
| didn't have the reference count right. [Stas] |
| |
| per-server PerlSetEnv and PerlPassEnv values are properly added |
| to %ENV when only a per-directory handler is configured. |
| [Geoffrey Young] |
| |
| resolve several 'Use of uninitialized value in...' warnings in |
| Apache::Status [Stas]. |
| |
| make install and static build now correctly installs mod_perl as |
| well as the statically built apache [Gozer] |
| |
| if some code changes the current interpreter's tainted state to on, |
| the return value from the handler callback will be tainted, and we |
| fail to deal with that. So revert to coercing any return value, but |
| undef (a special case for exit()). to IV, so that tainted values are |
| handled correctly as well. [Stas] |
| |
| make sure that each handler callback starts with a pristine |
| tainted-ness state, so that previous callback calls won't affect the |
| consequent ones. Without this change any handler triggering eval or |
| another function call, that checks TAINT_PROPER, will crash mod_perl |
| with: "Insecure dependency in eval while running setgid. Callback |
| called exit." farewell message [Stas] |
| |
| make sure that 'make distclean' cleans all the autogenerated files |
| [Stas] |
| |
| $r->log_reason has been ported and moved out of Apache::compat |
| [Gozer] |
| |
| APR::OS::thread_current renamed APR::OS::current_thread_id and |
| now returns the actual thread_id instead of an object that |
| needed to be dereferenced to get at the thread_id [Gozer] |
| |
| change a bunch of the APR:: constants to have a better prefix |
| (APR::FILETYPE_* and APR::FILEPROT_). libapr will be changed soon too |
| [Stas] |
| |
| Generate modperl_exports.c for static builds to prevent the |
| linker from stripping needed but unused symbols [Gozer] |
| |
| Add .libs/ as part of the library search path when building |
| against httpd's source tree [Gozer] |
| |
| In the static build, run make in httpd's srclib/ early to have |
| generated files present at mod_perl configure time [Gozer] |
| |
| When searching for ap(r|u)-config in httpd's source tree, search |
| into srclib/apr-util as well as srclib/apr [Gozer] |
| |
| Remove APR::Finfo::pool as it has no use to us [Stas] |
| |
| get PerlSetVar and PerlAddVar multi-level merges to (finally) work |
| properly. [Rici Lake <rici ricilake.net>] |
| |
| MP_AP_BUILD configure option removed. Now implicit when MP_USE_STATIC |
| is specified [Gozer] |
| |
| Apache::Module $mod->version() and $mod->minor_version() renamed |
| to $mod->ap_api_major_version() and $mod->ap_api_minor_version |
| for clarity [Gozer] |
| |
| Apache::Log changes: [Stas] |
| - moved to compat: Apache::warn, Apache->warn, Apache::Server->warn, |
| Apache::Server::warn |
| - re-enabled $r->warn |
| - removed support for Apache::ServerRec->warn |
| (Apache::ServerRec::warn is still there) |
| |
| Apache::Directive conftree() changed from class method to |
| regular subroutine [Gozer] |
| |
| Apache::Module top_module() and get_config() as class methods |
| added to Apache::compat for backwards compatibility [Gozer] |
| |
| Apache::Module top_module() and get_config() changed from class |
| methods to regular subroutines [Gozer] |
| |
| Added Apache::CmdParms::add_config() to work around a memory |
| leak discovered with <Perl> sections in .htaccess files [Gozer] |
| |
| Added ModPerl::Util::unload_package() to remove a loaded package |
| as thoroughly as possible by clearing it's stash. [Gozer] |
| |
| fix Apache->request($r) to be set-able even w/: PerlOptions |
| -GlobalRequest [Stas] |
| |
| Add Apache::Reload->unregister_module() to explicitely remove a |
| module from Apache::Reload's monitoring list [Gozer] |
| |
| introduce a custom modperl error message for failing filter handlers |
| (previously 'unknown error' coming from rc=500 was logged) [Stas] |
| |
| Fix Apache::Log methods/functions to log into the vhost's error_log |
| file (if there is one). ( $s->log->*, $s->log_error, $s->log_serror, |
| Apache::ServerRec::warn, etc.). Apache::ServerRec can now export its |
| warn function to override CORE::warn [Stas] |
| |
| Fix $s->log->*, $s->log_error and $s->log_serror to again log into the |
| vhost's error_log file (if there is one). [Stas] |
| |
| $s->log->warn and other $s->log->foo are now logging to the right |
| vhost server and not the global one. modperl_sv2server_rec was |
| broken. [Stas] |
| |
| Fix a glue_pod make target bug, when .pm file doesn't exist, |
| e.g. ThreadMutex.pm is not created on unless |
| $apr_config->{HAS_THREADS} [Stas] |
| |
| Introduce APR::Socket::poll to poll a non-blocking socket [Ken Simpson |
| <ksimpson@larch.mailchannels.com>] |
| |
| Fix the error message when the minimal required httpd version is not |
| satisfied [Pratik <pratiknaik@gmail.com>] |
| |
| Fix interactive prompting at perl Makefile.PL, when no APXS or |
| MP_AP_PREFIX were provided. now asking for an alternative location if |
| the suggested choices weren't selected. [Stas] |
| |
| Added APR::URI->rpath method. Returns the path of an uri minus |
| path_info, if any. [Gozer] |
| |
| moved Apache::current_callback() to ModPerl::Util::current_callback |
| where it belongs [Gozer] |
| |
| modperl_perl_module_loaded() fixed to use %INC to determine if a module |
| is loaded instead of checking for the existence of a stash [Gozer] |
| |
| fix the modperl build, where httpd has been built against separate |
| installations of apr-util and apr, where apr-util has been installed |
| with a different includedir to apr. [Joe Orton] |
| |
| $Apache::Server::SaveConfig is now $Apache::PerlSections::Save |
| [Geoffrey Young] |
| |
| |
| |
| =item 1.99_16 - Aug 22, 2004 |
| |
| Fix a compilation problem breaking 1.99_15 (sv_copypv was added in |
| perl 5.7.3) [Jason Woodward <woodwardj@jaos.org>] |
| |
| Added $r->content_languages in Apache::RequestRec [Gozer] |
| |
| APR::Bucket: add delete() and destroy() methods [Stas] |
| |
| |
| |
| =item 1.99_15 - Aug 20, 2004 |
| |
| replace the memory allocation for modperl filter handlers to use a |
| temporary subpool of the ap_filter_t object. previously using perl's |
| safemalloc had problems on win32 (randomly my_perl == NULL) [Stas] |
| |
| Disable Apache::HookRun::run_create_request -- it's already run |
| internally by Apache::RequestRec->new [Stas] |
| |
| Update Apache::RequestRec->new() to initialize members of request_rec |
| which were added some time ago (without it we were getting segfaults |
| in the new pseudo_http test. [Stas] |
| |
| Apache::CmdParms->limited member replaced by is_method_limited() |
| method [Gozer] |
| |
| Apache::Module changes [Gozer] |
| - readwrite => readonly: |
| cmds, next, name, module_index, minor_version, version |
| - removed: remove_module |
| |
| ensure that a sub-dir Apache-Test exists in the source distro (this is |
| a requirement, since the test suite relies on the particular |
| Apache-Test version distributed with the mod_perl source) [Stas] |
| |
| combine handler resolving failure error with the actual error, so |
| there is only one logged entry [Stas] |
| |
| pod manpages are now glued to all .pm files for which .pod exists at |
| 'make install' phase [Stas] |
| |
| Apache::RequestIO::sendfile() now indicates which file it has failed |
| to open on failure. [Stas] |
| |
| fix Apache::SubRequest's methods: lookup_file, lookup_uri, |
| lookup_method_uri to default the last argument to |
| r->proto_output_filters (no request filters for the subrequest) and |
| not r->output_filters->next as it was before (one filter was getting |
| skipped and the rest of the filters were applied *twice*). [Stas] |
| |
| Apache::CmdParms changes [Gozer] |
| - readwrite => readonly: |
| override, limited, directive, pool, temp_pool, server, path, |
| cmd, context, err_directive |
| |
| - removed: limited_xmethods, xlimited, config_file, err_directive |
| |
| Fix a bug in APR::Bucket->new when a passed argument was of type |
| PADTMP [Stas] |
| |
| Apache::Connection changes [Stas, "Fred Moyer" <fred /about/ |
| taperfriendlymusic.org>] |
| - readwrite => readonly: |
| |
| pool, base_server, local_addr, remote_addr, remote_ip, remote_host, |
| aborted, local_ip, local_host, id, conn_config, sbh, bucket_alloc |
| |
| - removed: logname |
| |
| Move check_cmd_context from Apache::Command to Apache::CmdParms. |
| [Gozer] |
| |
| Add :context group of constants for check_cmd_context(). |
| NOT_IN_VIRTUALHOST, NOT_IN_LIMIT, NOT_IN_DIRECTORY, NOT_IN_LOCATION, |
| NOT_IN_FILES, NOT_IN_DIR_LOC_FILE & GLOBAL_ONLY [Gozer] |
| |
| Removed Apache::Command method soak_end_container [Gozer] |
| |
| Removed Apache::Module methods (dynamic_load_handle and |
| find_module_name) [Gozer] |
| |
| All Apache::Command methods are now read-only [Gozer] |
| |
| Removed Apache::Command methods (func and cmd_data) [Gozer] |
| |
| Removed Apache::Directive methods (data & walk_config) [Gozer] |
| |
| All Apache::Directive methods are now read-only [Gozer] |
| |
| Filters should not reset $@ if it was already set before |
| invocation [Gozer] |
| |
| Apache::compat server_root_relative now correctly handles absolute |
| paths like ap_server_root_relative does [Gozer] |
| |
| Fix a bug in <Perl> sections with multiple aliases in a |
| virtualhost container. [Gozer] |
| |
| PerlModule, PerlRequire, Perl and <Perl> is now supported in |
| .htaccess. They will run for each request. [Gozer] |
| |
| removed support for httpd 2.0.46. httpd 2.0.47 is now the minimum |
| supported version. [Geoffrey Young] |
| |
| Static builds for httpd >= 2.0.51 available. With the new MP_AP_BUILD |
| option, configure and compile an httpd with mod_perl statically linked |
| in [Gozer] |
| |
| Apache::RequestRec methods changes [Stas] |
| - readwrite => readonly: |
| |
| connection, canonical_filename, header_only, main, next, prev, |
| pool, per_dir_config, request_config, proto_num, protocol, |
| request_time, server, the_request, unparsed_uri |
| |
| - removed: |
| |
| remaining - this method is not needed if the deprecated |
| $r->client_block methods aren't used, (use $r->read |
| $r->instead) |
| canonical_filename - it's a private member |
| |
| The func Apache::SubProcess::spawn_proc_prog is now a method: |
| $r->spawn_proc_prog [Stas] |
| |
| Apache::Process methods (pool, pconf and short_name) are now read-only |
| [Stas] |
| |
| ($r|$c|$s)->server_root_relative were removed. Now only an explicit |
| and somewhat deprecated function API remains: |
| Apache::ServerUtil::server_root_relative($pool, $path); it's too easy |
| to cause memory leak with this method, and it's inefficient as it |
| duplicates the return value, to avoid potential segfaults if the pool |
| it was allocated from gets destroyed and the value is attempted to be |
| used. Instead of this method use the equivalent: |
| File::Spec->catfile(Apache::ServerUtil::server_root, $fname); [Stas] |
| |
| $r->psignature now lives in the package it belongs to: |
| Apache::RequestUtil (previously lived in Apache::ServerUtil). [Stas] |
| |
| A few functions moved namespace from Apache:: to Apache::ServerUtil:: |
| (to make it easier to find the container of the function): [Stas] |
| - exists_config_define |
| - server_root |
| - get_server_built |
| - get_server_version |
| |
| fix an old outstanding bug in the APR::Table's TIE interface with |
| each()/values() over tables with multi-values keys. Now the produced |
| order is correct and consistent with keys(). Though, values() works |
| correctly only with perl 5.8.x and higher. [Joe Schaefer] |
| |
| require Perl 5.6.1, 5.6.0 isn't supported for a long time, but we |
| weren't aborting at the Makefile.PL stage [Stas] |
| |
| Apache::RequestUtil::method_register($s->process->pconf, 'FOO'); is |
| now $s->method_register('FOO'). |
| Apache::RequestUtil::add_version_component($s->process->pconf, 'BAR/0.1'); |
| is now $s->add_version_component('BAR/0.1'). [Stas] |
| |
| Remove $Apache::Server::StrictPerlSections. Now, all <Perl> |
| sections errors are fatal by default and cause server startup to |
| abort on error. [Gozer] |
| |
| Fix ($r|$filter|$bucket)->read() functions to run the set magic logic, |
| to handle cases when a passed buffer to fill is not a regular |
| scalar. [Stas] |
| |
| Apache::ServerRec accessors changes: [Stas] |
| - readonly accessors: |
| |
| process, next, is_virtual, module_config, lookup_defaults and |
| addrs |
| |
| - readwrite accessors with the exception of threaded mpms, where the |
| accessors are writable only before the child_init phase (i.e. before |
| threads are spawned): |
| |
| server_admin, server_hostname, port, error_fname, error_log, |
| loglevel, timeout, keep_alive_timeout, keep_alive_max, keep_alive, |
| names, wild_names, limit_req_line, limit_req_fieldsize, |
| limit_req_fields, and path |
| |
| supports a new type of struct accessor, which is just like read/write |
| one, but doesn't allow write access starting at the ChildInit phase |
| under threaded mpm (to avoid thread-safely issues) [Stas] |
| |
| In order to be consistent with Apache::RequestRec, Apache::Server is |
| now Apache::ServerRec and all methods/functions from Apache::Server |
| now live in Apache::ServerRec. [Stas] |
| |
| Use a context-specific Perl_load_module() instead of load_module(), to |
| avoid the problem with 'load_module' symbol resolution on certain |
| platforms, where for some reason it doesn't get resolved at compile |
| time to Perl_load_module_nocontext [Stas] |
| |
| Make it possible to disable mod_perl for the base server, but enable |
| it for the virtual hosts [Stas] |
| |
| Removed the deprecated path argument to $r->add_config() [Gozer] |
| |
| Created a META.yml for CPAN and friends, including Apache-Test as |
| a private resource to keep CPAN from installing mod_perl when a |
| user just wants Apache::Test [Gozer] |
| |
| Moving HTTP specific functions get_status_line, method_register from |
| Apache:: to Apache::RequestUtil:: to match their container [Stas] |
| |
| Adjust the list of mod_perl header files installed into the Apache2 |
| include/ directory, made necessary from the renaming and refactoring |
| arising from the decoupling of APR and APR::* from mod_perl.so. |
| Also include modperl_apr_perlio.h under xs/APR/PerlIO/ in |
| the list of such files installed [Stas, Randy Kobes] |
| |
| $r->read()/READ now throw exceptions [Stas] |
| |
| $r->rflush now returns nothing (was always returning APR::SUCCESS |
| before) [Stas] |
| |
| bug reports generating code: [Stas] |
| - add (apr|apu)-config linking info |
| - show the full path to the config file used to get the data for the |
| report |
| |
| The APR and APR::* family of modules can now be used without having |
| to load mod_perl.so. On *nix, this is done by compiling the needed |
| functions from the appropriate sources used to build mod_perl.so |
| into APR.so, and then arranging for APR::* to 'use APR ()'. On Win32, |
| a static library of needed functions is built, and APR/APR::* |
| then link into this library [Stas, Joe Schaefer, Randy Kobes] |
| |
| APR::RequestIO::sendfile() now flushes any buffered output before |
| sending the file contents out. If the return status is not checked and |
| an error happens it'll throw an exception. Fix offset handling. [Stas] |
| |
| Registry: remove the misleading prefix "$$: $class:" in the logged |
| error message, since not only registry errors will get logged if $@ is |
| set [Stas] |
| |
| change t/REPORT to suggest to post bug reports to the modperl users |
| list, to be consistent with the documentation [Stas] |
| |
| amd64 fixes [Joe Schaefer <joe+gmane@sunstarsys.com>] |
| - use IV insteaf of int where a pointer is used |
| - mpxs_APR__Bucket_new needs to use apr_size_t/off_set_t types |
| |
| APR::Socket::recv() now returns the length of the read data [Stas] |
| |
| APR::Bucket's read() returns "" instead of undef when there is no data |
| to read. [Stas] |
| |
| fix a bug in Registry handlers, where the same error was logged twice |
| and potentially a wrong error code returned [Stas] |
| |
| Apache::RequestIO: print(), printf(), puts(), write(), rflush() throw |
| an exception on failure [Stas] |
| |
| Apache::SubRequest: run() throw an exception on failure [Stas] |
| |
| Apache::Filter: [Stas] |
| - remove unneeded methods: remove_input_filter() and |
| remove_output_filter(), fputs() |
| - frec() accessor is made read-only |
| - fflush(), get_brigade() and pass_brigade() now throw exceptions if |
| called in the void context |
| - read, print() and puts() throw an exception on failure |
| |
| Apache::FilterRec: [Stas] |
| - remove the next() accessor since it's not used by Apache at the |
| moment |
| - name() is made read-only |
| |
| APR::URI: [Stas] |
| - removed accessors |
| o is_initialized() (internal apr_uri flag) |
| o dns_looked_up() and dns_resolved() (they are not |
| used by apache/apr) |
| - all remaining accessors now accept undef value, which unsets the |
| field |
| |
| Extended WrapXS code to support a new type of accessor: char * which |
| accepts undef to set the C pointer to NULL and as such unset the |
| member of the struct. [Stas] |
| |
| Exception error messages now include the error id along with the error |
| message (as they did in first place). [Stas] |
| |
| $r->finfo now accepts APR::Finfo object as an optional |
| argument. [Stas] |
| |
| APR::Finfo [Stas] |
| - change stat() to return finfo |
| - make all field accessors readonly |
| |
| ARP::password_validate is now ARP::Util::password_validate [Stas] |
| |
| APR::IpSubnet::new() now throws APR::Error exception (not returning |
| rc) [Stas] |
| |
| rename package APR::NetLib -> APR::IpSubnet to match the class name |
| [Stas] |
| |
| APR::BucketType: [Stas] |
| - name is readonly |
| |
| APR::Brigade [Stas] |
| - destroy() now throws APR::Error exception (not returning rc) |
| - rename empty => is_empty |
| - added the method cleanup() |
| - flatten() now returns the number of bytes read (and passed the |
| buffer by the argument) and throws APR::Error exception |
| |
| APR::Bucket: [Stas] |
| - read() now returns the length of the read data and throws |
| APR::Error exception (not returning rc). The returned scalar is |
| now TAINTED. |
| - type->name now has a module APR::BucketType |
| - type(), length(), start(), data() are now all readonly |
| - new() fix a bug in offset handling |
| |
| |
| |
| =item 1.99_14 - May 21, 2004 |
| |
| APR::SockAddr::port() accessor is now read-only [Stas] |
| |
| APR::Pool now has destroy() and clear() available [Stas] |
| |
| now logging the errors happening in pool cleanup callbacks [Stas] |
| |
| use the new Apache-Test attribute -minclient in the test suites. Now |
| along with the default maxclients = minclients+1, we no longer should |
| get 'server reached MaxClients setting' errors. [Stas] |
| |
| new API for APR::Socket recv() and send() + updated tests [Stas] |
| |
| add infrastructure for new ModPerl::Const constants and the first |
| constant ModPerl::EXIT. [Stas] |
| |
| re-implement ModPerl::Util::exit to use exception objects, so it's |
| possible to detect exit called in eval context and call it again |
| outside the eval context. [Stas] |
| |
| add the perl interface for the new exception handling code (mod_perl, |
| apache and apr methods will now throw exceptions with $@ being an |
| object). New class APR::Error was added, to handle the exception |
| objects with overload methods. Also added confess and croak |
| equivalents of Carp's methods, since at the moment the Carp's ones |
| don't work as is. The following perl and C methods have been renamed: |
| modperl_apr_strerror => modperl_error_strerror |
| APR::strerror => APR::Error::strerr |
| [Stas] |
| |
| set the 'error-notes' table to the error message on |
| HTTP_INTERNAL_SERVER_ERROR [Stas] |
| |
| fix the apxs build function to not handle empty lookups as errors |
| [Randy Kobes, Steve Hay] |
| |
| fix type casting problems in the io functions [Stas] |
| |
| add support for libgtop 2.5.0+ (maintenance mode) [Stas] |
| |
| APR::Socket::timeout_set now croaks on failure [Stas] |
| |
| significantly speedup the startup of threaded mpm test suite, by |
| configuring only the minimal number of perl interpreters to start |
| [Stas] |
| |
| make APR::Socket::opt_(set|get) working (and change the previous |
| behavior) [Stas] |
| |
| make sure that our protocol module tests that interact with the socket |
| use a blocking read [Joe Orton] |
| |
| Use a better approach to figure out whether we need to strip perl's |
| LargeFilesSource flag, by checking whether libapr was compiled with |
| -D_FILE_OFFSET_BITS=64 or not. Checking for APR_HAS_LARGE_FILES is |
| useless since it doesn't tell whether 32 vs 64 bits off_t and similar |
| types are used [Joe Orton] |
| |
| 'SetHandler perl-script' no longer grabs any newly encountered END |
| blocks, and removes them from PL_endav, but only if they are |
| explicitly registered via ModPerl::Global::special_list_register(END |
| => $package_name) (this is a new function). It's now possible to have |
| a complete control of when END blocks are run from the user space, not |
| only in the registry handlers [Stas] |
| |
| END blocks encountered by child processes and not hijacked by |
| ModPerl::Global::special_list_register() are now executed at the |
| server shutdown (previously they weren't executed at all). [Stas] |
| |
| Added test to ensure <Perl> sections can have things like %Location |
| tied [Gozer] |
| |
| Fix the installation on Win32 so that an appropriate Apache2 |
| subdirectory under the Perl tree is used when MP_INST_APACHE2 is |
| specified [Randy Kobes] |
| |
| Fix a redefined warning in Apache::Status [Stas] |
| |
| Fix Apache::Status, to lookup the Apache::Request version without |
| loading it. Only if a suitable (2.x) version is found -- load and use |
| it. Previously loading the 1.x version was affecting Apache::compat. |
| [Stas] |
| |
| Fix a bug in special blocks handling (like END), which until now was |
| dropping on the floor all blocks but the last one (mainly affecting |
| registry handlers). [Stas] |
| |
| The filter streaming API print() function, now correctly handles a |
| binary data [Stas] |
| |
| Fix Registry handlers, not to lose the execution errors, when they |
| include END blocks [Stas] |
| |
| |
| |
| =item 1.99_13 - March 8, 2004 |
| |
| respect $ENV{APACHE_TEST_STARTUP_TIMEOUT} settings if any [Stas] |
| |
| Added tests for issuing subrequests from filters [Geoffrey Young] |
| |
| Updated to the new Apache License Version 2.0 [Gozer] |
| |
| Drop the support for making GATEWAY_INTERFACE special. It's not needed |
| as $ENV{MOD_PERL}, available in both mod_perl generations, should be |
| used to test whether the code is running under mod_perl. [Stas] |
| |
| Handle correctly the situation when response HTTP headers are printed |
| from the handler and the response body starts with \000, which is the |
| case with some images like .ico. [Stas] |
| |
| Apache::PerlSections->dump() and store(filename) [Gozer] |
| |
| expose $c->keepalive related constants and $c->keepalives counter |
| [Stas] |
| |
| Perl handlers are now guaranteed to run before core C handlers for |
| all request phases. [Geoffrey Young] |
| |
| Fix the STDIN/OUT overriding process to handle gracefully cases, when |
| either or both are closed/bogus (the problem was only with useperlio |
| enabled perl) [Stas] |
| |
| copy apr_table_compress logic from later httpd versions in case mod_perl |
| is built against 2.0.46, as mod_perl now requires it internally. users |
| should be aware that 2.0.47 may become the oldest supported httpd version |
| in the near future. [Geoffrey Young] |
| |
| Fix the corruption of the httpd process argv[0], caused by $0 |
| manipulating [Stas] |
| |
| ModPerl::MethodLookup::lookup_method now handles sub-classed objects |
| [Stas] |
| |
| standard %ENV population with CGI variables and contents of the |
| subprocess_env table (such as SetEnv and PassEnv) has been delayed |
| until the last possible moment before content-generation runs. |
| PerlSetEnv and PerlPassEnv are each an exception to this and are |
| placed in both %ENV and the subprocess_env table immediately, |
| regardless of the current [+-]SetupEnv setting. |
| [Geoffrey Young] |
| |
| fix PerlAddVar configuration merging [Geoffrey Young] |
| |
| Anonymous subs are now supported in push_handlers, set_handlers, |
| add_input_filter, etc. A fast cached cv is used with non-ithreaded |
| perl. A slower deparse/eval approach (via B::Deparse) is used with |
| ithreads enabled perls. Further optimizations are planned for the |
| latter case. [Stas] |
| |
| ht_time w/o the pool is now available only via override/restore compat |
| API. format_time, has been renamed back to ht_time, and the default |
| values for fmt, time and gmt are now supported. [Stas] |
| |
| it's now possible to push new handlers into the same phase that is |
| running at the moment [Stas]. |
| |
| when $r->handler($new_handler) is called from a response phase, it now |
| checks that the response handler type is not switched (e.g. from |
| 'modperl' to 'perl-script') from the currently used one [Stas] |
| |
| Since Apache::SubProcess is now part of the mp2 API, add |
| $r->cleanup_for_exec as a noop in Apache::compat. That function is no |
| longer needed in Apache2. [Stas] |
| |
| When 'perl Makefile.PL PREFIX=/foo/bar' is used and mod_perl 1 is |
| found, but at different prefix no longer require |
| MP_INST_APACHE2=1. [Stas] |
| |
| modperl_mgv_resolve now croaks when a module scheduled for autoloading |
| fails to load. AutoLoaded modules shouldn't silently fail. [Stas] |
| |
| Perl(Input|Output)FilterHandler handlers are now always AutoLoaded, as |
| if '+' prefix was used. This must be performed to get the access to |
| filter attributes long before the filter itself is executed. [Stas] |
| |
| APR/Pool.xs has been reimplemented. The problem with the previous |
| implementation is that a dead perl pool object could hijack a newly |
| created pool, which didn't belong to that object, but which happened |
| to be allocated at the same memory location. The problem is that |
| apr_pool_user_data_set/get has no mechanism to check whether the pool |
| has changed since it was last assigned to (it does but only in the |
| debug mode). It really needs some signature mechanism which can be |
| verified that the pool is still the same pool. Since apr_pool doesn't |
| have this feature, the reference counting has been reimplemented using |
| a plain sv reference. Several new (mainly hijacking) tests which badly |
| fail with the previous impelementation have been added. [Stas] |
| |
| fix calling $r->subprocess_env() in a void context so that it only |
| populates %ENV if also called with no arguments. also, make sure it |
| can be called more than once and still populate %ENV. |
| [Geoffrey Young] |
| |
| add APR::Brigade::pool() to allow access to the pool associated with |
| the brigade [Geoffrey Young] |
| |
| make 't/TEST -startup_timeout secs' working (previously user's value |
| was ignored) [Stas] |
| |
| ModPerl::Registry and friends now support non-parsed headers scripts, |
| whose filename =~ /^nph-/, identically to mod_cgi. + test [Stas] |
| |
| implement APR::Brigade::length() and APR::Brigade::flatten() (the |
| latter implements a wrapper for apr_brigade_flatten, but also includes |
| an emulation of apr_brigade_pflatten) as [Geoffrey Young] |
| |
| ($r|$s)->add_config() now die if failed (previously returned the |
| error) [Stas] |
| |
| fix context problems in <perl> sections and |
| PerlModule/PerlLoadModule/PerlRequre under threaded mpms w/ |
| PerlOptions +Parent/+Clone in Vhosts + TestVhost::config test. [Stas] |
| |
| Implemented Apache::get_server_version and Apache::get_server_built |
| as constant subroutines [Geoffrey Young] |
| |
| Moved some functions out of the Apache:: namespace: |
| Apache::unescape_url() is now Apache::URI::unescape_url() |
| Apache::log_pid() is now Apache::Log::log_pid() |
| Apache::LOG_MARK() is now Apache::Log::LOG_MARK() |
| [Geoffrey Young] |
| |
| if MP_AP_PREFIX is used apxs and apr-config from the apache build tree |
| won't work, so it can't co-exist with MP_APXS and MP_APR_CONFIG build |
| options - ensure that this doesn't happen. [Stas] |
| |
| server_root_relative() now requires either a valid pool or an $r, $s, |
| or $c object as a first argument. also, the returned result is a |
| copy, protecting against cases where the pool would go out of scope |
| before the result. [Geoffrey Young] |
| |
| Check the success of sysopen in tmpfile() in compat [Geoffrey Young] |
| |
| make sure DynaLoader is loaded before XSLoader, not only with perl |
| 5.6.1, but always because of the issues with <Perl> sections are |
| loaded from +Parent vhost [Stas] |
| |
| added ($r|$s)->is_perl_option_enabled($option_name), to test for |
| PerlOptions + tests [Stas] |
| |
| On Solaris add a workaround for xs/APR/APR/Makefile.PL to build |
| APR.so, correctly linked against apr and apr-util libs, by addding the |
| missing -R paths corresponding to -L flags. EU::MM was adding them via |
| LD_RUN_PATH instead of using -R, but since perl's lddflags may have -R |
| it overrides LD_RUN_PATH. So explicitly add anything that may go into |
| LD_RUN_PATH via -R. Also make sure that -R coming from Apache will |
| appear first. [Brad Lanam <bll@gentoo.com>] |
| |
| 'make dist' now generates and picks Apache-Test/META.yml which was |
| always reported missing, as it was included in Apache-Test/MANIFEST |
| [Stas] |
| |
| fix the $r->read function to return undef on failure similar to the |
| core perl function and make $! available for those who test for read() |
| failures. [Stas] |
| |
| Make sure that pnotes are destroyed after PerlCleanup handlers are |
| finished and not before + test. [Stas] |
| |
| |
| |
| =item 1.99_12 - December 22, 2003 |
| |
| Restore a proper behavior of all Registry handlers, but PerlRun, not |
| to reset %INC to forget any .pl files required during the script's |
| execution. [Stas] |
| |
| <Perl> are now evaluating code into one distinct namespace per |
| container, similar to ModPerl::Registry scripts. [Philippe M. Chiasson] |
| |
| Fix ModPerl::MM::WriteMakefile to use the MODPERL_CCOPTS entry from |
| Apache::BuildConfig, as it contains some flags added by mod_perl, |
| which aren't in perl_ccopts and ap_ccopts. [Stas] |
| |
| Add the implementation of Apache::Connection::local_addr and |
| Apache::Connection::remote_addr to the Apache::compat overridable |
| functions. [Stas] |
| |
| Apache::compat's implementation of APR::URI::unparse, |
| Apache::RequestRec::finfo and Apache::RequestRec::notes is now |
| overridable and not enabled by default. [Stas] |
| |
| Apache::compat no longer enables functions which collide with mp2 API |
| by default. It provides two new functions: override_mp2_api and |
| restore_mp2_api to override and restore the original mp2 API. [Stas] |
| |
| For Win32, add a .bat extension to candidates for the apxs and |
| apr-config utilities used in Apache::Build, so that the -x file |
| test can potentially succeed [Randy Kobes] |
| |
| Plug a memory leak with 'perl-script' not cleaning up the temp vars |
| created during the override of STDIN/STDOUT to use the :Apache IO |
| layer [Stas] |
| |
| libgtop config (needed for enabling MOD_PERL_TRACE=m) is now searched |
| using the gnome packaging tools if available (pkg-config for gnome-2.x |
| and gnome-config for gnome-1.x) [Stas] |
| |
| Prevent a problem where an autovivified package (stash) prevents from |
| modperl_mgv to load the file with that package (until now it was |
| checking whether the stash existed already and skipped the loading if |
| that was the case). Now checking %INC and attempting to load the |
| module. Reporting the failure only if the module has failed to load |
| and the stash is not defined (so that it's possible to autovivify |
| packages without loading them from an external file). [Stas] |
| |
| MaxClients is now overridable from the t/TEST -maxclients command line |
| option (it was hardcoded before). [Stas] |
| |
| Postpone the allocation of the wbucket in filters till the moment it's |
| needed (if at all). Since non-streaming filters aren't going to use |
| that buffer, it's a waste to allocate/free it. [Stas] |
| |
| Extend the autogenerated bug report to include information about |
| installed modules of special interest (which may aid in understanding |
| the bug report), such as CGI.pm, Apache::Request, LWP, etc. [Stas] |
| |
| As the test suite keeps on growing, it takes longer time to |
| startup. Change the main test suite timeout to 180 secs for threaded |
| mpms and 120 secs for non-threaded ones. [Stas] |
| |
| use plain malloc/free to allocate filter structs, since they could be |
| invoked hundreds of times during a single request, causing huge memory |
| demands if the memory is allocated from the pool, which gets destroyed |
| only at the end of a request. [Stas] |
| |
| Fix a compilation error in APX.xs when MP_HAVE_APR_LIBS is not defined |
| [Fred Moyer <fred@taperfriendlymusic.org>] |
| |
| fix a memory leak when $filter->ctx is used [Stas] |
| |
| fix buglet on Win32 (and potentially other non-Unix platforms) |
| where not all files were being installed under a relative Apache2 |
| subdirectory when MP_INST_APACHE2 was specified [Randy Kobes]. |
| |
| deprecated APR::SockAddr::port_get()/APR::SockAddr::port_set() |
| replaced with direct access to the port record via |
| APR::SockAddr::port(). [Geoffrey Young, Stas] |
| |
| deprecated APR::URI::default_port_for_scheme() replaced with |
| APR::URI::port_of_scheme() [Geoffrey Young] |
| |
| deprecated APR::SockAddr::ip_set() and APR::NO_TIMEOUT removed. |
| [Geoffrey Young] |
| |
| Apache::MPM->is_threaded() replaces Apache::MPM_IS_THREADED |
| [Geoffrey Young] |
| |
| fix "PerlSetVar Foo 0" so that $r->dir_config('Foo') returns 0, not undef |
| [Geoffrey Young] |
| |
| add Apache::MPM class, along with show() and query() class methods |
| [Geoffrey Young] |
| |
| add :mpmq import tag to Apache::Const [Geoffrey Young] |
| |
| Fix ModPerl::Registry handlers family to modify $0 only for the |
| duration of the handler, by localizing it [Stas] |
| |
| Fix :Apache perlio's STDOUT to be reentrant + modules/include_subreq |
| test [Stas] |
| |
| fix slurp_filename to always open the file and not try to guess |
| whether filename has been already opened, as there is no reliable way |
| to accomplish that [Stas] |
| |
| Apache->can_stack_handlers is now in Apache::compat (mp2 always can |
| stack handlers) [Stas] |
| |
| add access to $r->finfo() and related APR::Finfo methods, |
| such as $r->finfo->size(), $r->finfo->mtime(), and |
| $r->finfo->stat() [Geoffrey Young] |
| |
| add :filetype import tag to APR::Const [Geoffrey Young] |
| |
| <Perl> sections now properly set $0 to the name of the configuration |
| file they are in. [Philippe M. Chiasson] |
| |
| Apache::Status: provide a workaround for Config::myconfig() which |
| fails under threads with (5.8.0 < perl < 5.8.3) [Elizabeth Mattijsen |
| <liz@dijkmat.nl>] |
| |
| Fix Apache::Status::handler to return 'Apache::OK' [Juanma Barranquero |
| <lektu@terra.es>] |
| |
| <Perl> sections now properly set filename and line number information, |
| making error messages report the correct location. [Philippe M. Chiasson] |
| |
| |
| |
| =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 |
| [Geoffrey Young] |
| |
| 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>] |
| |
| overridden STD* streams now can be further overridden and will be |
| properly restored, which allows functions like $r->internal_redirect |
| work (+add tests) [Stas] |
| |
| implement perlio's getarg hook, which now allows duping 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-suite 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. Until 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 duped for any mpm which runs within |
| USE_ITHREAD. Until 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 breakage 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] |
| |
| 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 |
| [Geoffrey Young] |
| |
| 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 [Geoffrey Young] |
| - preserve status in Registry scripts [Geoffrey Young] |
| |
| 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 |