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

Changes for version 2.0.6

  • 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

Documentation

Apache::Reload change logfile
Apache::SizeLimit change logfile
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

Reload changed modules
Reload Perl Modules when Changed on Disk
Because size does matter.
Because size does matter.
Because size does matter.
Test.pm wrapper with helpers for testing Apache
Test Configuration setup module
a few response handlers and helpers
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/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 Apache-Reload/t/lib/Apache2/TestReload.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/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/TestHarness.pm
in Apache-Test/lib/Apache/TestHarnessPHP.pm
in Apache-Reload/t/lib/Apache/TestReload.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/MethodLookup.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-Reload/t/lib/Apache/TestReload.pm
in Apache-Reload/t/lib/Apache2/TestReload.pm
in Apache-SizeLimit/t/response/TestApache2/basic.pm
in Apache-SizeLimit/t/response/TestApache2/check_n_requests2.pm
in Apache-SizeLimit/t/response/TestApache2/deprecated.pm
in Apache-SizeLimit/t/response/TestApache2/zzz_check_n_requests.pm
in Apache-SizeLimit/t/response/TestApache/basic.pm
in Apache-SizeLimit/t/response/TestApache/check_n_requests2.pm
in Apache-SizeLimit/t/response/TestApache/deprecated.pm
in Apache-SizeLimit/t/response/TestApache/zzz_check_n_requests.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