]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
mail-storage: Add mail_storage_settings_init_ssl_client_settings
authorAki Tuomi <aki.tuomi@dovecot.fi>
Thu, 15 Nov 2018 12:40:46 +0000 (14:40 +0200)
committerVille Savolainen <ville.savolainen@dovecot.fi>
Thu, 21 Mar 2019 08:02:45 +0000 (10:02 +0200)
Simplifies following commits

src/lib-storage/mail-storage-settings.c
src/lib-storage/mail-storage-settings.h

index 1a26908e4f39fdda4f3f2d30dff0ae402b31b739..232d0412a3b6e9d6b09958d7ea4371497ea3a2e8 100644 (file)
@@ -14,6 +14,7 @@
 #include "mail-namespace.h"
 #include "mail-storage-private.h"
 #include "mail-storage-settings.h"
+#include "iostream-ssl.h"
 
 #include <stddef.h>
 
@@ -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;
+}
index c5a4dece01649fce89aa5dbd8f8826eca4d8641e..9c54a2678d7102b8b4e69d28a3d5d93bf0babbb1 100644 (file)
@@ -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