From: Joe Orton Date: Thu, 10 Feb 2005 18:28:43 +0000 (+0000) Subject: * modules/ssl/ssl_engine_kernel.c (ssl_hook_Access): Move the X-Git-Tag: 2.1.3~33 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c2f37c7a4db5fa2018de24c08aa32821e46af03d;p=apache * modules/ssl/ssl_engine_kernel.c (ssl_hook_Access): Move the SSLUsername-controlled assignment of r->user above the SSLRequire checks so that the "username" gets logged if SSLRequire denies access. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@153280 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/ssl/ssl_engine_kernel.c b/modules/ssl/ssl_engine_kernel.c index 349d9b1f8b..009ad76a7e 100644 --- a/modules/ssl/ssl_engine_kernel.c +++ b/modules/ssl/ssl_engine_kernel.c @@ -751,6 +751,20 @@ int ssl_hook_Access(request_rec *r) } } + /* If we're trying to have the user name set from a client + * certificate then we need to set it here. This should be safe as + * the user name probably isn't important from an auth checking point + * of view as the certificate supplied acts in that capacity. + * However, if FakeAuth is being used then this isn't the case so + * we need to postpone setting the username until later. + */ + if ((dc->nOptions & SSL_OPT_FAKEBASICAUTH) == 0 && dc->szUserName) { + char *val = ssl_var_lookup(r->pool, r->server, r->connection, + r, (char *)dc->szUserName); + if (val && val[0]) + r->user = val; + } + /* * Check SSLRequire boolean expressions */ @@ -799,20 +813,6 @@ int ssl_hook_Access(request_rec *r) } } - /* If we're trying to have the user name set from a client - * certificate then we need to set it here. This should be safe as - * the user name probably isn't important from an auth checking point - * of view as the certificate supplied acts in that capacity. - * However, if FakeAuth is being used then this isn't the case so - * we need to postpone setting the username until later. - */ - if ((dc->nOptions & SSL_OPT_FAKEBASICAUTH) == 0 && dc->szUserName) { - char *val = ssl_var_lookup(r->pool, r->server, r->connection, - r, (char *)dc->szUserName); - if (val && val[0]) - r->user = val; - } - /* * Else access is granted from our point of view (except vendor * handlers override). But we have to return DECLINED here instead