> (In case it's suggested, I can't currently use PerlAuthenHandler or
> any handler other than PerlHandler.  The module makes use of mod_ssl
> environment variables which are not accessible until the PerlHandler
> phase.  I also can't make use of Geoff Young's module that works
> around this [Apache::SSLLookup] because I'm forced to run Apache 1.3.)

IIRC those mod_ssl-specific variables (like HTTPS) are actually populated
during fixups, which means if you can force mod_ssl to run its fixups
_before_ mod_perl runs its fixups you'll be in good shape...

one way to do this is to use ClearModuleList and AddModule to configure
mod_ssl lower in httpd.conf than mod_perl.  this would give mod_ssl higher
priority in the module list, making it run before mod_perl for all request
phases.  now, this may have unintended consequences if you plan to use
mod_perl to program any of the phases that mod_ssl hooks into, including
translation, access, auth, and authz.  but if you're only using the
PerlHandler you should be ok.

another option is something like this:

  package My::Fixup;
  use Apache::Module;  # from CPAN
  sub handler {
     my $r = shift;
     my $cv = Apache::Module->find('ssl')->fixer_upper;
     $r->$cv();
     return OK
  }

or somesuch.  see recipe 8.9 in the mod_perl developer's cookbook for more...

despite it's coolness, this is a very unorthodox approach.  but it just
might do what you need :)

--Geoff

Reply via email to