[mod_python] I can access mod_ssl cert env vars using PerlAuthenHandler, but howto do it with a PythonAuthenHandler?

perry.tew at cibavision.novartis.com perry.tew at cibavision.novartis.com
Wed Oct 1 16:39:32 EST 2003


Hello,
   I'm trying to port a mod_perl handler to mod_python. 
The mod_perl handler was based off an Authentication Handler discussed 
in Chapter 6 of the "Writing Apache Modules in Perl and C" book by 
MacEachern 
(page 326 for those who have the book).   At any rate, concerning how to 
access 
environment variables set by mod_ssl, the book states correctly the 
following:

"""
The handler then issues a subrequest and retrieves the value of 
SSL_CLIENT_DN from 
the subrequest's environment table.  The subrequest is necessary because 
the parsed 
certificate fields aren't placed into the table until the fixup stage, 
which ordinarily occurs 
after the authorization phase.
"""


So, my perl code looks like this:
##########################################
my $subr = $r->lookup_uri($r->uri);
my $env = $subr->subprocess_env;
my $cn = $env->{'SSL_CLIENT_S_DN_CN'};
my $dn = $env->{'SSL_CLIENT_S_DN'};
##########################################




I'm trying to do the same thing in python with this:
############################################
        req.internal_redirect(req.unparsed_uri)
        req.add_common_vars()
        for k, v in req.subprocess_env.items():
                msg = k + "=" + v
                apache.log_error( msg , apache.APLOG_NOTICE )

############################################

However, the SSL vars aren't in the env table when my handler dumps the 
items to the log. 
The handler is being called and it dumps a lot of
env variables to the log, but no SSL vars.  The PythonAuthenHandler that 
contains the code above 
protects the printenv script, which I call to test the handlers.  The 
printenv script is displaying all
of the SSL env vars correctly, so I know I have the mod_ssl directives 
correct.

Does anyone see an error in what I'm doing wrong (or need to do)?  This is 
my first attempt as writing an AuthenHandler
and I would greatly appreciate any insight.

Thanks,
Perry Tew


More information about the Mod_python mailing list