]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: db-lua - Expose some auth request members
authorAki Tuomi <aki.tuomi@dovecot.fi>
Wed, 11 Apr 2018 09:39:51 +0000 (12:39 +0300)
committerVille Savolainen <ville.savolainen@dovecot.fi>
Mon, 28 May 2018 07:07:18 +0000 (10:07 +0300)
These are particularly useful for finding out if user
has already been authenticated.

src/auth/db-lua.c

index 9c6b7c25b9a4b3ed6c8fa9305e138e12c12ec3f9..83de659a4c7e3e61cc7e630b7ef1b95801998040 100644 (file)
@@ -270,6 +270,16 @@ static void auth_lua_push_auth_request(struct dlua_script *script, struct auth_r
        lua_setfield(script->L, -2, "item");
        luaL_setmetatable(script->L, "userdb_"AUTH_LUA_AUTH_REQUEST);
        lua_setfield(script->L, -2, "userdb");
+
+#undef LUA_TABLE_SETBOOL
+#define LUA_TABLE_SETBOOL(field) \
+       lua_pushboolean(script->L, req->field ? 1 : 0); \
+       lua_setfield(script->L, -2, #field);
+
+       LUA_TABLE_SETBOOL(skip_password_check);
+       LUA_TABLE_SETBOOL(passdbs_seen_user_unknown);
+       LUA_TABLE_SETBOOL(passdbs_seen_internal_failure);
+       LUA_TABLE_SETBOOL(userdbs_seen_internal_failure);
 }
 
 static struct auth_request *