return NULL;
}
+static bool
+config_skip_key(struct config_parser_context *ctx, const char *key)
+{
+ if (ctx->skip_ssl_server_settings &&
+ (strcmp(key, "ssl_cert") == 0 ||
+ strcmp(key, "ssl_key") == 0 ||
+ strcmp(key, "ssl_ca") == 0 ||
+ strcmp(key, "ssl_verify_client_cert") == 0)) {
+ /* FIXME: temporary kludge - remove later */
+ return TRUE;
+ }
+ return FALSE;
+}
+
static int config_write_keyvariable(struct config_parser_context *ctx,
const char *key, const char *value,
string_t *str)
case CONFIG_LINE_TYPE_KEYVALUE:
case CONFIG_LINE_TYPE_KEYFILE:
case CONFIG_LINE_TYPE_KEYVARIABLE:
+ if (config_skip_key(ctx, key))
+ break;
str_append(ctx->str, key);
config_parser_check_warnings(ctx, key);
str_append_c(ctx->str, '=');
ctx.path = path;
ctx.hide_errors = fd == -1 ||
(flags & CONFIG_PARSE_FLAG_HIDE_ERRORS) != 0;
+ ctx.skip_ssl_server_settings =
+ (flags & CONFIG_PARSE_FLAG_SKIP_SSL_SERVER) != 0;
for (count = 0; all_roots[count] != NULL; count++) ;
ctx.root_parsers =
enum config_parse_flags {
CONFIG_PARSE_FLAG_EXPAND_VALUES = BIT(0),
CONFIG_PARSE_FLAG_HIDE_ERRORS = BIT(1),
+ CONFIG_PARSE_FLAG_SKIP_SSL_SERVER = BIT(2), /* FIXME: temporary kludge - remove later */
};
struct config_module_parser {
flags |= CONFIG_PARSE_FLAG_EXPAND_VALUES;
if (disable_check_settings)
flags |= CONFIG_PARSE_FLAG_HIDE_ERRORS;
+ if (null_strcmp(getenv("DOVECONF_SERVICE"), "doveadm") == 0) {
+ /* FIXME: temporary kludge - remove later */
+ flags |= CONFIG_PARSE_FLAG_SKIP_SSL_SERVER;
+ }
if ((ret = config_parse_file(dump_defaults ? NULL : config_path,
flags, &error)) == 0 &&
access(EXAMPLE_CONFIG_DIR, X_OK) == 0) {