]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
doveadm: Remove doveadm_setting_roots_add() and _get_settings()
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Thu, 5 Jan 2023 01:13:45 +0000 (03:13 +0200)
committerTimo Sirainen <timo.sirainen@open-xchange.com>
Mon, 20 Nov 2023 12:11:41 +0000 (14:11 +0200)
These will no longer be needed. Plugins that were using them can just
access the settings via lib-master APIs directly after some more changes.

src/doveadm/doveadm-settings.c
src/doveadm/doveadm-settings.h

index d2f85f2ac4a435f3e61aa1dd4d9cc327bec5b581..8da21d149ae627c199eaf41568bd16f5bde7217b 100644 (file)
@@ -12,7 +12,6 @@
 #include "iostream-ssl.h"
 #include "doveadm-settings.h"
 
-ARRAY_TYPE(doveadm_setting_root) doveadm_setting_roots;
 bool doveadm_verbose_proctitle;
 
 static pool_t doveadm_settings_pool = NULL;
@@ -230,27 +229,18 @@ void doveadm_settings_expand(struct doveadm_settings *set, pool_t pool)
 
 void doveadm_read_settings(void)
 {
-       static const struct setting_parser_info *default_set_roots[] = {
+       static const struct setting_parser_info *set_roots[] = {
                &master_service_ssl_setting_parser_info,
                &doveadm_setting_parser_info,
+               NULL
        };
        struct master_service_settings_input input;
        struct master_service_settings_output output;
        const struct doveadm_settings *set;
-       struct doveadm_setting_root *root;
-       ARRAY(const struct setting_parser_info *) set_roots;
        const char *error;
 
-       t_array_init(&set_roots, N_ELEMENTS(default_set_roots) +
-                    array_count(&doveadm_setting_roots) + 1);
-       array_append(&set_roots, default_set_roots,
-                    N_ELEMENTS(default_set_roots));
-       array_foreach_modifiable(&doveadm_setting_roots, root)
-               array_push_back(&set_roots, &root->info);
-       array_append_zero(&set_roots);
-
        i_zero(&input);
-       input.roots = array_front(&set_roots);
+       input.roots = set_roots;
        input.service = "doveadm";
        input.preserve_user = TRUE;
        input.preserve_home = TRUE;
@@ -274,11 +264,6 @@ void doveadm_read_settings(void)
                doveadm_settings_pool);
        doveadm_settings_expand(doveadm_settings, doveadm_settings_pool);
        doveadm_settings->parsed_features = set->parsed_features; /* copy this value by hand */
-
-       array_foreach_modifiable(&doveadm_setting_roots, root) {
-               root->settings = master_service_settings_get_root_set_dup(
-                       master_service, root->info, doveadm_settings_pool);
-       }
 }
 
 int doveadm_settings_get_config_fd(void)
@@ -287,32 +272,11 @@ int doveadm_settings_get_config_fd(void)
        return global_config_fd;
 }
 
-void doveadm_setting_roots_add(const struct setting_parser_info *info)
-{
-       struct doveadm_setting_root *root;
-
-       root = array_append_space(&doveadm_setting_roots);
-       root->info = info;
-}
-
-void *doveadm_setting_roots_get_settings(const struct setting_parser_info *info)
-{
-       const struct doveadm_setting_root *root;
-
-       array_foreach(&doveadm_setting_roots, root) {
-               if (root->info == info)
-                       return root->settings;
-       }
-       i_panic("Failed to find settings for module %s", info->module_name);
-}
-
 void doveadm_settings_init(void)
 {
-       i_array_init(&doveadm_setting_roots, 8);
 }
 
 void doveadm_settings_deinit(void)
 {
-       array_free(&doveadm_setting_roots);
        pool_unref(&doveadm_settings_pool);
 }
index 707c7de061f9c7625218c436f95bc386085b6c17..bb8b08f77b3127b03114b63d565a4992f506ec60 100644 (file)
@@ -38,24 +38,14 @@ struct doveadm_settings {
        ARRAY(const char *) plugin_envs;
 };
 
-struct doveadm_setting_root {
-       const struct setting_parser_info *info;
-       void *settings;
-};
-ARRAY_DEFINE_TYPE(doveadm_setting_root, struct doveadm_setting_root);
-
 extern const struct setting_parser_info doveadm_setting_parser_info;
 extern struct doveadm_settings *doveadm_settings;
 extern const struct master_service_ssl_settings *doveadm_ssl_set;
-extern ARRAY_TYPE(doveadm_setting_root) doveadm_setting_roots;
 extern bool doveadm_verbose_proctitle;
 
 void doveadm_get_ssl_settings(struct ssl_iostream_settings *set_r, pool_t pool);
 void doveadm_settings_expand(struct doveadm_settings *set, pool_t pool);
 
-void doveadm_setting_roots_add(const struct setting_parser_info *info);
-void *doveadm_setting_roots_get_settings(const struct setting_parser_info *info);
-
 void doveadm_read_settings(void);
 int doveadm_settings_get_config_fd(void);