From: Timo Sirainen Date: Thu, 29 Jul 2021 15:02:57 +0000 (+0300) Subject: lib-storage: mail_user_init_ssl_client_settings() - Use master_service_ssl_settings X-Git-Tag: 2.3.17~223 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1e5324b5805bf7299cd8196f7b659fe935f027bd;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: mail_user_init_ssl_client_settings() - Use master_service_ssl_settings This will allow dropping the duplicate SSL settings handling. --- diff --git a/src/lib-storage/mail-storage-service.c b/src/lib-storage/mail-storage-service.c index 3ddf438381..0b29cd5e91 100644 --- a/src/lib-storage/mail-storage-service.c +++ b/src/lib-storage/mail-storage-service.c @@ -1344,8 +1344,7 @@ mail_storage_service_lookup_real(struct mail_storage_service_ctx *ctx, sets = master_service_settings_parser_get_others(master_service, user->set_parser); user->user_set = sets[0]; - user->ssl_set = master_service_ssl_settings_get_from_parser( - master_service, user->set_parser); + user->ssl_set = master_service_ssl_settings_get_from_parser(user->set_parser); user->gid_source = "mail_gid setting"; user->uid_source = "mail_uid setting"; /* Create an event that will be used as the default event for logging. diff --git a/src/lib-storage/mail-user.c b/src/lib-storage/mail-user.c index 8d22edec24..2e36b02744 100644 --- a/src/lib-storage/mail-user.c +++ b/src/lib-storage/mail-user.c @@ -18,6 +18,7 @@ #include "fs-api.h" #include "auth-master.h" #include "master-service.h" +#include "master-service-ssl-settings.h" #include "dict.h" #include "mail-storage-settings.h" #include "mail-storage-private.h" @@ -692,10 +693,18 @@ struct mail_user *mail_user_dup(struct mail_user *user) void mail_user_init_ssl_client_settings(struct mail_user *user, struct ssl_iostream_settings *ssl_set_r) { - const struct mail_storage_settings *mail_set = - mail_user_set_get_storage_set(user); + if (user->_service_user == NULL) { + /* Internal test user that should never actually need any + SSL settings. */ + i_zero(ssl_set_r); + return; + } + + const struct master_service_ssl_settings *ssl_set = + mail_storage_service_user_get_ssl_settings(user->_service_user); - mail_storage_settings_init_ssl_client_settings(mail_set, ssl_set_r); + master_service_ssl_client_settings_to_iostream_set(ssl_set, + pool_datastack_create(), ssl_set_r); } void mail_user_init_fs_settings(struct mail_user *user,