#include "mail-namespace.h"
#include "mail-storage-private.h"
#include "mail-storage-settings.h"
+#include "iostream-ssl.h"
#include <stddef.h>
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;
+}
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,
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