]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
master: Split off service_is_enabled()
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Tue, 25 Jan 2022 10:18:30 +0000 (11:18 +0100)
committerTimo Sirainen <timo.sirainen@open-xchange.com>
Tue, 8 Feb 2022 09:48:24 +0000 (10:48 +0100)
src/master/master-settings.c

index 7cfaa35a30e51de7344588c4cb726fa0983066f0..283ff905105650a4a2dabc49ba278f8489e20a15 100644 (file)
@@ -408,6 +408,14 @@ service_get_client_limit(struct master_settings *set, const char *name)
        return set->default_client_limit;
 }
 
+static bool service_is_enabled(const struct master_settings *set,
+                              struct service_settings *service)
+{
+       return service->protocol[0] == '\0' ||
+               str_array_find((const char **)set->protocols_split,
+                              service->protocol);
+}
+
 static bool
 master_settings_verify(void *_set, pool_t pool, const char **error_r)
 {
@@ -513,9 +521,7 @@ master_settings_verify(void *_set, pool_t pool, const char **error_r)
        for (i = 0; i < count; i++) {
                struct service_settings *service = services[i];
 
-               if (*service->protocol != '\0' &&
-                   !str_array_find((const char **)set->protocols_split,
-                                   service->protocol)) {
+               if (!service_is_enabled(set, service)) {
                        /* protocol not enabled, ignore its settings */
                        continue;
                }