dovecot-2.2: lib-storage: Added mail_user_init_fs_settings()
dovecot at dovecot.org
dovecot at dovecot.org
Sat Jan 17 00:32:38 UTC 2015
details: http://hg.dovecot.org/dovecot-2.2/rev/a6e51d9098bc
changeset: 18162:a6e51d9098bc
user: Timo Sirainen <tss at iki.fi>
date: Sat Jan 17 02:31:24 2015 +0200
description:
lib-storage: Added mail_user_init_fs_settings()
Also changed mailbox_list_init_fs() to use it internally.
diffstat:
src/lib-storage/mail-user.c | 20 ++++++++++++++++++++
src/lib-storage/mail-user.h | 7 +++++++
src/lib-storage/mailbox-list.c | 12 ++----------
3 files changed, 29 insertions(+), 10 deletions(-)
diffs (80 lines):
diff -r ec0518476003 -r a6e51d9098bc src/lib-storage/mail-user.c
--- a/src/lib-storage/mail-user.c Sat Jan 17 01:19:42 2015 +0200
+++ b/src/lib-storage/mail-user.c Sat Jan 17 02:31:24 2015 +0200
@@ -11,6 +11,8 @@
#include "strescape.h"
#include "var-expand.h"
#include "settings-parser.h"
+#include "iostream-ssl.h"
+#include "fs-api.h"
#include "auth-master.h"
#include "master-service.h"
#include "mountpoint-list.h"
@@ -536,3 +538,21 @@
user2->session_id = p_strdup(user2->pool, user->session_id);
return user2;
}
+
+void mail_user_init_fs_settings(struct mail_user *user,
+ struct fs_settings *fs_set,
+ struct ssl_iostream_settings *ssl_set)
+{
+ const struct mail_storage_settings *mail_set =
+ mail_user_set_get_storage_set(user);
+
+ fs_set->username = user->username;
+ fs_set->session_id = user->session_id;
+ fs_set->base_dir = user->set->base_dir;
+ fs_set->temp_dir = user->set->mail_temp_dir;
+ fs_set->debug = user->mail_debug;
+
+ fs_set->ssl_client_set = ssl_set;
+ ssl_set->ca_dir = mail_set->ssl_client_ca_dir;
+ ssl_set->ca_file = mail_set->ssl_client_ca_file;
+}
diff -r ec0518476003 -r a6e51d9098bc src/lib-storage/mail-user.h
--- a/src/lib-storage/mail-user.h Sat Jan 17 01:19:42 2015 +0200
+++ b/src/lib-storage/mail-user.h Sat Jan 17 02:31:24 2015 +0200
@@ -6,6 +6,8 @@
struct module;
struct mail_user;
+struct fs_settings;
+struct ssl_iostream_settings;
struct mail_user_vfuncs {
void (*deinit)(struct mail_user *user);
@@ -159,4 +161,9 @@
struct mail_storage *
mail_user_get_storage_class(struct mail_user *user, const char *name);
+/* Initialize fs_settings from mail_user settings. */
+void mail_user_init_fs_settings(struct mail_user *user,
+ struct fs_settings *fs_set,
+ struct ssl_iostream_settings *ssl_set);
+
#endif
diff -r ec0518476003 -r a6e51d9098bc src/lib-storage/mailbox-list.c
--- a/src/lib-storage/mailbox-list.c Sat Jan 17 01:19:42 2015 +0200
+++ b/src/lib-storage/mailbox-list.c Sat Jan 17 02:31:24 2015 +0200
@@ -1830,18 +1830,10 @@
struct ssl_iostream_settings ssl_set;
memset(&ssl_set, 0, sizeof(ssl_set));
- ssl_set.ca_dir = list->mail_set->ssl_client_ca_dir;
- ssl_set.ca_file = list->mail_set->ssl_client_ca_file;
-
memset(&fs_set, 0, sizeof(fs_set));
- fs_set.username = list->ns->user->username;
- fs_set.session_id = list->ns->user->session_id;
+ mail_user_init_fs_settings(list->ns->user, &fs_set, &ssl_set);
+ fs_set.root_path = root_dir;
fs_set.temp_file_prefix = mailbox_list_get_global_temp_prefix(list);
- fs_set.base_dir = list->ns->user->set->base_dir;
- fs_set.temp_dir = list->ns->user->set->mail_temp_dir;
- fs_set.ssl_client_set = &ssl_set;
- fs_set.root_path = root_dir;
- fs_set.debug = list->ns->user->mail_debug;
return fs_init(driver, args, &fs_set, fs_r, error_r);
}
More information about the dovecot-cvs
mailing list