ANNOUNCE: mod_perl guide v1.32
This is probably the last announcement regarding the mod_perl guide's changes, because on the new mod_perl site all the changes are almost instant and the need for releases is pretty much not needed any more. Therefore remember to refer to the Changes file if you want to know what has changed since the last time you've read some docs. That said, there will be no more separate mod_perl_guide's releases on CPAN as they used to be, since the guide has now been merged into the mod_perl documentation. It's possible that we will start releasing the modperl-docs repository on CPAN instead. We will see. Meanwhile you can download and install locally the guide and the rest of the docs here: http://perl.apache.org/download/docs.html So here are the changes in the guide since Nov 15 2001: =head1 Jul 14 2002 ver 1.32 * snippets.pod: o new recipe: File Upload with Apache::Request [Rich Bowen] * cookbook o ported Passing Arguments to a SSI script from the modperl faq * method_handlers.pod o moved here from the faqs * databases.pod o correct the notes regarding Opening Connections With Different Parameters for Apache::DBI. Must localize local changes. * getwet.pod o a new chapter to get you started fast * porting.pod o add a new section Preventing Apache::Constants Stringification [Per Einar] o add a new section presenting a hackish solution for libraries collision, via do() or %INC mangling. o bring the warnings section up to date with perl 5.6 (Rafael Garcia-Suarez) o cover the 5.6's CHECK block in addition to INIT (Rafael Garcia-Suarez) * troubleshooting.pod o solution to the 'readdir()/opendir() not working' problem (Louis Semprini) o clearify how to solve the segfault problem caused by built-in mysql support in mod_php (Paul Buder) * modules.pod o extend on Apache::Filter (Per Einar Ellefsen) * config.pod o adopt sections from the modperl faq and rewrite the whole security configuration section o extended on method handlers (Per Einar Ellefsen) o show an example on how to load the mod_perl related config only when mod_perl is loaded (Rafael Garcia-Suarez) o More information about PerlSetEnv/PerlPassEnv/PerlSetupEnv w/ practical example[Per Einar] o Extend on PerlSetVar/PerlAddVar but more importantly, add information about subrequests w/ lookup_file and dir_config provided by Matt Sergeant in this thread: http://mathforum.org/epigone/modperl/praxdwumze [Per Einar] * debug.pod o extended on curinfo macro (Per Einar Ellefsen) * help.pod o chroot(1) urls o jail(8) urls (Andrew McNaughton) o link to the internal resources (Per Einar Ellefsen) * install.pod o James G Smith has uploaded his Apache Builder to CPAN, update the download links, to reflect this change. * performance.pod o add more benchmarking tools refs: HTTP::WebTest, HTTP::Monkeywrench, HTTP::TestEngine, HTTPD::Bench::ApacheBench o update the benchmark in the section Apache::args vs. Apache::Request::param vs. CGI::param using Apache::Request 1.0. o Update the documentation on Apache::SizeLimit and Apache::GTopLimit which now both sport the shared and unshared memory thresholds. o added a new section: Potential Drawbacks of Memory Sharing Restriction * intro o major additions to the introduction, including information about the C API and the Perl API and Apache::PerlRun, as well as some more corrections of links relative to the site. [Per Einar] * guide o most of the internal links were changed to use the whole title and not only first few words. The new build system support this. o The documents themselves are now referenced as guide::something, e.g. guide::modules, because now the guide is a part of a much bigger collection of the documents, which need to be fully qualified, so each document can link to other documents in different projects/subprojects. o added descriptions to all chapters (Per Einar Ellefsen) o The document structure has been reorganized and decentralized: some general chapters have left the Guide in favor of the General Documentation section, which is where you should look now for some of the sections that were earlier here [Thomas Klausner] * Minor corrections: o remove qw() or variables list in general::perl_reference (Tim Noll [EMAIL PROTECTED]) o install: (Per Einar Ellefsen [EMAIL PROTECTED], Karl Olson [EMAIL PROTECTED]) __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
Getting mod_perl-1.27 Apache-2.0.39
I've tried every which way and still can't get mod_perl to compile. I'm running Perl v5.6.1 built for i586-linux. I downloaded Apache 2.0.39 and extracted it into /usr/local where it created httpd-2.0.39. I have Apache 2.0.39 built with SSL and DSO, and it's in /usr/local/Apache-2.0.39. It's working. I'm willing to recompile it again but it seems to be a lost cause :-)) In one piece of documentation it says that the Makefile.PL is looking for the *.h files in the Apache source tree. Trying to get mod_perl in I type: perl Makefile.PL APACHE_SRC=/usr/local/httpd-2.0.39/include DO_HTTPD=1 \ USE_APACI=1 PREP_HTTPD=1 EVERYTHING=1 I'm asked ...where I can find you apache src I type in /usr/local/httpd-2.0.39/include and get: Apache Version 1.3.0 required, aborting.. I've also tried: perl Makefile.PL APACHE_SRC=/usr/local/httpd-2.0.39 DO_HTTPD=1 \ USE_APACI=1 PREP_HTTPD=1 EVERYTHING=1 and got the same error message. Ok, so lets try building mod_perl as a DSO outside the Apache Source Tree via APXS just as the documentation says. perl Makefile.PL USE_APXS=1 WITH APXS=/usr/local/Apache-2.0.39/bin \ EVERYTHING=1 Nope. Get: mod_perl.c:1735: request for member `val' in something not a structure or union mod_perl.c:1735: request for member `key' in something not a structure or union mod_perl.c:1735: request for member `key' in something not a structure or union mod_perl.c:1735: request for member `key' in something not a structure or union make[1]: *** [mod_perl.lo] Error 1 make[1]: Leaving directory `/usr/local/mod_perl-1.27/apaci' make: *** [apxs_libperl] Error 2 linux:/usr/local/mod_perl-1.27 # I've also tried: perl Makefile.PL USE_APXS=1 WITH APXS=/usr/local/Apache-2.0.39/bin \ EVERYTHING=1 SSL_BASE=/usr/local/ssl Same error message. I'm not sure what else to do anymore. Anyone have any ideas? I have to head to the Bosnia AO tommorrow and won't be back until Friday, 19 July. If anyone has any ideas could you please post here and to my email. Thanks! Eric
Re: Another SEGV perl 5.8.0-RC2 apache 1.3.26 mod_perl 1.27
5.8.0-RC3 still produces the SEGV with apache 1.3.26, mod_perl 1.27, Apache::Request 1.0 and MaxRequestPerChild 0. My recipe to reproduce the SEGV currently is: Set MaxRequestPerChild to 1 and request a static image. Unless the problem is fixed before 5.8.0 comes out (i.e.~Thursday), I fear we must document the fact: --- perl-5.7.3@17527/pod/perldelta.pod~ Sun Jul 14 02:18:36 2002 +++ perl-5.7.3@17527/pod/perldelta.pod Sun Jul 14 15:34:54 2002 -3133,6 +3133,10 Use mod_perl 1.27 or higher. +=head2 mod_perl 1.27 sometimes produces a segmentation fault + +Setting MaxRequestsPerChild to 0 seems to work around the problem. + =head2 lib/ftmp-security tests warn 'system possibly insecure' Don't panic. Read the 'make test' section of INSTALL instead. Jim, in any case it would be great if you could release a new Apache::Request with the two fixes that Doug has posted to the list[1], so that people need not fall into the two already fixed traps.--Thanks! -- andreas [1] http://mathforum.org/epigone/modperl/zhoolamgheld and http://mathforum.org/epigone/modperl/glongsnaysimp
Re: Getting mod_perl-1.27 Apache-2.0.39
On Sun, 14 Jul 2002, eric wrote: I've tried every which way and still can't get mod_perl to compile. I'm running Perl v5.6.1 built for i586-linux. I downloaded Apache 2.0.39 and extracted it into /usr/local where it created httpd-2.0.39. I have Apache 2.0.39 built with SSL and DSO, and it's in /usr/local/Apache-2.0.39. It's working. I'm willing to recompile it again but it seems to be a lost cause :-)) In one piece of documentation it says that the Makefile.PL is looking for the *.h files in the Apache source tree. Trying to get mod_perl in I type: perl Makefile.PL APACHE_SRC=/usr/local/httpd-2.0.39/include DO_HTTPD=1 \ USE_APACI=1 PREP_HTTPD=1 EVERYTHING=1 I'm asked ...where I can find you apache src I type in /usr/local/httpd-2.0.39/include and get: Apache Version 1.3.0 required, aborting.. [ ... ] For Apache-2 you need to get mod_perl-2; this is available at http://www.cpan.org/authors/id/D/DO/DOUGM/mod_perl-1.99_xx.tar.gz. Follow the mod_perl-2 links at http://perl.apache.org/ for a discussion on building. best regards, randy kobes
Re: Getting mod_perl-1.27 Apache-2.0.39
Randy, Thank you. When I saw 'in development' next to mod_perl-1.99_04 I thought it was just an update to 1.27. I'm too much of a newbie to be getting into develepmental stuff :-)) Thanks again. Worked like a charm! On Sunday 14 July 2002 18:46, Randy Kobes wrote: On Sun, 14 Jul 2002, eric wrote: I've tried every which way and still can't get mod_perl to compile. I'm running Perl v5.6.1 built for i586-linux. I downloaded Apache 2.0.39 and extracted it into /usr/local where it created httpd-2.0.39. I have Apache 2.0.39 built with SSL and DSO, and it's in /usr/local/Apache-2.0.39. It's working. I'm willing to recompile it again but it seems to be a lost cause :-)) In one piece of documentation it says that the Makefile.PL is looking for the *.h files in the Apache source tree. Trying to get mod_perl in I type: perl Makefile.PL APACHE_SRC=/usr/local/httpd-2.0.39/include DO_HTTPD=1 \ USE_APACI=1 PREP_HTTPD=1 EVERYTHING=1 I'm asked ...where I can find you apache src I type in /usr/local/httpd-2.0.39/include and get: Apache Version 1.3.0 required, aborting.. [ ... ] For Apache-2 you need to get mod_perl-2; this is available at http://www.cpan.org/authors/id/D/DO/DOUGM/mod_perl-1.99_xx.tar.gz. Follow the mod_perl-2 links at http://perl.apache.org/ for a discussion on building. best regards, randy kobes
ANNOUNCE: Perl 5.8.0 Release Candidate 3
Test, Test and Test. 5.8.0 is scheduled to be released this Thursday. This is your last chance to ensure that everything works for you before 5.8.0 is released. =head1 Perl 5.8.0 Release Candidate 3 The Perl 5 developer team is pleased to announce the Release Candidate 3 (RC3) of Perl 5.8.0. The RC3 includes changes made by the Perl 5 development team since RC1 and RC2 (released 2002-06-01 and 2002-06-21) If you had problems with RC1 or RC2, please retry now. If you hadn't, please check that we didn't break anything. THE RELEASE CANDIDATE 3 IS MEANT TO BE THE LAST RELEASE CANDIDATE BEFORE THE FINAL 5.8.0 RELEASE. Please test extensively. Your help in testing the upcoming perl 5.8.0 is much appreciated. This is a source code release, not a binary release. You will need a C development environment. Please note that Perl 5.8.0 is a major new release of Perl containing many new features, enhancements to existing features and bug fixes. This version is Release Candidate 3; the purpose of this version is to permit and encourage the Perl community to conduct extensive testing and to report problems so that we, and the owners of affected Perl packages, have an opportunity to correct them. Because the process of testing the vast quantity of Perl software will take time, and because issues uncovered by this testing may result in further changes or corrections to Perl 5.8.0 and the various Perl packages, WE DO NOT RECOMMEND USING RELEASE CANDIDATE 3 IN A PRODUCTION ENVIRONMENT. Please wait for the final version of Perl 5.8.0 for production use. As always, you should conduct an appropriate level of testing before using any new product in your production environment. As specified in the licenses for Perl (see the files named Artistic or Copying), THIS PACKAGE IS PROVIDED WITH ABSOLUTELY NO WARRANTY. =head1 Where To Get It The 5.8.0 RC3 is now available at http://mirrors.kernel.org/cpan/src/perl-5.8.0-RC3.tgz http://cpan.valueclick.com/src/perl-5.8.0-RC3.tgz ftp://ftp.leo.org/pub/CPAN/src/perl-5.8.0-RC3.tgz ftp://ftp.funet.fi/pub/CPAN/src/perl-5.8.0-RC3.tgz and as the CPAN mirrors catch up, in the src/ subdirectory of your nearest friendly CPAN mirror. The size of the file is 11010346 bytes and the MD5 checksum for the file is 23b6fec3187f0acbe4087670318753e2 perl-5.8.0-RC3.tgz This release should work in all UNIX/Linux and Microsoft environments, and in other environments which have POSIX/UNIX interfaces, such as BeOS, Cygwin, MPE/iX, NetWare, OS/2, QNX, VMS, VOS, and z/OS, and the appropriate C compilation environment. Mac OS Classic port of 5.8.0 is available separately, follow http://dev.macperl.org/ =head1 Why To Get It For the list of changes in 5.8.0 see the pod/perldelta.pod, available separately online at http://mirrors.kernel.org/cpan/doc/perldelta.pod http://cpan.valuelick.com/doc/perldelta.pod ftp://ftp.leo.org/pub/CPAN/doc/perldelta.pod ftp://ftp.funet.fi/pub/CPAN/doc/perldelta.pod (and again, eventually at all CPAN mirrors-- note, though, that these URLs are not permanent, they will be removed when the final 5.8.0 is released) The .tgz file will unpack into a directory called perl-5.8.0-RC3. =head1 How To Do It You will configure, build, and test Perl. Below is a short summary, for the full story read the INSTALL file. =head2 Configuring If you are in a UNIX-like system, you can setup Perl for compilation by changing into the perl-5.8.0-RC3 directory and issuing the following command: sh Configure -des This will simply select all the defaults for your system, INCLUDING defaulting to install in the usual location for production software. (So don't run make install if you run Configure this way!) If you are not in a UNIX-like system (say, Win32), please read the INSTALL file and any possible platform specific README files for further instructions, and skip the parts below that don't apply to your platform. If you want to go through Configure interactively (for example to change the default installation directories), do just sh Configure =head2 Building To build Perl issue the command make all Note that the build times can vary considerably. Perl 5.8.0 is about twice the size of 5.6.1, and some source code files are quite large, so your compiler might have hard time processing them. On a fast modern system with lots of CPU and memory the build can be a matter of ten minutes, but on slower/older/more heavily loaded systems it can take up to eight hours, while half an hour to an hour being common. =head2 Testing After the build has finished, it's time to test the build. make test Again, testing times vary a lot. Perl 5.8.0 has more than five times the tests of Perl 5.6.1. Fifteen minutes to half an hour is quite normal, but a slow system may easily take an hour or more. If all tests are successful, make test will say All tests successful
Re: Getting mod_perl-1.27 Apache-2.0.39
On Sun, 14 Jul 2002, eric wrote: I've tried every which way and still can't get mod_perl to compile. snip apache 2.x is not supported well at this point You didn't say which SSL you were running, but if it's ben's apache-ssl, this simple set of instructions will work. build and install openssl9.6x (b or c) at least unpack apache_1.3.26 copy apache_1.3.26_ssl_1.48.tgz into apache directory, uppack and run ./FixPatch rm apache/src/Configuration rm apache/src/Configuration.apaci edit apache/src/Configuration.tmpl to enable standard modules you may want that are commented out. Typically that will be something like ... mod_info.o, mod_rewrite.o, mod_so.o libproxy.a now go to the mod perl directory modperl-1.26 or 1.27 Run: perl Makefile.PL \ APACHE_SRC=/usr/src/apache/src \ DO_HTTPD=1 \ USE_APACI=1 \ PREP_HTTPD=1 \ EVERYTHING=1 \ make make test # broken make install This will build modperl and copy the appropriate modules to the apache src directories. Answer YES to the questions asked by script go back to apache directory and run ./configure --with-layout=Apache \ --activate-module=src/modules/perl/libperl.a make make install all done :-) Michael
Re: ANNOUNCE: Perl 5.8.0 Release Candidate 3
On 14/7/02 at 15:12, [EMAIL PROTECTED] (The Doctor) wrote: I get [big snip] ./perl: can't resolve symbol 'Perl_get_sv' Mine installed fine after make and make test with 98 percent results into /test/perl580/bin/perl but I get similar error messages re: dyld It's late here (BST) and the build and test did take a long time (I gotta day job ;-), so I'll go through some more stuff on the test machine tomorrow. iBook (Late 2001)/Mac OS X.1.5/256MB RAM bash2.05 philbook@localhost ~ $ perl -V Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration: Platform: osname=darwin, osvers=5.5, archname=darwin uname='darwin localhost 5.5 darwin kernel version 5.5: thu may 30 14:51:26 pdt 2002; root:xnuxnu-201.42.3.obj~1release_ppc power macintosh powerpc ' config_args='-des -Dprefix=/test/perl580 -Uinstallusrbinperl' hint=previous, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-pipe -fno-common -DINT32_MIN_BROKEN -DINT64_MIN_BROKEN -no-cpp-precomp -fno-strict-aliasing -I/usr/local/include', optimize='-O3', cppflags='-no-cpp-precomp -pipe -fno-common -DINT32_MIN_BROKEN -DINT64_MIN_BROKEN -no-cpp-precomp -fno-strict-aliasing -I/usr/local/include -pipe -fno-common -DINT32_MIN_BROKEN -DINT64_MIN_BROKEN -no-cpp-precomp -fno-strict-aliasing -I/usr/local/include' ccversion='', gccversion='2.95.2 19991024 (release)', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='cc', ldflags =' -flat_namespace -L/usr/local/lib' libpth=/usr/local/lib /usr/lib libs=-lm -lc perllibs=-lm -lc libc=/usr/lib/libc.dylib, so=dylib, useshrplib=true, libperl=libperl.dylib gnulibc_version='' Dynamic Linking: dlsrc=dl_dyld.xs, dlext=bundle, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags=' -flat_namespace -bundle -undefined suppress -L/usr/local/lib' Characteristics of this binary (from libperl): Compile-time options: USE_LARGE_FILES Built under darwin Compiled at Jul 14 2002 20:13:39 @INC: /Library/Perl/darwin /Library/Perl /Library/Perl/darwin /Library/Perl /Library/Perl /Network/Library/Perl/darwin /Network/Library/Perl /Network/Library/Perl Pretty good though. Straight outta the box on to a Mac... Regards, Phil.
Re: ANNOUNCE: Perl 5.8.0 Release Candidate 3
(Removed [EMAIL PROTECTED], this has nothing to do with TT.) Please submit perl 5.8.0 RCn build failures to perl5porters. Use perlbug to do this if you can. (Looks like this failure prevents the use of perlbug.) If you can't please describe your environment. OS, compiler, installed patches, etc. I'll forward this to speed things up. Lupe Christoph On Sunday, 2002-07-14 at 15:12:20 -0600, The Doctor wrote: I get Script started on Sun Jul 14 14:48:21 2002 doctor.nl2k.ab.ca//usr/source/perl-5.8.0-RC3$ make AutoSplitting perl library LD_LIBRARY_PATH=/usr2/source/perl-5.8.0-RC3:/usr/contrib/qt/lib:/usr/contrib/lib/mysql:/usr/lib ./miniperl -Ilib -e 'use AutoSplit; autosplit_lib_modules(@ARGV)' lib/*.pm LD_LIBRARY_PATH=/usr2/source/perl-5.8.0-RC3:/usr/contrib/qt/lib:/usr/contrib/lib/mysql:/usr/lib ./miniperl -Ilib -e 'use AutoSplit; autosplit_lib_modules(@ARGV)' lib/*/*.pm make lib/re.pm `lib/re.pm' is up to date. Making DynaLoader (static_pic) LD_LIBRARY_PATH=/usr2/source/perl-5.8.0-RC3:/usr/contrib/qt/lib:/usr/contrib/lib/mysql:/usr/lib cc -o perl -L/usr/X11/lib -L/usr/local/lib -Wl,-rpath,/usr/libdata/perl5/i386-bsdos/CORE perlmain.o lib/auto/DynaLoader/DynaLoader.a libperl.so `cat ext.libs` -lutil -lbind -ldl -ldld -lm -lc LD_LIBRARY_PATH=/usr2/source/perl-5.8.0-RC3:/usr/contrib/qt/lib:/usr/contrib/lib/mysql:/usr/lib cc -o suidperl -L/usr/X11/lib -L/usr/local/lib -Wl,-rpath,/usr/libdata/perl5/i386-bsdos/CORE perlmain.o sperl.o lib/auto/DynaLoader/DynaLoader.a libperl.so `cat ext.libs` -lutil -lbind -ldl -ldld -lm -lc Making utilities Making x2p stuff Making B (dynamic) Making ByteLoader (dynamic) Making Cwd (dynamic) Making DB_File (dynamic) Making Data::Dumper (dynamic) Making Devel::DProf (dynamic) Making Devel::PPPort (dynamic) Making Devel::Peek (dynamic) Making Digest::MD5 (dynamic) Making Encode (dynamic) Making Fcntl (dynamic) Making File::Glob (dynamic) Making Filter::Util::Call (dynamic) Making GDBM_File (dynamic) Making IO (dynamic) Making IPC::SysV (dynamic) Making List::Util (dynamic) Making MIME::Base64 (dynamic) Making NDBM_File (dynamic) Making Opcode (dynamic) Making POSIX (dynamic) Making PerlIO::encoding (dynamic) Making PerlIO::scalar (dynamic) Making PerlIO::via (dynamic) Making SDBM_File (dynamic) Making Socket (dynamic) Making Storable (dynamic) Making Sys::Hostname (dynamic) Making Sys::Syslog (dynamic) Making Time::HiRes (dynamic) Making Unicode::Normalize (dynamic) Making XS::APItest (dynamic) Making XS::Typemap (dynamic) Making attrs (dynamic) Making re (dynamic) Making threads (dynamic) Making threads::shared (dynamic) Making Errno (nonxs) *** Error code 1 (ignored) Everything is up to date. Type 'make test' to run test suite. doctor.nl2k.ab.ca//usr/source/perl-5.8.0-RC3$ head htinst inst/bsdos.sh head: hinst/bsdos.sh: No such file or directory doctor.nl2k.ab.ca//usr/source/perl-5.8.0-RC3$ head hinst/bsdos.sh * head: hinst/bsdos.*: No such file or directory doctor.nl2k.ab.ca//usr/source/perl-5.8.0-RC3$ head hinst/bsdos.*/bsdos.*[Kts/bsdos.* # hints/bsdos.sh # # hints file for BSD/OS (adapted from bsd386.sh) # Original by Neil Bowers [EMAIL PROTECTED]; Tue Oct 4 12:01:34 EDT 1994 # Updated by Tony Sanders [EMAIL PROTECTED]; Sat Aug 23 12:47:45 MDT 1997 # Added 3.1 with ELF dynamic libraries (NOT in 3.1 yet. # Estimated for 4.0) SYSV IPC tested Ok so I re-enabled. # # Updated to work in post-4.0 by Todd C. Miller [EMAIL PROTECTED] # doctor.nl2k.ab.ca//usr/source/perl-5.8.0-RC3$ head hints/bsdos.* sh hints/bsdos.sh[K hints/bsdos.sh[K hints/bsdos.sh[K hints/bsdos.sh[Kc hints/bsdos.sha hints/bsdos.sht hints/bsdos.sh # hints/bsdos.sh # # hints file for BSD/OS (adapted from bsd386.sh) # Original by Neil Bowers [EMAIL PROTECTED]; Tue Oct 4 12:01:34 EDT 1994 # Updated by Tony Sanders [EMAIL PROTECTED]; Sat Aug 23 12:47:45 MDT 1997 # Added 3.1 with ELF dynamic libraries (NOT in 3.1 yet. # Estimated for 4.0) SYSV IPC tested Ok so I re-enabled. # # Updated to work in post-4.0 by Todd C. Miller [EMAIL PROTECTED] # # Updated for threads by Timur I. Bakeyev [EMAIL PROTECTED] # # To override the compiler on the command line: # ./Configure -Dcc=gcc2 # # The BSD/OS distribution is built with: # ./Configure -des -Dbsdos_distribution=defined
Accessing mod_ssl information from mod_perl modules
Hi, I've been trying rather unsuccessfully to write an Authen handler that is able to detect an SSL connection and use the SSL certificate serial as an index into a database table. The problem I'm facing is how to discover the SSL connection information in an Authen handler. At a later phase, the SSL certificate is available in $r-subprocess_env(), in various forms. I can, for example, turn on SSLOptions +StdEnvVars and access $r-subprocess_env(SSL_CLIENT_M_SERIAL) and get what I'd expect. However, authenticating and authorizing in the Response phase has several downsides. The first is that there are phases specifically for this work. The second is that if (when) I want to replace SSL authentication with Basic, or with JRandomAuthenModule, I'll have to modify my Response handler, or have it do an ifthenelsifthenelse block. So, from reading the mod_ssl source, it appears all the information I want is attached to the request object in a pool. APR::Pool has no manpage, I can't figure out how APR::Pool ties into the mod_perl source code, and basically I'm completely stuck with no idea how to, or even if I can, access this information. Little help? -- bje