]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
doveadm: Add doveadm_ssl setting
authorAki Tuomi <aki.tuomi@open-xchange.com>
Tue, 15 Oct 2019 11:33:25 +0000 (14:33 +0300)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Thu, 17 Oct 2019 07:40:51 +0000 (10:40 +0300)
src/doveadm/doveadm-mail-server.c
src/doveadm/doveadm-settings.c
src/doveadm/doveadm-settings.h

index 10f372e3b1ca58e41e3b6a5e0d2cf91db44d041b..0e6f5c2077862e48ae660a9613a28d868dd1f86a 100644 (file)
@@ -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);
 
index ba6a5d0a4a959936eeab9528d3be869c890e54f5..6bd6c3b4e67e9476e30f2b79145eea998a87c6fb 100644 (file)
@@ -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 = "",
index 7b9f04fe0e0468f4a0aac4365963dfe211f3f2b5..defdb404e405cbe8f6d8cf4d19d9ed29bc4f7cf3 100644 (file)
@@ -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;