]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: change imapc_features to BOOLLIST.
authorsergey.kitov <sergey.kitov@open-xchange.com>
Wed, 4 Oct 2023 12:41:10 +0000 (15:41 +0300)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Fri, 17 Jan 2025 08:39:59 +0000 (10:39 +0200)
src/lib-storage/index/imapc/imapc-settings.c
src/lib-storage/index/imapc/imapc-settings.h
src/lib-storage/index/imapc/imapc-storage.c

index c6a4b301fd63ec78c669ac6915d346be5236dd40..7712921172fcc80177d9410c14c6d2fd026d199e 100644 (file)
@@ -25,7 +25,7 @@ static const struct setting_define imapc_setting_defines[] = {
        DEF(ENUM, imapc_ssl),
        DEF(BOOL, imapc_ssl_verify),
 
-       DEF(STR, imapc_features),
+       DEF(BOOLLIST, imapc_features),
        DEF(STR, imapc_rawlog_dir),
        DEF(STR, imapc_list_prefix),
        DEF(TIME, imapc_cmd_timeout),
@@ -51,7 +51,7 @@ static const struct imapc_settings imapc_default_settings = {
        .imapc_ssl = "no:imaps:starttls",
        .imapc_ssl_verify = TRUE,
 
-       .imapc_features = "",
+       .imapc_features = ARRAY_INIT,
        .imapc_rawlog_dir = "",
        .imapc_list_prefix = "",
        .imapc_cmd_timeout = 5*60,
@@ -139,7 +139,7 @@ imapc_settings_parse_features(struct imapc_settings *set,
         const struct imapc_feature_list *list;
        const char *const *str, *value;
 
-        str = t_strsplit_spaces(set->imapc_features, " ,");
+       str = settings_boollist_get(&set->imapc_features);
        for (; *str != NULL; str++) {
                list = imapc_feature_list;
                for (; list->name != NULL; list++) {
index a6c3bf74995ed99b2e9da415bebd5606d6c1c518..6bfdc6d2f0ade14a06d545f5696677f3c453774b 100644 (file)
@@ -44,7 +44,7 @@ struct imapc_settings {
        const char *imapc_ssl;
        bool imapc_ssl_verify;
 
-       const char *imapc_features;
+       ARRAY_TYPE(const_string) imapc_features;
        const char *imapc_rawlog_dir;
        const char *imapc_list_prefix;
        unsigned int imapc_cmd_timeout;
index b326560a97d9782157770e597ea76f5c213a5668..5c1d6a3eeb7f03210c7a7bc81c1255848a7fa584 100644 (file)
@@ -464,7 +464,7 @@ imapc_storage_create(struct mail_storage *_storage,
                                                    storage->set->imapc_list_prefix,
                                                    t_array_const_string_join(&storage->set->imapc_sasl_mechanisms,
                                                                              ","),
-                                                   storage->set->imapc_features,
+                                                   t_array_const_string_join(&storage->set->imapc_features, ","),
                                                    storage->set->imapc_rawlog_dir,
                                                    storage->set->imapc_cmd_timeout,
                                                    storage->set->imapc_max_idle_time,