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

Changes for version 1.21_02

  • fix Makefile.PL if $USE_APXS && $PERL_DEBUG
  • Daniel Jacobowitz <drow@false.org>
    • force environ[] to be copied before any Perl code is loaded
  • Daniel Jacobowitz <drow@false.org>
    • localize $_ in Apache::send_cgi_header
  • Roderick Schertler <roderick@argon.org>
    • fix precedence problem in StatINC.pm
  • Roderick Schertler <roderick@argon.org>
    • if hash value has magicalness in <Perl>, invoke FETCH thanks to Kevin Ruscoe for the spot
    • sync with 1.3.12's virtual_host section logic for httpd -S + <Perl> thanks to Kevin Ruscoe for the spot
    • remove t/httpd symlink during 'make realclean' and when rebuilding
  • Geoffrey Young <gyoung@laserlink.net>
    • add Apache::src::otherldflags method
  • Jens-Uwe Mager <jum@helios.de>
    • backout modules/util validate_password tests, not everybody has crypt, thanks to Randy Kobes and Ed Loehr for spotting
    • fix _AIX typo in dso_unload
  • Jens-Uwe Mager <jum@helios.de>

Changes for version 1.21_01

  • #ifdef _AIX, make sure Perl's dlclose is used, instead of Apache's during dso_unload [Jens-Uwe Mager <jum@helios.de>]
  • __THE__ dso fix: dlclose() xs shared objects and call perl_shutdown() before mod_perl's libperl.so is unloaded/reloaded by mod_so
  • Daniel Jacobowitz <drow@false.org>, Alan Burlison <Alan.Burlison@uk.sun.com>
    • add /D "_MSWSOCK_" to ApacheModulePerl.dsp
  • Randy Kobes <randy@theoryx5.uwinnipeg.ca>
    • removed modules/sandwich test
    • Apache::RegistryBB returns DECLINED instead of FORBIDDEN if -d $r->finfo
  • Sean Chittenden <sean.chittenden@auctia.com>
    • add Apache::Util::validate_password(), as suggested by Christophe Labouisse
    • call (void)perl_request_rec(r) asap, instead of waiting till the response phase, e.g. so CGI.pm can be used before PerlHandler, without having to call Apache->request($r);
    • Apache::perl_hook() fixes for Perl*Api, thanks to Geoffrey Young for the spot
    • save/restore $^W in Apache::PerlRun
  • Honza Pazdziora <adelton@informatics.muni.cz>
    • fix Apache::Registry when $r->uri ends with a /
  • Peter Deister <deister@opus5.de>
    • add virtualhost support to Apache::RegistryLoader
  • John Hughes <john@Calva.COM>
    • $Apache::Registry::NameWithVirtualHost fix
  • John Hughes <john@Calva.COM>
    • allow Apache::PerlRun::handler to be subclassed
  • Yasushi Nakajima <sey@jkc.co.jp>
    • fix $r->connection->remote_ip for SGI performance patches (#ifdef SGI_BOOST)
  • Artem Veremey <scimitar@mail.ru>
    • mod_perl.exp is now installed
    • aix tweaks for building with apxs
  • Jens-Uwe Mager <jum@helios.de>
    • pod fixups to avoid WARNING from newer pod2*
    • Apache::RedirectLogFix now uses $r->last
  • David D. Kilzer <ddkilzer@e-markets.com>
    • tweaks for sfio
  • Lupe Christoph <lupe@lupe-christoph.de>
    • update Apache::SIG docs, thanks to Bill Moseley for the spot
    • fix get_set_PVp in mod_perl_xs.h
  • Michal Jaegermann <michal@ellpspace.math.ualberta.ca>
    • tweaks to compile/run with 5.5.670 + -Dusethreads
    • $r->hostname now documented [Eric Cholet <cholet@logilune.com>]
    • Apache::File methods are now documented
  • Eric Cholet <cholet@logilune.com>
    • avoid quoting <Perl> config if args_how == RAW_ARGS thanks to Michael Schout for the spot
    • PerlPassEnv maintains its value beyond the first request, thanks to Chris Thorman for the spot
    • prevent possible core dump in $r->pnotes if get_module_config returns NULL, thanks to Kevin Murphy for the spot
    • fix Apache::Status::status_cv_dump for Perl/5.6-dev
    • use perl_get_sv("]") instead of patchlevel for $AddPerlVersion
    • adjust Makefile.PL and Apache::src to parse 1.3.13-dev's httpd.h
    • Apache::Util functions $r->unescape_uri, $r->unescape_uri_info, $r->size_string are now documented [Eric Cholet <cholet@logilune.com>]
    • $r->request_time is now documented [Jeffrey W. Baker <jwbaker@acm.org>]
    • Look for the makepl_args.mod_perl file as .makepl_args.mod_perl in ./ and ../ too since the book says it works so. [Ask Bjoern Hansen <ask@valueclick.com>]
    • PerlRestartHandler is now enabled w/ ALL_HOOKS=1 (or EVERYTHING=1)
    • $r->no_cache(1) will now set the r->headers_out "Pragma" and "Cache-control" to "no-cache"
    • `PerlSetEnv PERL5LIB ...' now works again, thanks to Stas for the spot
    • Apache::test fix for Apache::Table
    • PerlFreshRestart semantics changed to preserve order of PerlModule's and not to reload modules while actually iterating over %INC
    • $r->current_callback now works properly when PerlHandler invokes subrequests, thanks to James Smith for the spot
    • if an Apache::Table is NULL return undef (e.g. $r->notes during ChildInit)
    • ActivePerl compile patches [Jochen Wiedmann <joe@ispsoft.de>]
    • document that Apache 1.2.x is no longer supported
    • Apache::src now supported with USE_APXS=1
    • 'make test' AllowOverride None for Directory /
  • Steve Lembark <Steve.Lembark@wfg.com>
    • disable experimental perlrunxs until future notice
    • add sanity check for libgdbm
    • change PL_siggv usage to gv_fetchpv("SIG", ...) for Perl 5.6-tobe
  • Andreas J. Koenig <andreas.koenig@anima.de>
    • document $r->get_handlers, $r->set_handlers, $r->push_handlers
  • Eric Cholet <cholet@logilune.com>
    • document PerlSetVar [Eric Cholet <cholet@logilune.com>]
    • document the fact that $r->dir_config handles keys in a case insensitive manner [Ken Williams <ken@forum.swarthmore.edu>]
    • avoid logging "rwrite returned -1" multiple times in the same request [Eric Cholet <cholet@logilune.com>]
    • bugfix in write_client() when running under APACHE_SSL
  • Michael Douglass <mikedoug@staff.texas.net>
    • document the fact that $r->connection->user can be used to set the authenticated user name [Joshua Gerth <jgerth@ptdcs2.ra.intel.com>]
    • document the fact that $r->uri sets/gets the URI minus the query string, not the complete URI [Andrei A. Voropaev <andrei@securities.com>]
    • fixed the failure of t/modules/file test in 'make test' suit by untainting the $ENV{PATH} in ./t/net/perl/file.pl [Stas Bekman <sbekman@iname.com>]
    • Apache::RegistryLoader::handler was rewritten to allow a better diagnostics of scripts preloading problems. [Stas Bekman <sbekman@iname.com>]
    • document the fact that $r->args can be used to set the query string as well as get it [Andrei A. Voropaev <andrei@securities.com>]
    • add $r->connection->fileno, provides the client file descriptors. This can be used to detect client disconnect without doing any I/O, e.g. using IO::Select [Eric Cholet <cholet@logilune.com>]
    • if $r->bytes_sent has not been calculated, then do so before returning the value. thanks to Dirk Melchers for the spot
    • ensure that all -I directories printed by Apache::src actually exist
    • don't assume $uri =~ /$path_info$/ in Apache::Registry/PerlRun
  • Jonas Liljegren <jonas@paranormal.o.se>
    • /D "_WINSOCK2API_" for 1.3.9/win32 [Randy Kobes <randy@theoryx5.uwinnipeg.ca>]
    • fix segfault when using Limit in <Perl> sections
  • Müller Joachim <Joachim.Mueller@arbeitsamt.de>
    • make $c->remote_host writeable [Joshua Chamas <joshua@chamas.com>]
    • add per-server PerlSetVar variables, accessed using Apache->server->dir_config or $r->server->dir_config. $r->dir_config merges them with per-directory variables.
  • Eric Cholet <cholet@logilune.com>
    • documentation typo [David Harris <dharris@drh.net>]
    • add $r->server->uid and $r->server->gid [Eric Cholet <cholet@logilune.com>]
    • add per-server configuration merge [Eric Cholet <cholet@logilune.com>]
    • `_' is no longer escaped in Apache::Registry package names
    • fix $ENV{PATH} corruption, thanks to help from Chip Turner, Oleg Bartunov and Tomasz Przygoda
    • mod_perl_version.h removed from MANIFEST
    • fix modules/sandwich test
    • apxs/aix port [Paul J. Reder <rederpj@raleigh.ibm.com>]
    • preload Apache::Constants::OPT_EXECCGI() for Apache::{Registry,PerlRun} thanks to Chris Remshaw for spotting this w/ Apache::DProf
    • Apache::SizeLimit now uses $r->child_terminate instead of Apache::exit(-2)
  • Jon Peterson <jon@snowdrift.org>
    • get rid of various 5.005_60 warnings
    • add Status{Terse,TerseSize,Deparse,Fathom,OptionsAll} options to Apache::Status
    • adjust mod_perl.h for 5.005_59 perl_eval_{pv,sv} rename
    • fix flush_namespace undef logic in Apache::PerlRun, thanks to Karsten Meier for the spot
    • Tweak Apache::content to comply with media-types embedded in content-types (RFC 2616 section 3.7) [Eric Cholet <cholet@logilune.com>]
    • Removed and added a few modules from the Bundle file. <ask@netcetera.dk>
    • Renamed the Apache::StatINC parameters to StatINC_<something>. Changed StatINC_Debug to take a number as parameter instead of "on" to support "debug levels" <ask@netcetera.dk>

Documentation

using LWP::Simple and Benchmark.pm to benchmark mod_perl
benchmark mod_perl vs. CGI with File::CounterFile
First steps needed to use mod_perl as a CGI replacement
accessing the Apache API via mod_perl ($Date: 1999/02/09 20:36:54 $)
running CGI scripts under mod_perl ($Date: 1999/04/27 20:05:58 $)
frequently asked questions about mod_perl ($Date: 1999/04/27 20:03:07 $)
Embed a Perl interpreter in the Apache HTTP server
Access to the mod_perl CVS development tree
How to use mod_perl's MethodHandlers
common/known mod_perl traps
mod_perl performance tuning

Modules

Perl interface to the Apache server API
Constants defined in apache header files
advanced functions for manipulating files at the server side
Module for tracking memory leaks in mod_perl code
Interface to Apache logging
XS implementation of Apache::PerlRun/Apache::Registry
Things for symbol things
Perl interface to the Apache table structure
URI component parsing and unparsing
Interface to Apache C util functions
Utilities for debugging embedded perl code
Utils for Apache:C/Perl glue
fake request object for debugging
Utilities for mod_perl/mod_include integration
OPT_* defines from httpd_core.h
Run unaltered CGI scripts under mod_perl
Utilities for work with <Perl> sections
Properly set redirect status for loggers
Run unaltered CGI scrips under mod_perl
Compile Apache::Registry scripts at server startup
Limit resources used by httpd children
Override apache signal handlers with Perl's
Because size does matter.
Reload %INC files when updated on disk
Embedded interpreter status information
Symbol table snapshots
Generate an httpd.conf file
Methods for locating and parsing bits of Apache source code
Install Apache mod_perl and related modules

Provides

in Connection/Connection.pm
in lib/Apache/FakeRequest.pm
in lib/Apache/Constants/Exports.pm
in ModuleConfig/ModuleConfig.pm
in lib/Apache/Opcode.pm
in lib/Apache/httpd_conf.pm
in lib/Apache/RegistryBB.pm
in lib/Apache/RegistryNG.pm
in Server/Server.pm
in lib/Apache/test.pm
in lib/Apache/Registry.pm
in lib/mod_perl.pm