]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
login-common: change login_plugins to BOOLLIST.
authorsergey.kitov <sergey.kitov@open-xchange.com>
Wed, 20 Sep 2023 14:50:14 +0000 (17:50 +0300)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Fri, 17 Jan 2025 08:39:59 +0000 (10:39 +0200)
src/login-common/client-common.c
src/login-common/login-settings.c
src/login-common/login-settings.h
src/login-common/main.c

index 1682dcb447714a273eeedf7586a6319c0c823378..c322550c9466fcc6225a71f35a9319cec20572c8 100644 (file)
@@ -29,6 +29,7 @@
 #include "auth-client.h"
 #include "dsasl-client.h"
 #include "login-proxy.h"
+#include "settings-parser.h"
 #include "client-common.h"
 
 struct client *clients = NULL;
index 4cedeb0e7bbdb5b9a82b99cc6fcb85b48af73837..c4b36c20b8a2825f35ee14c0b2ba04d4391df776 100644 (file)
@@ -21,7 +21,7 @@ static const struct setting_define login_setting_defines[] = {
        DEF(STR_NOVARS, login_log_format),
        DEF(STR, login_proxy_notify_path),
        DEF(STR, login_plugin_dir),
-       DEF(STR, login_plugins),
+       DEF(BOOLLIST, login_plugins),
        DEF(TIME_MSECS, login_proxy_timeout),
        DEF(UINT, login_proxy_max_reconnects),
        DEF(TIME, login_proxy_max_disconnect_delay),
@@ -51,7 +51,7 @@ static const struct login_settings login_default_settings = {
        .login_log_format = "%$: %s",
        .login_proxy_notify_path = "proxy-notify",
        .login_plugin_dir = MODULEDIR"/login",
-       .login_plugins = "",
+       .login_plugins = ARRAY_INIT,
        .login_proxy_timeout = 30*1000,
        .login_proxy_max_reconnects = 3,
        .login_proxy_max_disconnect_delay = 0,
index 9ccb7b973ded980464ed7ae58e90eb0e954f85bb..d3e3eee133cbaef94246a5c5b5be8139cc88c784 100644 (file)
@@ -10,7 +10,7 @@ struct login_settings {
        const char *login_access_sockets;
        const char *login_proxy_notify_path;
        const char *login_plugin_dir;
-       const char *login_plugins;
+       ARRAY_TYPE(const_string) login_plugins;
        unsigned int login_proxy_timeout;
        unsigned int login_proxy_max_reconnects;
        unsigned int login_proxy_max_disconnect_delay;
index a2c5234055f62c40a9bf046db05c0e77bfe8dc50..b9eecb17dbc828ad926dd2147b9d47dd4d16e55f 100644 (file)
@@ -20,6 +20,7 @@
 #include "dsasl-client.h"
 #include "master-service-settings.h"
 #include "login-proxy.h"
+#include "settings-parser.h"
 
 #include <unistd.h>
 #include <syslog.h>
@@ -313,7 +314,7 @@ static void login_load_modules(void)
 {
        struct module_dir_load_settings mod_set;
 
-       if (global_login_settings->login_plugins[0] == '\0')
+       if (array_is_empty(&global_login_settings->login_plugins))
                return;
 
        i_zero(&mod_set);
@@ -324,7 +325,7 @@ static void login_load_modules(void)
        mod_set.debug = login_debug;
 
        modules = module_dir_load(global_login_settings->login_plugin_dir,
-                                 t_strsplit_spaces(global_login_settings->login_plugins, ", "),
+                                 settings_boollist_get(&global_login_settings->login_plugins),
                                  &mod_set);
        module_dir_init(modules);
 }