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 and many contributions since
Other contributors are mentioned below.
CHANGES
- 0.85_02
-
Apache::DBIAuthen renamed Apache::AuthenDBI and split out from Apache::Authen
Apache::Authen->handler renamed Apache::Authen->check as it is not a handler, only used by handlers
added ToDo file
updated UserGuide, now called 'mod_perl.pod'
updated INSTALL and README docs
perl_init will only perl_alloc and perl_contstruct once when the server starts, meaning no more mad leaks when server is restarted
modified test suite adding extra tests for sfio and TIEHANDLE
unless Perl was configured to use perlio and sfio, STDOUT is tied by default to the client, no more need for tie *STDOUT => Apache::TieHandle
Makefile.PL now looks for ../apache_1.1.1/src/, apache_1.2*/src/ to configure against
Fixed Makefile.PL bug spotted by Frank Cringle <fdc@CLIWE.PING.DE>, when no apache source was present or chosen to configure against
'make clean' will now cd $(APACHE_SRC) && $(MAKE) clean
applied patch from Rob Hartill <robh@imdb.com> to bring us up-to-date with apache_1.2b0
$r->content now calls $r->read instead of $r->read_client_block
$r->read is no longer an alias for $r->read_client_block The new $r->read implementation is based on patches and ideas from Milan Votava <ms.anet.cz@MS.ANET.CZ>, Joonsuk Bae <bae@yahoo.com>, and Gisle
- 0.85_01
-
added 'tar_Apache' target for copying the perl-side of mod_perl to other machines without dragging the apache-side along.
'perl Makefile.PL' now Configures Apache to link mod_perl if ../apache_1.2-dev or ../apache_1.1.1 src/Configuration is found In addition, 'apache_httpd' is added to the 'make all' target
now include Makefile.tmpl-1.2
fix for 1.2's const requirement
- 0.85
-
added the start of a mod_perl test suite
got rid of conditional perl*rec members, which was causing compile problems for some people
$r->exit now logs transactions before exit()'ing the process
applied clean-up and debug enhancement patch to Apache::Registry from Andreas
applied patch from Andreas to reduce Apache->request calls in Apache::CGI
$r->cgi_env now accepts arguments for setting variables
- 0.84 - October 27, 1996
-
added pointer to Patrick Kane's <modus@enews.com> FAQ
applied Makefile.PL patches from Gisle
- 0.83_10
-
send_cgi_header now sets $r->status to REDIRECT when it finds a Location header which is not an internal redirect
Apache::Registry now returns $r->status rather than always OK
dropped old approach of the original mod_perl.c, mod_perl_fast functionality has moved to the all-knowing, all-doing mod_perl
Makefile.PL for Apache::Constants looks for httpd.h in ../../apache*/src/ before prompting
dropped OK from @{$Apache::Constants::EXPORT_TAGS{response_codes}}
updated Constants.xs with patch from Gisle
applied Makefile.PL patch from Gisle to set PERL= in Makefile*
- 0.83_09
-
fixed bug with get_basic_auth_pw spotted by Patrick Kane <modus@enews.com>
- 0.83_08
-
get_basic_auth_pw now returns the $send_pw, rather that setting it, see Apache.pm docs
applied patch from Andreas with the following changes:
1) regex directory added in Constants/Makefile.PL. Current apache always needs -Iregex, that means for us an additional -I$httpd/regex. I think, they should
#include <regex/something.h>
2) Assorted comments added to INSTALL, especially
* FileHandle bug explained as being a 5.003 bug (not "current") * Configuration/Configuration.tmpl relation explained * && instead of ; to separate commands is a must in Makefiles * Gisle's hint about the default seems very important to me, so is there again.
3) Drops the deprecated mod_alias patch from the whole distribution
4) A whitespace patch for src/modules/perl/Makefile
5) The regex directory also for src/modules/perl/Makefile
6) Shuffling of code between mod_perl_fast.c and mod_perl.h until it fits the bill, who knows why :-0
- 0.83_07
-
added the missing src/modules/perl/Makefile (again)
- 0.83_06
-
brought back Makefile.tmpl for current public release
added src/modules/perl/ldopts script, rather than using 'make ldopts'
INSTALL doc fix so 1.1.1 users define RANLIB
MODULE_MAGIC_NUMBER fix so we still build with 1.1.1
no longer pstrdup when fetching r->args
dropped undocumented SKIP_AUTH_HEADER thingy
- 0.83_05
-
added missing Makefile to src/modules/perl/
turned off PERL_TRACE, oops
moved SERVER_VERSION from Apache.xs to Constants.xs
applied another doc patch to Apache.pm from Gisle
- 0.83_04
-
updated INSTALL and UsersGuide documents
misc cleanup here and there
Apache::Options is now just a stub that imports from Apache::Constants
updated Apache.pm and Apache::Constants documentation
added Apache::AuthzAge and Apache::AccessLimitNum modules
added $r->requires and $r->is_main, and $r->main methods
added callback hooks for authorization, access, type-check, fixup and logger stages of the request
callback hooks can now be turned off at compile time with -DNO_PERL_...., and are turned off by default, except for the handler stage (PerlHandler)
reworked installation procedure to follow apache 1.2 recomendations, the procedure will still work with older versions of apache. No more Makefile.tmpl.x.x.x mess!!
updated #if MODULE_MAGIC_NUMBERS >='s so we're inline with apache 1.2-dev-19961009130008
- 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 25, 1996
-
Initial version of mod_perl.c and perl_glue.xs by Gisle Aas <aas@oslonett.no> Thanks for getting this started Gisle!