fflush(stdout);
}
master_service_init_finish(master_service);
- set_config_binary(TRUE);
+ settings_set_config_binary(SETTINGS_BINARY_DOVECONF);
config_parse_load_modules();
if (print_banners) {
restrict_access_by_env(RESTRICT_ACCESS_FLAG_ALLOW_ROOT, NULL);
restrict_access_allow_coredumps(TRUE);
- set_config_binary(TRUE);
+ settings_set_config_binary(SETTINGS_BINARY_CONFIG);
config_parse_load_modules();
config_connections_init();
return FALSE;
/* doveconf / config checks dovecot_storage_version separately.
This check shouldn't fail e.g. "doveconf -d" command. */
- if (!is_config_binary() &&
+ if (settings_get_config_binary() == SETTINGS_BINARY_OTHER &&
!storage_version_check(set->dovecot_storage_version, error_r))
return FALSE;
return TRUE;
return str_c(str);
}
-static bool config_binary = FALSE;
+static enum settings_binary config_binary = SETTINGS_BINARY_OTHER;
-bool is_config_binary(void)
+void settings_set_config_binary(enum settings_binary binary)
{
- return config_binary;
+ config_binary = binary;
}
-void set_config_binary(bool value)
+enum settings_binary settings_get_config_binary(void)
{
- config_binary = value;
+ return config_binary;
}
SETTINGS_PARSER_FLAG_INSERT_FILTERS = 0x04,
};
+enum settings_binary {
+ SETTINGS_BINARY_OTHER,
+ SETTINGS_BINARY_CONFIG,
+ SETTINGS_BINARY_DOVECONF
+};
+
struct setting_parser_context;
/* If a string setting value has this pointer, it means the setting isn't
strcmp(value, SET_VALUE_INFINITE) == 0;
}
-void set_config_binary(bool value);
-bool is_config_binary(void);
+void settings_set_config_binary(enum settings_binary binary);
+enum settings_binary settings_get_config_binary(void);
#endif
{
struct ssl_settings *set = _set;
- if (is_config_binary()) T_BEGIN {
+ if (settings_get_config_binary() != SETTINGS_BINARY_OTHER) T_BEGIN {
const char *proto = t_str_ucase(set->ssl_min_protocol);
if (strstr(proto, "ANY") != NULL)
i_warning("ssl_min_protocol=ANY is used - This is "