]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Add mail_storage_service_user_init_ssl_client_settings()
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Thu, 12 Jan 2023 14:17:41 +0000 (16:17 +0200)
committerTimo Sirainen <timo.sirainen@open-xchange.com>
Mon, 20 Nov 2023 12:20:16 +0000 (14:20 +0200)
src/lib-storage/mail-storage-service.c
src/lib-storage/mail-storage-service.h

index b8c3519576717b318ef854d4f89b0a666fd3bb89..3f7b893a73aa88ddd41f1004ad590cddb50cda9b 100644 (file)
@@ -1741,6 +1741,24 @@ mail_storage_service_user_get_ssl_settings(struct mail_storage_service_user *use
        return user->ssl_set;
 }
 
+int mail_storage_service_user_init_ssl_client_settings(
+       struct mail_storage_service_user *user, pool_t pool,
+       struct ssl_iostream_settings *ssl_set_r, const char **error_r)
+{
+       struct setting_parser_context *set_parser;
+       const struct master_service_ssl_settings *ssl_set;
+
+       set_parser = mail_storage_service_user_get_settings_parser(user);
+       if (master_service_settings_parser_get(user->event,
+                       set_parser, &master_service_ssl_setting_parser_info,
+                       0, &ssl_set, error_r) < 0)
+               return -1;
+       master_service_ssl_client_settings_to_iostream_set(ssl_set, pool,
+                                                          ssl_set_r);
+       master_service_settings_free(ssl_set);
+       return 0;
+}
+
 struct mail_storage_service_ctx *
 mail_storage_service_user_get_service_ctx(struct mail_storage_service_user *user)
 {
index 6ec111efaf968d85461b5d2c0824f20c6a68b898..2e997713ad57a96c48e24dd2e9c8ada909a331cf 100644 (file)
@@ -4,6 +4,7 @@
 #include "net.h"
 
 struct master_service;
+struct ssl_iostream_settings;
 struct mail_user;
 struct setting_parser_context;
 struct setting_parser_info;
@@ -159,6 +160,9 @@ struct setting_parser_context *
 mail_storage_service_user_get_settings_parser(struct mail_storage_service_user *user);
 const struct master_service_ssl_settings *
 mail_storage_service_user_get_ssl_settings(struct mail_storage_service_user *user);
+int mail_storage_service_user_init_ssl_client_settings(
+       struct mail_storage_service_user *user, pool_t pool,
+       struct ssl_iostream_settings *ssl_set_r, const char **error_r);
 struct mail_storage_service_ctx *
 mail_storage_service_user_get_service_ctx(struct mail_storage_service_user *user);
 pool_t mail_storage_service_user_get_pool(struct mail_storage_service_user *user);