DEF(STR, ssl_client_key),
DEF(STR, ssl_dh),
DEF(STR, ssl_cipher_list),
+ DEF(STR, ssl_cipher_suites),
DEF(STR, ssl_curve_list),
DEF(STR, ssl_min_protocol),
DEF(STR, ssl_cert_username_field),
.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_cipher_suites = "", /* Use TLS library provided value */
.ssl_curve_list = "",
.ssl_min_protocol = "TLSv1",
.ssl_cert_username_field = "commonName",
i_zero(set_r);
set_r->min_protocol = p_strdup(pool, ssl_set->ssl_min_protocol);
set_r->cipher_list = p_strdup(pool, ssl_set->ssl_cipher_list);
+ /* leave NULL if empty - let library decide */
+ set_r->ciphersuites = p_strdup_empty(pool, ssl_set->ssl_cipher_suites);
/* NOTE: It's a bit questionable whether ssl_ca should be used for
clients. But at least for now it's needed for login-proxy. */
set_r->ca = p_strdup_empty(pool, ssl_set->ssl_ca);
const char *ssl_client_key;
const char *ssl_dh;
const char *ssl_cipher_list;
+ const char *ssl_cipher_suites;
const char *ssl_curve_list;
const char *ssl_min_protocol;
const char *ssl_cert_username_field;
DEF(STR, ssl_client_cert),
DEF(STR, ssl_client_key),
DEF(STR, ssl_cipher_list),
+ DEF(STR, ssl_cipher_suites),
DEF(STR, ssl_curve_list),
DEF(STR, ssl_min_protocol),
DEF(STR, ssl_crypto_device),
.ssl_client_cert = "",
.ssl_client_key = "",
.ssl_cipher_list = "ALL:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW@STRENGTH",
+ .ssl_cipher_suites = "", /* Use TLS library provided value */
.ssl_curve_list = "",
.ssl_min_protocol = "TLSv1",
.ssl_crypto_device = "",
if (*mail_set->ssl_client_key != '\0')
ssl_set_r->cert.key = mail_set->ssl_client_key;
ssl_set_r->cipher_list = mail_set->ssl_cipher_list;
+ if (*mail_set->ssl_cipher_suites != '\0')
+ ssl_set_r->ciphersuites = mail_set->ssl_cipher_suites;
ssl_set_r->curve_list = mail_set->ssl_curve_list;
ssl_set_r->min_protocol = mail_set->ssl_min_protocol;
ssl_set_r->crypto_device = mail_set->ssl_crypto_device;
const char *ssl_client_cert;
const char *ssl_client_key;
const char *ssl_cipher_list;
+ const char *ssl_cipher_suites;
const char *ssl_curve_list;
const char *ssl_min_protocol;
const char *ssl_crypto_device;