Skip to content

Commit

Permalink
BZ-62497: Make r.ap_auth_type writable via mod_lua
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.
  • Loading branch information
michael-o committed Oct 5, 2024
1 parent fd9c416 commit e58a480
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 2 deletions.
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 e58a480

Please sign in to comment.