httpd-modules-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From <oh...@cox.net>
Subject Re: How to access client certificate PEM and incoming request headers in a module?
Date Thu, 01 Jan 1970 00:00:00 GMT

---- Ben Noordhuis <info@bnoordhuis.nl> wrote: 
> On Mon, Jun 18, 2012 at 5:45 AM,  <ohaya@cox.net> wrote:
> > I haven't actually tried your suggestion yet, but, re. the SSL variables, I was
looking at mod_headers.c, and in there, there are two separate functions:
> >
> > static const char *header_request_env_var(request_rec *r, char *a)
> > {
> >    const char *s = apr_table_get(r->subprocess_env,a);
> >
> >    if (s)
> >        return unwrap_header(r->pool, s);
> >    else
> >        return "(null)";
> > }
> >
> > static const char *header_request_ssl_var(request_rec *r, char *name)
> > {
> >    if (header_ssl_lookup) {
> >        const char *val = header_ssl_lookup(r->pool, r->server,
> >                                            r->connection,
r, name);
> >        if (val && val[0])
> >            return unwrap_header(r->pool, val);
> >        else
> >            return "(null)";
> >    }
> >    else {
> >        return "(null)";
> >    }
> > }
> >
> > So, it seems like the method to get the SSL variables is different than the other
environment variables?
> >
> > Or, does setting SSLOptions the way that you suggested cause the SSL variable so
also exist in apr_table_get(r->subprocess_env, xxxx)?
> 
> Oh, I forgot about that. It's the ssl_var_lookup optional function,
> that might even work without having to tweak SSLOptions.


Hi,

I'll look at ssl_var_lookup a little later, but I'm still messing around with mod_headers.c,
tweaking it to understand how THAT is working :)...

I added a call to header_request_env_var(r, "REMOTE_URI"), just to see what it got (running
Apache in single-process mode):

printf("REMOTE_URI=[%s]\n", header_request_env_var(r, "REMOTE_URI") );

Then I pointed a browser to http://<myhost>/test, where /test was a <Location>
with a RequestHeader (to trigger mod_headers) but I got:

REMOTE_URI=[(null)]

Shouldn't that be showing:

REMOTE_URI=[/test]

??

Thanks again,
Jim


Mime
View raw message