From: Stephan Bosch Date: Wed, 28 Feb 2018 17:14:33 +0000 (+0100) Subject: lib-master: Initialize key and certificate for client SSL settings. X-Git-Tag: 2.3.9~2137 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=150a79304d5c02fd0abb6939fd770f1b22095a80;p=thirdparty%2Fdovecot%2Fcore.git lib-master: Initialize key and certificate for client SSL settings. This uses the ssl_client_cert and ssl_client_key settings. --- diff --git a/src/lib-master/master-service-ssl-settings.c b/src/lib-master/master-service-ssl-settings.c index 37e7f80642..2434e3632c 100644 --- a/src/lib-master/master-service-ssl-settings.c +++ b/src/lib-master/master-service-ssl-settings.c @@ -25,6 +25,8 @@ static const struct setting_define master_service_ssl_setting_defines[] = { DEF(SET_STR, ssl_key_password), DEF(SET_STR, ssl_client_ca_file), DEF(SET_STR, ssl_client_ca_dir), + DEF(SET_STR, ssl_client_cert), + DEF(SET_STR, ssl_client_key), DEF(SET_STR, ssl_dh), DEF(SET_STR, ssl_cipher_list), DEF(SET_STR, ssl_curve_list), @@ -54,6 +56,8 @@ static const struct master_service_ssl_settings master_service_ssl_default_setti .ssl_key_password = "", .ssl_client_ca_file = "", .ssl_client_ca_dir = "", + .ssl_client_cert = "", + .ssl_client_key = "", .ssl_dh = "", .ssl_cipher_list = "ALL:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW@STRENGTH", .ssl_curve_list = "", @@ -193,6 +197,8 @@ void master_service_ssl_settings_to_iostream_set( case MASTER_SERVICE_SSL_SETTINGS_TYPE_CLIENT: set_r->ca_file = p_strdup(pool, ssl_set->ssl_client_ca_file); set_r->ca_dir = p_strdup(pool, ssl_set->ssl_client_ca_dir); + set_r->cert.cert = p_strdup_empty(pool, ssl_set->ssl_client_cert); + set_r->cert.key = p_strdup_empty(pool, ssl_set->ssl_client_key); set_r->verify_remote_cert = TRUE; break; } diff --git a/src/lib-master/master-service-ssl-settings.h b/src/lib-master/master-service-ssl-settings.h index 20490ef364..e74a84584c 100644 --- a/src/lib-master/master-service-ssl-settings.h +++ b/src/lib-master/master-service-ssl-settings.h @@ -14,6 +14,8 @@ struct master_service_ssl_settings { const char *ssl_key_password; const char *ssl_client_ca_file; const char *ssl_client_ca_dir; + const char *ssl_client_cert; + const char *ssl_client_key; const char *ssl_dh; const char *ssl_cipher_list; const char *ssl_curve_list;