Skip to content

Commit

Permalink
mod_lua: Make r.ap_auth_type writable
Browse files Browse the repository at this point in the history
This completes the option of setting the remote user by the authentication
mechanism which actually verified the user.

One possible usecase is that a proxied (upstream) server performs the
authentication, but the access log of HTTPd does not contain this information.
The upstream server can pass this kind of information back to HTTPd and both
servers will have consistent access logs.

Submitted by: Michael Osipov <michaelo apache.org>
PR: 62497
Github: closes #67


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1921260 13f79535-47bb-0310-9956-ffa450edef68
  • Loading branch information
notroj committed Oct 11, 2024
1 parent 336fa82 commit 61db063
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 2 deletions.
2 changes: 2 additions & 0 deletions changes-entries/pr62497.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*) mod_lua: Make r.ap_auth_type writable. PR 62497.
[Michael Osipov <michaelo apache.org>]
2 changes: 1 addition & 1 deletion docs/manual/mod/mod_lua.xml
Original file line number Diff line number Diff line change
Expand Up @@ -360,7 +360,7 @@ end
<tr>
<td><code>ap_auth_type</code></td>
<td>string</td>
<td>no</td>
<td>yes</td>
<td>If an authentication check was made, this is set to the type
of authentication (f.x. <code>basic</code>)</td>
</tr>
Expand Down
2 changes: 1 addition & 1 deletion docs/manual/mod/mod_lua.xml.fr
Original file line number Diff line number Diff line change
Expand Up @@ -383,7 +383,7 @@ end
<tr>
<td><code>ap_auth_type</code></td>
<td>string</td>
<td>non</td>
<td>oui</td>
<td>Ce champ contient le type d'authentification effectuée
(par exemple <code>basic</code>)</td>
</tr>
Expand Down
6 changes: 6 additions & 0 deletions modules/lua/lua_request.c
Original file line number Diff line number Diff line change
Expand Up @@ -2551,6 +2551,12 @@ static int req_newindex(lua_State *L)
request_rec *r = ap_lua_check_request_rec(L, 1);
key = luaL_checkstring(L, 2);

if (0 == strcmp("ap_auth_type", key)) {
const char *value = luaL_checkstring(L, 3);
r->ap_auth_type = apr_pstrdup(r->pool, value);
return 0;
}

if (0 == strcmp("args", key)) {
const char *value = luaL_checkstring(L, 3);
r->args = apr_pstrdup(r->pool, value);
Expand Down

0 comments on commit 61db063

Please sign in to comment.