changeset 21152:5fbe42215594

lib-storage: Add mail_namespace_get_driver_settings() and use it. It obsoletes mail_storage_get_driver_settings().
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Mon, 14 Nov 2016 22:43:07 +0100
parents 419ffd3d5f98
children 825f13164bad
files src/lib-storage/index/dbox-multi/mdbox-storage.c src/lib-storage/index/imapc/imapc-storage.c src/lib-storage/index/maildir/maildir-storage.c src/lib-storage/index/mbox/mbox-storage.c src/lib-storage/index/pop3c/pop3c-storage.c src/lib-storage/mail-storage-settings.c src/lib-storage/mail-storage-settings.h
diffstat 7 files changed, 21 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/index/dbox-multi/mdbox-storage.c	Mon Oct 17 09:18:27 2016 -0400
+++ b/src/lib-storage/index/dbox-multi/mdbox-storage.c	Mon Nov 14 22:43:07 2016 +0100
@@ -40,7 +40,7 @@
 	struct mdbox_storage *storage = (struct mdbox_storage *)_storage;
 	const char *dir;
 
-	storage->set = mail_storage_get_driver_settings(_storage);
+	storage->set = mail_namespace_get_driver_settings(ns, _storage);
 	storage->preallocate_space = storage->set->mdbox_preallocate_space;
 
 	if (*ns->list->set.mailbox_dir_name == '\0') {
--- a/src/lib-storage/index/imapc/imapc-storage.c	Mon Oct 17 09:18:27 2016 -0400
+++ b/src/lib-storage/index/imapc/imapc-storage.c	Mon Nov 14 22:43:07 2016 +0100
@@ -348,7 +348,7 @@
 	struct imapc_storage *storage = (struct imapc_storage *)_storage;
 	struct imapc_mailbox_list *imapc_list = NULL;
 
-	storage->set = mail_storage_get_driver_settings(_storage);
+	storage->set = mail_namespace_get_driver_settings(ns, _storage);
 
 	/* serialize all the settings */
 	_storage->unique_root_dir = p_strdup_printf(_storage->pool,
--- a/src/lib-storage/index/maildir/maildir-storage.c	Mon Oct 17 09:18:27 2016 -0400
+++ b/src/lib-storage/index/maildir/maildir-storage.c	Mon Nov 14 22:43:07 2016 +0100
@@ -51,7 +51,7 @@
 	struct mailbox_list *list = ns->list;
 	const char *dir;
 
-	storage->set = mail_storage_get_driver_settings(_storage);
+	storage->set = mail_namespace_get_driver_settings(ns, _storage);
 
 	storage->temp_prefix = p_strdup(_storage->pool,
 					mailbox_list_get_temp_prefix(list));
@@ -604,7 +604,7 @@
 
 	mlist = p_new(list->pool, struct maildir_mailbox_list_context, 1);
 	mlist->module_ctx.super = list->v;
-	mlist->set = mail_storage_get_driver_settings(storage);
+	mlist->set = mail_namespace_get_driver_settings(list->ns, storage);
 
 	list->v.is_internal_name = maildir_is_internal_name;
 	MODULE_CONTEXT_SET(list, maildir_mailbox_list_module, mlist);
--- a/src/lib-storage/index/mbox/mbox-storage.c	Mon Oct 17 09:18:27 2016 -0400
+++ b/src/lib-storage/index/mbox/mbox-storage.c	Mon Nov 14 22:43:07 2016 +0100
@@ -151,7 +151,7 @@
 		return -1;
 	}
 
-	storage->set = mail_storage_get_driver_settings(_storage);
+	storage->set = mail_namespace_get_driver_settings(ns, _storage);
 
 	if (mailbox_list_get_root_path(ns->list, MAILBOX_LIST_PATH_TYPE_INDEX, &dir)) {
 		_storage->temp_path_prefix = p_strconcat(_storage->pool, dir,
@@ -706,7 +706,7 @@
 
 	mlist = p_new(list->pool, struct mbox_mailbox_list, 1);
 	mlist->module_ctx.super = list->v;
-	mlist->set = mail_storage_get_driver_settings(storage);
+	mlist->set = mail_namespace_get_driver_settings(list->ns, storage);
 
 	if (strcmp(list->name, MAILBOX_LIST_NAME_FS) == 0 &&
 	    *list->set.maildir_name == '\0') {
--- a/src/lib-storage/index/pop3c/pop3c-storage.c	Mon Oct 17 09:18:27 2016 -0400
+++ b/src/lib-storage/index/pop3c/pop3c-storage.c	Mon Nov 14 22:43:07 2016 +0100
@@ -31,12 +31,12 @@
 
 static int
 pop3c_storage_create(struct mail_storage *_storage,
-		     struct mail_namespace *ns ATTR_UNUSED,
+		     struct mail_namespace *ns,
 		     const char **error_r)
 {
 	struct pop3c_storage *storage = (struct pop3c_storage *)_storage;
 
-	storage->set = mail_storage_get_driver_settings(_storage);
+	storage->set = mail_namespace_get_driver_settings(ns, _storage);
 	if (storage->set->pop3c_host[0] == '\0') {
 		*error_r = "missing pop3c_host";
 		return -1;
--- a/src/lib-storage/mail-storage-settings.c	Mon Oct 17 09:18:27 2016 -0400
+++ b/src/lib-storage/mail-storage-settings.c	Mon Nov 14 22:43:07 2016 +0100
@@ -326,6 +326,13 @@
 						 storage->name);
 }
 
+const void *mail_namespace_get_driver_settings(struct mail_namespace *ns,
+					       struct mail_storage *storage)
+{
+	return mail_user_set_get_driver_settings(storage->user->set_info,
+						 ns->user_set, storage->name);
+}
+
 const struct dynamic_settings_parser *
 mail_storage_get_dynamic_parsers(pool_t pool)
 {
--- a/src/lib-storage/mail-storage-settings.h	Mon Oct 17 09:18:27 2016 -0400
+++ b/src/lib-storage/mail-storage-settings.h	Mon Nov 14 22:43:07 2016 +0100
@@ -7,6 +7,7 @@
 #define MAIL_STORAGE_SET_DRIVER_NAME "MAIL"
 
 struct mail_user;
+struct mail_namespace;
 struct mail_storage;
 
 struct mail_storage_settings {
@@ -120,8 +121,13 @@
 mail_user_set_get_driver_settings(const struct setting_parser_info *info,
 				  const struct mail_user_settings *set,
 				  const char *driver);
+
 const struct mail_storage_settings *
 mail_user_set_get_storage_set(struct mail_user *user);
+/* Get storage-specific settings, which may be namespace-specific. */
+const void *mail_namespace_get_driver_settings(struct mail_namespace *ns,
+					       struct mail_storage *storage);
+/* FIXME: Obsolete - remove in v2.3 */
 const void *mail_storage_get_driver_settings(struct mail_storage *storage);
 
 const struct dynamic_settings_parser *