> HOWEVER, whenever the module is actually invoked, %SECRET_KEYS is empty!
>
> Here's the BEGIN{} block:
> BEGIN {
> my @keyfile_vars = grep {
> $_ =~ /DBI_SecretKeyFile$/
> } keys %{ Apache->server->dir_config() };
> foreach my $keyfile_var ( @keyfile_vars ) {
> my $keyfile = Apache->server->dir_config( $keyfile_var );
> my $auth_name = $keyfile_var;
> $auth_name =~ s/DBI_SecretKeyFile$//;
> unless ( open( KEY, "<$keyfile" ) ) {
> Apache::log_error( "Could not open keyfile for
> $auth_name in file
> $keyfile" );
> } else {
> $SECRET_KEYS{ $auth_name } = <KEY>;
> close KEY;
> }
> }
> }
OK, more examination reveals that:
At the time this BEGIN block is running, this call:
my @keyfile_vars = grep {
$_ =~ /DBI_SecretKeyFile$/
} keys %{ Apache->server->dir_config() };
is returning EMPTY.
Meaning it's evaling too early to see the dir_config??????? Or what?
PerlModule Apache::AuthCookieDBI
PerlSetVar AdminPath /admin
PerlSetVar AdminLoginScript /scripts/adminlogin.pl
#PerlSetVar AdminLoginScript /error/adminlogin.html
# Optional, to share tickets between servers.
#PerlSetVar AdminDomain .domain.com
# These must be set
PerlSetVar AdminDBI_DSN "dbi:Oracle:STATS"
PerlSetVar AdminDBI_SecretKeyFile /etc/httpd/conf/admin.secret.key
# etc.
Ideas?
L8r,
Rob
#!/usr/bin/perl -w
use Disclaimer qw/:standard/;