From: Aki Tuomi Date: Thu, 15 Nov 2018 12:40:46 +0000 (+0200) Subject: mail-storage: Add mail_storage_settings_init_ssl_client_settings X-Git-Tag: 2.3.6~77 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=da77d038359b6b31a70d70cfead5722f94dc895a;p=thirdparty%2Fdovecot%2Fcore.git mail-storage: Add mail_storage_settings_init_ssl_client_settings Simplifies following commits --- diff --git a/src/lib-storage/mail-storage-settings.c b/src/lib-storage/mail-storage-settings.c index 1a26908e4f..232d0412a3 100644 --- a/src/lib-storage/mail-storage-settings.c +++ b/src/lib-storage/mail-storage-settings.c @@ -14,6 +14,7 @@ #include "mail-namespace.h" #include "mail-storage-private.h" #include "mail-storage-settings.h" +#include "iostream-ssl.h" #include @@ -795,3 +796,23 @@ bool mail_user_set_get_postmaster_smtp(const struct mail_user_settings *set, return FALSE; } +void mail_storage_settings_init_ssl_client_settings(const struct mail_storage_settings *mail_set, + struct ssl_iostream_settings *ssl_set_r) +{ + i_zero(ssl_set_r); + if (*mail_set->ssl_client_ca_dir != '\0') + ssl_set_r->ca_dir = mail_set->ssl_client_ca_dir; + if (*mail_set->ssl_client_ca_file != '\0') + ssl_set_r->ca_file = mail_set->ssl_client_ca_file; + if (*mail_set->ssl_client_cert != '\0') + ssl_set_r->cert.cert = mail_set->ssl_client_cert; + 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; + 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; + ssl_set_r->verify_remote_cert = mail_set->ssl_client_require_valid_cert; + ssl_set_r->allow_invalid_cert = !ssl_set_r->verify_remote_cert; + ssl_set_r->verbose = mail_set->verbose_ssl; +} diff --git a/src/lib-storage/mail-storage-settings.h b/src/lib-storage/mail-storage-settings.h index c5a4dece01..9c54a2678d 100644 --- a/src/lib-storage/mail-storage-settings.h +++ b/src/lib-storage/mail-storage-settings.h @@ -157,6 +157,8 @@ extern const struct setting_parser_info mail_storage_setting_parser_info; extern const struct mail_namespace_settings mail_namespace_default_settings; extern const struct mailbox_settings mailbox_default_settings; +struct ssl_iostream_settings; + const void * mail_user_set_get_driver_settings(const struct setting_parser_info *info, const struct mail_user_settings *set, @@ -178,4 +180,7 @@ bool mail_user_set_get_postmaster_smtp(const struct mail_user_settings *set, const struct smtp_address **address_r, const char **error_r); +void mail_storage_settings_init_ssl_client_settings(const struct mail_storage_settings *mail_set, + struct ssl_iostream_settings *ssl_set_r); + #endif