> (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