struct dlua_script;
-int auth_lua_script_init(struct dlua_script *script, const char **error_r);
+struct auth_lua_script_parameters {
+ struct dlua_script *script;
+};
+
+int auth_lua_script_init(const struct auth_lua_script_parameters *params,
+ const char **error_r);
int auth_lua_call_password_verify(struct dlua_script *script,
struct auth_request *req, const char *password,
(struct dlua_passdb_module *)_module;
const char *error;
- if (dlua_script_create_file(module->file, &module->script, auth_event, &error) < 0 ||
- auth_lua_script_init(module->script, &error) < 0)
+ if (dlua_script_create_file(module->file, &module->script, auth_event, &error) < 0)
i_fatal("passdb-lua: initialization failed: %s", error);
+
+ const struct auth_lua_script_parameters params = {
+ .script = module->script,
+ };
+ if (auth_lua_script_init(¶ms, &error) < 0)
+ i_fatal("passdb-lua: initialization failed: %s", error);
+
module->has_password_verify =
dlua_script_has_function(module->script, AUTH_LUA_PASSWORD_VERIFY);
}
test_assert(dlua_script_create_string(luascript, &script, NULL, &error) == 0);
if (script != NULL) {
- test_assert(auth_lua_script_init(script, &error) == 0);
+ const struct auth_lua_script_parameters params = {
+ .script = script,
+ };
+ test_assert(auth_lua_script_init(¶ms, &error) == 0);
test_assert(auth_lua_call_password_verify(script, req, "password", &error) == 1);
dlua_script_unref(&script);
}
test_assert(dlua_script_create_string(luascript, &script, NULL, &error) == 0);
if (script != NULL) {
- test_assert(auth_lua_script_init(script, &error) == 0);
+ const struct auth_lua_script_parameters params = {
+ .script = script,
+ };
+ test_assert(auth_lua_script_init(¶ms, &error) == 0);
test_assert(auth_lua_call_passdb_lookup(script, req, &scheme, &pass, &error) == 1);
test_assert(strcmp(req->fields.user, "01234") == 0);
dlua_script_unref(&script);
test_assert(dlua_script_create_string(luascript, &script, NULL, &error) == 0);
if (script != NULL) {
- test_assert(auth_lua_script_init(script, &error) == 0);
+ const struct auth_lua_script_parameters params = {
+ .script = script,
+ };
+ test_assert(auth_lua_script_init(¶ms, &error) == 0);
test_assert(auth_lua_call_passdb_lookup(script, req, &scheme, &pass, &error) == 1);
dlua_script_unref(&script);
test_assert_strcmp(pass, "pass");
test_assert(dlua_script_create_string(luascript, &script, NULL, &error) == 0);
if (script != NULL) {
- test_assert(auth_lua_script_init(script, &error) == 0);
+ const struct auth_lua_script_parameters params = {
+ .script = script,
+ };
+ test_assert(auth_lua_script_init(¶ms, &error) == 0);
test_expect_error_string_n_times("db-lua: Field key", 3);
test_assert(auth_lua_call_passdb_lookup(script, req, &scheme, &pass, &error) == 1);
dlua_script_unref(&script);
(struct dlua_userdb_module *)_module;
const char *error;
- if (dlua_script_create_file(module->file, &module->script, auth_event, &error) < 0 ||
- auth_lua_script_init(module->script, &error) < 0)
+ if (dlua_script_create_file(module->file, &module->script, auth_event, &error) < 0)
+ i_fatal("userdb-lua: initialization failed: %s", error);
+
+ const struct auth_lua_script_parameters params = {
+ .script = module->script,
+ };
+ if (auth_lua_script_init(¶ms, &error) < 0)
i_fatal("userdb-lua: initialization failed: %s", error);
}