The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 2.0.4

  • 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>

Documentation

Apache::Test change logfile
APR
Perl Interface for Apache Portable Runtime (libapr and libaprutil Libraries)
Perl API for APR base64 encoding/decoding functionality
Perl API for manipulating APR Bucket Brigades
Perl API for manipulating APR Buckets
Perl API for Bucket Allocation
Perl API for APR bucket types
Perl Interface for APR Constants
Perl API for APR date manipulating functions
Perl API for APR/Apache/mod_perl exceptions
Perl API for APR fileinfo structure
Perl API for accessing APRs ip_subnet structures
Perl API for Platform-specific APR API
Perl IO layer for APR
Perl API for APR pools
Perl API for APR socket address structure
Perl API for APR sockets
Perl Interface to the APR_STATUS_IS_* macros
Perl API for manipulating APR UUIDs
Perl API for manipulating APR opaque string-content tables
Perl API for APR thread mutexes
Perl API for APR thread read/write locks
Perl API for URI manipulations
Perl API for manipulating APR UUIDs
Perl API for Various APR Utilities
A Perl API for Apache request object: Access, Authentication and Authorization.
Perl API for Apache command parameters object
Perl API for accessing Apache module command information
Perl API for Apache connection object
Perl API for Apache connection utils
Perl Interface for Apache Constants
Perl API for manipulating the Apache configuration tree
Perl API for Apache 2.0 Filtering
Perl API for manipulating the Apache filter record
Perl API for Invoking Apache HTTP phases
Perl API for Apache Logging Methods
Perl API for accessing Apache MPM information
Perl API for creating and working with Apache modules
write Apache configuration files in Perl
Perl API for Apache process record
Reload Perl Modules when Changed on Disk
Perl API for Apache request record IO
Perl API for Apache request record accessors
Perl API for Apache request record utils
Limit resources used by httpd children
Perl API for Apache HTTP request response methods
Perl API for Apache server record accessors
Perl API for Apache server record utils
Because size does matter.
Embedded interpreter status information
Executing SubProcesses under mod_perl
Perl API for Apache subrequests
Perl API for manipulating URIs
Perl API for Misc Apache Utility functions
1.0 backward compatibility functions deprecated in 2.0
a helper module for mod_perl 1.0 to mod_perl 2.0 porting
A "subclass" of ModPerl::MM used for building mod_perl 2.0
ModPerl Constants
Perl API for manipulating special Perl lists
A "subclass" of ExtUtils::MakeMaker for mod_perl 2.0
Lookup mod_perl modules, objects and methods
Run unaltered CGI scripts under mod_perl
Run unaltered CGI scripts under mod_perl
Run unaltered CGI scripts persistently under mod_perl
Run unaltered CGI scripts persistently under mod_perl
Cook mod_perl 2.0 Registry Modules
Compile ModPerl::RegistryCooker scripts at server startup
Run unaltered CGI scripts under mod_perl
Helper mod_perl Functions
Multi-Processing Model Modules
A

Modules

Test.pm wrapper with helpers for testing Apache
Configuration file for Apache::Test
Subclass of Module::Build to support Apache::Test
Provide MakeMaker Wrapper Methods
A parent class for generating bug/success reports
Send requests to your Apache test server
Run the test suite
configure and run a PHP-based test suite
Run mod_perl-requiring Test Suite
Special Tests Sequence Failure Finder
Helper output generation functions
Utility functions for writing tests
A bundle to install all Apache-Test related modules
Methods for locating and parsing bits of Apache source code
Install Apache mod_perl2 and related modules
scan C language files for easily recognized constructs.
Functions to retrieve mod_perl specific env information.
Embed a Perl interpreter in the Apache/2.x HTTP server

Provides

APR
in xs/APR/APR/APR.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in xs/APR/Const/Const.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in xs/tables/current/APR/FunctionTable.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in xs/APR/PerlIO/PerlIO.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in lib/APR/XSLoader.pm
in lib/Apache2/compat.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in lib/Apache2/compat.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in xs/tables/current/Apache2/ConstantsTable.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in xs/tables/current/Apache2/FunctionTable.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in lib/Apache2/ParseSource.pm
in lib/Apache2/ParseSource.pm
in lib/Apache2/PerlSections.pm
in lib/Apache2/PerlSections/Dump.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in lib/Apache2/compat.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in lib/Apache2/Resource.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in lib/Apache2/SizeLimit.pm
in lib/Apache2/SourceTables.pm
in lib/Apache2/Status.pm
in lib/Apache2/Status.pm
in xs/tables/current/Apache2/StructureTable.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/DummyVersions.pm
in lib/Apache2/XSLoader.pm
in lib/Apache2/compat.pm
in lib/Apache2/porting.pm
in lib/Apache2/compat.pm
in lib/Apache2/compat.pm
in lib/Apache2/compat.pm
in lib/Apache2/compat.pm
in lib/Apache2/compat.pm
in Apache-Test/lib/Apache/Test5005compat.pm
in Apache-Test/lib/Apache/TestBuild.pm
in Apache-Test/lib/Apache/TestClient.pm
in Apache-Test/lib/Apache/TestClient.pm
in Apache-Test/lib/Apache/TestCommon.pm
in Apache-Test/lib/Apache/TestCommonPost.pm
in Apache-Test/lib/Apache/TestConfig.pm
in Apache-Test/lib/Apache/TestConfigC.pm
in Apache-Test/lib/Apache/TestConfigParse.pm
in Apache-Test/lib/Apache/TestConfigPerl.pm
in Apache-Test/lib/Apache/TestConfigC.pm
in Apache-Test/lib/Apache/TestConfigPHP.pm
in Apache-Test/lib/Apache/TestConfigParrot.pm
in Apache-Test/lib/Apache/TestHandler.pm
in Apache-Test/lib/Apache/TestHarness.pm
in Apache-Test/lib/Apache/TestHarnessPHP.pm
in Apache-Test/lib/Apache/TestReportPerl.pm
in Apache-Test/lib/Apache/TestRunParrot.pm
in Apache-Test/lib/Apache/TestSSLCA.pm
in Apache-Test/lib/Apache/TestServer.pm
in Apache-Test/lib/Apache/TestSmokePerl.pm
in Apache-Test/lib/Apache/TestSort.pm
in Apache-Test/lib/Apache/Test.pm
in lib/Apache2/compat.pm
in lib/ModPerl/CScan.pm
in Apache-Test/lib/Apache/TestRequest.pm
in lib/ModPerl/BuildMM.pm
in lib/ModPerl/BuildOptions.pm
in lib/ModPerl/Code.pm
in lib/ModPerl/FunctionMap.pm
in xs/tables/current/ModPerl/FunctionTable.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/MM.pm
in lib/ModPerl/Manifest.pm
in lib/ModPerl/MapUtil.pm
in lib/ModPerl/MapUtil.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/ParseSource.pm
in ModPerl-Registry/lib/ModPerl/PerlRun.pm
in ModPerl-Registry/lib/ModPerl/PerlRunPrefork.pm
in ModPerl-Registry/lib/ModPerl/Registry.pm
in ModPerl-Registry/lib/ModPerl/RegistryBB.pm
in ModPerl-Registry/lib/ModPerl/RegistryCooker.pm
in ModPerl-Registry/lib/ModPerl/RegistryLoader.pm
in ModPerl-Registry/lib/ModPerl/RegistryPrefork.pm
in lib/ModPerl/StructureMap.pm
in lib/ModPerl/TestRun.pm
in lib/ModPerl/TestReport.pm
in lib/ModPerl/TestRun.pm
in lib/ModPerl/TypeMap.pm
in lib/ModPerl/DummyVersions.pm
in lib/ModPerl/WrapXS.pm
in Apache-Test/t/response/TestMore/testmorepm.pm
in Apache-Test/t/response/TestMore/testpm.pm
in lib/mod_perl2.pm
in ModPerl-Registry/t/cgi-bin/perlrun_decl.pm
in Apache-Test/lib/Apache/Test5005compat.pm