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

ACKNOWLEDGEMENTS

Extra Thanks to:

Andreas Koenig <andreas.koenig@franz.ww.tu-berlin.de> for *lots* of bug spotting, fixing and patching, Apache::Registry and CGI.pm overhaul efforts (aka CGI::XA & CGI::Switch)

Gisle Aas <aas@sn.no> For getting this effort started

Other contributors are mentioned below:

0.83_03

Perl*Handler's are now called with Apache->request as an argument PerlHandler's may still ask for Apache->request so existing code and mechanisms such as Apache::Registry will continue to work However, other handlers such as PerlAuthenHandler and PerlTransHandler, cannot use Apache->request.

added Apache::Constants module, based on patch to Apache.xs from Gisle

updated Apache::Debug with patch from Gisle to - update the status codes from the latest HTTP::Status and produce a prettier and more output.

- We also ensure that we do not generate output for HEAD requests and we set up status correctly.

updated Apache.pm and Apache::Options docs, thanks to Gisle

fixed PerlScript bug spotted by Gisle

renamed Apache::Msql to Apache::MsqlProxy

0.83_02

bug patch to Apache::Registry from Andreas

0.83_01

minor clean-up

fixed port and query_string related bugs in Apache::Msql example

applied patch from Salvador Garcia <sortiz@cfe.gob.mx> to fix PerlTransHandler bugs spotted by Hugues Lafarge <Hugues.Lafarge@afp.com>

applied Apache::Registry patch from Andreas - allows filanames to start with a digit (you probably saw a "bad symbol after ::" error)

- strips path_info before deciding which package the script is compiled into.

*developer's release* release 0.83 - September 12, 1996

added Apache::Msql module

added $r->handler method

added $r->proxyreq method

added PerlTransHandler directive

minor clean-up

*developer's test* release 0.82 - September 11, 1996

added Apache::Authen and Apache::AuthenDBI modules

added $r->get_basic_auth_pw method

added $r->note_basic_auth_failure method

added PerlAuthHandler directive

added $r->dir_config method

added PerlSetVar directive

we now have mod_perl.h

fix for using mod_perl_fast with Apache-SSL

release 0.81 - September 08, 1996

added Apache::CGI->exit method as suggested by Andreas

items needed for 1.2 are now conditional using MODULE_MAGIC_NUMBER

included Makefile.tmpl.1.2

release 0.80 - September 06, 1996

fix so we can send $strings of binary data to the client

fix so we can log bytes sent

added Andreas' CGI::XA kit for users of CGI.pm + mod_perl_fast

added PerlSetupEnv directive

added PerlSendHeader directive

we now take advantage of Perl's new IO abstraction so STDIN and STDOUT are hooked up to the client. Thanks to Sven Verdoolaege <skimo@breughel.ufsia.ac.be> for the initial patch

added $r->connection->close method

added $r->exit method

applied patch from Rob Hartill <robh@imdb.com> so read_client_block works with apache-1.2 changes

updated UsersGuide to suggest using configuration that does not require patching mod_alias.c, thanks to Rob Hartill <robh@imdb.com>

added $r->method_number method

$r->method() now accepts an argument to change the request method (for things like internal re-directs)

added send_cgi_header method

added internal_redirect_handler method

applied NeXT fix from Andreas

applied patch from Andreas to fix eval error line number in Apache::Registry

changed Changes file so it can be read with 'perldoc Changes'

release 0.76b2 - August 16, 1996

updated Apache::CGI, now requires CGI.pm 2.22+

#undef pregcomp to fix namespace clash with Apache 1.2

added (placeholder for) PerlSetVar directive (need to think about it some more)

applied patch from Andreas Koenig <andreas.koenig@franz.ww.tu-berlin.de> to fix bug introduced with perl5.003_01 + IRIX combo

release 0.76b1 - July 26, 1996

included Sven Verdoolaege's (experimental) patch for minimal TIEHANDLE support, so we can tie *STDOUT, 'print' instead of '$r->print' that is.

added (experimental) Apache::TieHandle module

included Chip Salzenberg's FileHandle.pm patch

added UsersGuide document

if no PerlHandler is defined we fail with a SERVER_ERROR

Apache::Registry now checks to make sure uri is not a directory

applied Apache::Registry patch from Andreas for minor clean-up and an extra error check

release 0.75a1 - July 21, 1996

added Apache::Registry module contributed by Andreas Koenig <andreas.koenig@franz.ww.tu-berlin.de>

Apache::SSI now checks ExecCGI option before doing an 'exec'

included patch for mod_alias.c to allow for PerlAlias directive

added allow_options and is_perlaliased methods to Apache.pm

added Apache::Options module

added Apache::Debug module

applied patch from Andreas Koenig <andreas.koenig@franz.ww.tu-berlin.de> to -fake up a PerlScript if one is not specified -ITERATE over PerlModule directive so it will accept multiple modules -no longer store request_rec in $Apache::Request we now require ExtUtils::Embed as it has been re-named for the standard perl distribution as of 5.003_01

release 0.71b1 - July 19, 1996

added PERL_CCFLAGS to Makefile.tmpl as suggested by Lincoln Stein <lstein@genome.wi.mit.edu>

subroutines no longer need to return '0' for OK status, 200 and 1 are 'OK' too.

added 'PerlHandler' as replacement for 'PerlResponse', seems like a more appropriate name after Salvador's 'AddHandler' suggestion

added item to the handler_rec so we can say 'AddHandler' Thanks to Salvador Garcia <sortiz@cfe.gob.mx>

fixed bug with storing 'PerlModule's read from srm.conf Thanks to Salvador Garcia <sortiz@cfe.gob.mx> for the spot and helping with the fix more Makefile.tmpl fixes from Andreas Koenig <andreas.koenig@franz.ww.tu-berlin.de>

release 0.70b1 - July 14, 1996

applied patches from Andreas Koenig <andreas.koenig@franz.ww.tu-berlin.de> to fix Makefile.tmpl bug, NeXT define troubles, typos and documentation clean-up

Added Apache::SSI module for server side includes

Added 'PerlModule' directive for loading modules in srm.conf

fixed read_client_block bug that was causing trailing garbage to show up n the client for some people. Thanks to Alan Beale <agb@openplus.co.uk> for the fix.

release 0.60a5 - June 25, 1996

fixed bug in mod_perl_fast that was causing bizarre problems for some people

release 0.60a4 - June 18, 1996

dropped content and args methods from Apache.xs, moved to Apache.pm The xs implementation was causing problems for some people

added Apache::unescape_url function

added $r->header_in method

release 0.60a3 - June 17, 1996

Added read() alias for read_client_block

Updated Makefile.tmpl to use the renamed ExtUtils::embed

Fixed various small bugs that were causing big problems

pid $$ now set in mod_perl_fast, thanks to Alan Beale <agb@openplus.co.uk>

Added basic_http_header() method

release 0.60a2 - May 21, 1996

fixed bug in mod_perl_fast.c the caused problems with $r->content and $r->args

Added Apache::CGI module for those who use CGI.pm

There's now a Makefile.PL (currently for installing perl-only modules).

release 0.60a1 - May 18, 1996

Started getting ready for optional Safe wrapper around scripts

Added $r->get_remote_host() method, putting $r->connection->remote_host back to normal

release 0.50a2 - May 9, 1996

new (faster) approach with mod_perl_fast Thanks to John Detloff <detloff@arizona.edu> for friendly error checking code.

we now use an Apache.pm file

moved more code from mod_perl to Apache.xs so mod_perl_fast could share it

rganized Apache.xs

fixed $r->connection->remote_host

hiding of 'Authorization' header is optional now

added 'print' alias to 'write_client'

dropped set_ prefix for several methods

release 0.50a1 - May 1, 1996

xs_init now gets linked with us, as generated by Devel::embed so we can bootstrap static extensions (including Apache)

stomped out *main:: variables, moved to Apache.xs as methods

added method 'request' to return the request pointer object And did a typedef request_rec * Apache so we don't need to say @request_recPtr::ISA = 'Apache'; anymore

added method 'write_client' for sending a @list of data to the client

added methods that simply access members of request_rec -method -uri -protocol -path_info -filename

added method 'args' when called in a scalar context, it returns the query string when called in a list context, it splits the query_string into key => vairs

moved parsing code to Apache.xs, and now data is only read when the user asks for it with the content() method.

added method 'content' when called in a scalar context, it reads data from the client when called in a list context, it splits the content into key => vairs

added method 'headers_in' to return a %hash of request headers the 'Authentication' header is not returned

added perl_call_argv to Apache->bootstrap ourselves

we now flush the script's %ENV users can set-up a standard CGI %ENV via method $r->cgi_vars

the script's STDERR in now redirected to the error_log

added client_to_stdout and client_to_stdin methods to hookup the script's STDOUT and STDIN ** This is broken right now **

added method 'connection' and Apache::Connection class returns a object reference to the request_rec's conn_rec methods availible include: - remote_host - remote_ip - remote_logname - remote_user - auth_type

added method 'server' and Apache::Server class returns a object reference to the request_rec's server_rec methods availible include:

- server_admin - server_host - port

Changes for Apache 1.1x -rprintf to bputs, etc.

March ?? 1996

Initial version of mod_perl.c and perl_glue.xs by Gisle Aas <aas@oslonett.no> Thanks for getting this started Gisle!

2 POD Errors

The following errors were encountered while parsing the POD:

Around line 14:

'=item' outside of any '=over'

Around line 58:

You forgot a '=back' before '=head1'