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

Changes for version 0.83_09

  • fixed bug with get_basic_auth_pw spotted by Patrick Kane <modus@enews.com>

Changes for version 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

Changes for version 0.83_07

  • added the missing src/modules/perl/Makefile (again)

Changes for version 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

Changes for version 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

Changes for version 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

Changes for version 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

Changes for version 0.83_02

  • bug patch to Apache::Registry from Andreas

Changes for version 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.
  • =item *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
  • =item *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
  • =item 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
  • =item 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'
  • =item 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
  • =item 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
  • =item 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
  • =item 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>
  • =item 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.
  • =item release 0.60a5 - June 25, 1996
  • fixed bug in mod_perl_fast that was causing bizarre problems for some people
  • =item 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
  • =item 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
  • =item 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).
  • =item 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
  • =item 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
  • =item 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.
  • =item March ?? 1996
  • Initial version of mod_perl.c and perl_glue.xs by Gisle Aas <aas@oslonett.no> Thanks for getting this started Gisle!
  • =back

Modules

Make things work with CGI.pm against Perl-Apache API
Try more than one constructors and return the first object available
Clone of CGI.pm with less backwards compatibility and less namespace pollution
Constants defined in httpd.h
Perl interface to the Apache server API
Limit user access by number of requests
Perl Apache authentication handlers
Authorize based on age
Utilities for debugging embedded perl code
Translate URI's into mSQL database queries
OPT_* defines from httpd_core.h
Run (mostly) unaltered CGI scripts through mod_perl_fast
Implement Server Side Includes in Perl
tie stdio to Apache's i/o methods

Provides

in lib/Apache/Authen.pm
in CGI-XA/lib/Apache/CGI.pm
in CGI-XA/lib/CGI/XA.pm
in CGI-XA/lib/CGI/XA.pm