{ .type = SET_FILTER_NAME, .key = "passdb_lua", },
{ .type = SET_FILTER_NAME, .key = "userdb_lua", },
DEF(STRLIST, auth_lua_config),
- DEF(STR, auth_lua_file),
SETTING_DEFINE_LIST_END
};
static const struct auth_lua_settings auth_lua_default_settings = {
- .auth_lua_file = "",
.auth_lua_config = ARRAY_INIT,
};
struct auth_lua_settings {
pool_t pool;
- const char *auth_lua_file;
ARRAY_TYPE(const_string) auth_lua_config;
};
struct dlua_passdb_module {
struct passdb_module module;
struct dlua_script *script;
- const struct auth_lua_settings *set;
bool has_password_verify;
};
struct dlua_userdb_module {
struct userdb_module module;
- const struct auth_lua_settings *set;
struct dlua_script *script;
};
passdb_lua_preinit(pool_t pool, struct event *event,
struct passdb_module **module_r, const char **error_r)
{
- const struct auth_lua_settings *set;
struct dlua_passdb_module *module;
-
- if (settings_get(event, &auth_lua_setting_parser_info, 0, &set,
- error_r) < 0) {
- event_unref(&event);
- return -1;
- }
-
module = p_new(pool, struct dlua_passdb_module, 1);
- module->set = set;
- if (dlua_script_create_file(module->set->auth_lua_file, &module->script,
- event, error_r) < 0)
- i_fatal("passdb-lua: failed to load '%s': %s",
- module->set->auth_lua_file, *error_r);
+ if (dlua_script_create_auto(event, &module->script, error_r) <= 0)
+ i_fatal("passdb-lua: %s", *error_r);
const struct auth_lua_script_parameters params = {
.script = module->script,
struct dlua_passdb_module *module =
(struct dlua_passdb_module *)_module;
dlua_script_unref(&module->script);
- settings_free(module->set);
}
#ifndef PLUGIN_BUILD
userdb_lua_preinit(pool_t pool, struct event *event,
struct userdb_module **module_r, const char **error_r)
{
- const struct auth_lua_settings *set;
struct dlua_userdb_module *module;
- if (settings_get(event, &auth_lua_setting_parser_info, 0, &set,
- error_r) < 0) {
- event_unref(&event);
- return -1;
- }
-
module = p_new(pool, struct dlua_userdb_module, 1);
- module->set = set;
- if (dlua_script_create_file(module->set->auth_lua_file, &module->script,
- event, error_r) < 0)
- i_fatal("userdb-lua: failed to load '%s': %s",
- module->set->auth_lua_file, *error_r);
+ if (dlua_script_create_auto(event, &module->script, error_r) <= 0)
+ i_fatal("userdb-lua: %s", *error_r);
const struct auth_lua_script_parameters params = {
.script = module->script,
struct dlua_userdb_module *module =
(struct dlua_userdb_module *)_module;
dlua_script_unref(&module->script);
- settings_free(module->set);
}
static struct userdb_iterate_context *