From: Aki Tuomi Date: Tue, 15 Oct 2019 11:33:25 +0000 (+0300) Subject: doveadm: Add doveadm_ssl setting X-Git-Tag: 2.3.9~98 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ed6cfb31ea0a6241d7080fa2b55a8d79203a375d;p=thirdparty%2Fdovecot%2Fcore.git doveadm: Add doveadm_ssl setting --- diff --git a/src/doveadm/doveadm-mail-server.c b/src/doveadm/doveadm-mail-server.c index 10f372e3b1..0e6f5c2077 100644 --- a/src/doveadm/doveadm-mail-server.c +++ b/src/doveadm/doveadm-mail-server.c @@ -198,6 +198,11 @@ doveadm_mail_server_user_get_host(struct doveadm_mail_cmd_context *ctx, if (ctx->set->doveadm_port == 0) return 0; + if (strcmp(ctx->set->doveadm_ssl, "ssl") == 0) + *ssl_flags_r |= PROXY_SSL_FLAG_YES; + else if (strcmp(ctx->set->doveadm_ssl, "starttls") == 0) + *ssl_flags_r |= PROXY_SSL_FLAG_YES | PROXY_SSL_FLAG_STARTTLS; + /* make sure we have an auth connection */ mail_storage_service_init_settings(ctx->storage_service, input); diff --git a/src/doveadm/doveadm-settings.c b/src/doveadm/doveadm-settings.c index ba6a5d0a4a..6bd6c3b4e6 100644 --- a/src/doveadm/doveadm-settings.c +++ b/src/doveadm/doveadm-settings.c @@ -66,6 +66,7 @@ static const struct setting_define doveadm_setting_defines[] = { DEF(SET_STR, doveadm_socket_path), DEF(SET_UINT, doveadm_worker_count), DEF(SET_IN_PORT, doveadm_port), + DEF(SET_ENUM, doveadm_ssl), { SET_ALIAS, "doveadm_proxy_port", 0, NULL }, DEF(SET_STR, doveadm_username), DEF(SET_STR, doveadm_password), @@ -95,6 +96,7 @@ const struct doveadm_settings doveadm_default_settings = { .doveadm_socket_path = "doveadm-server", .doveadm_worker_count = 0, .doveadm_port = 0, + .doveadm_ssl = "no:ssl:starttls", .doveadm_username = "doveadm", .doveadm_password = "", .doveadm_allowed_commands = "", diff --git a/src/doveadm/doveadm-settings.h b/src/doveadm/doveadm-settings.h index 7b9f04fe0e..defdb404e4 100644 --- a/src/doveadm/doveadm-settings.h +++ b/src/doveadm/doveadm-settings.h @@ -20,6 +20,7 @@ struct doveadm_settings { const char *doveadm_socket_path; unsigned int doveadm_worker_count; in_port_t doveadm_port; + const char *doveadm_ssl; const char *doveadm_username; const char *doveadm_password; const char *doveadm_allowed_commands;