dovecot-2.0: quota: Use mailbox_list_created hook to override li...

dovecot at dovecot.org dovecot at dovecot.org
Thu Aug 5 19:08:05 EEST 2010


details:   http://hg.dovecot.org/dovecot-2.0/rev/c92414173290
changeset: 11945:c92414173290
user:      Timo Sirainen <tss at iki.fi>
date:      Thu Aug 05 17:07:35 2010 +0100
description:
quota: Use mailbox_list_created hook to override list methods.

diffstat:

 src/plugins/quota/quota-plugin.c  |   2 +-
 src/plugins/quota/quota-plugin.h  |   3 ++-
 src/plugins/quota/quota-storage.c |  21 ++++++++++-----------
 3 files changed, 13 insertions(+), 13 deletions(-)

diffs (80 lines):

diff -r 2311b5ca4d3f -r c92414173290 src/plugins/quota/quota-plugin.c
--- a/src/plugins/quota/quota-plugin.c	Thu Aug 05 16:59:40 2010 +0100
+++ b/src/plugins/quota/quota-plugin.c	Thu Aug 05 17:07:35 2010 +0100
@@ -12,7 +12,7 @@
 static struct mail_storage_hooks quota_mail_storage_hooks = {
 	.mail_user_created = quota_mail_user_created,
 	.mail_namespaces_created = quota_mail_namespaces_created,
-	.mail_namespace_storage_added = quota_mail_namespace_storage_added,
+	.mailbox_list_created = quota_mailbox_list_created,
 	.mailbox_allocated = quota_mailbox_allocated,
 	.mail_allocated = quota_mail_allocated
 };
diff -r 2311b5ca4d3f -r c92414173290 src/plugins/quota/quota-plugin.h
--- a/src/plugins/quota/quota-plugin.h	Thu Aug 05 16:59:40 2010 +0100
+++ b/src/plugins/quota/quota-plugin.h	Thu Aug 05 17:07:35 2010 +0100
@@ -6,6 +6,7 @@
 
 struct module;
 struct mailbox;
+struct mailbox_list;
 struct mail;
 
 #define QUOTA_USER_CONTEXT(obj) \
@@ -22,7 +23,7 @@
 extern MODULE_CONTEXT_DEFINE(quota_user_module, &mail_user_module_register);
 
 void quota_mail_user_created(struct mail_user *user);
-void quota_mail_namespace_storage_added(struct mail_namespace *ns);
+void quota_mailbox_list_created(struct mailbox_list *list);
 void quota_mail_namespaces_created(struct mail_namespace *namespaces);
 void quota_mailbox_allocated(struct mailbox *box);
 void quota_mail_allocated(struct mail *mail);
diff -r 2311b5ca4d3f -r c92414173290 src/plugins/quota/quota-storage.c
--- a/src/plugins/quota/quota-storage.c	Thu Aug 05 16:59:40 2010 +0100
+++ b/src/plugins/quota/quota-storage.c	Thu Aug 05 17:07:35 2010 +0100
@@ -469,23 +469,22 @@
 	return NULL;
 }
 
-void quota_mail_namespace_storage_added(struct mail_namespace *ns)
+void quota_mailbox_list_created(struct mailbox_list *list)
 {
-	struct mailbox_list *list = ns->list;
 	struct quota_mailbox_list *qlist;
 	struct quota *quota = NULL;
 	struct quota_root *root;
 	bool add;
 
 	/* see if we have a quota explicitly defined for this namespace */
-	quota = quota_get_mail_user_quota(ns->user);
-	root = quota_find_root_for_ns(quota, ns);
+	quota = quota_get_mail_user_quota(list->ns->user);
+	root = quota_find_root_for_ns(quota, list->ns);
 	if (root != NULL)
-		root->ns = ns;
+		root->ns = list->ns;
 
-	if ((ns->flags & NAMESPACE_FLAG_NOQUOTA) != 0)
+	if ((list->ns->flags & NAMESPACE_FLAG_NOQUOTA) != 0)
 		add = FALSE;
-	else if (ns->owner == NULL) {
+	else if (list->ns->owner == NULL) {
 		/* public namespace - add quota only if namespace is
 		   explicitly defined for it */
 		add = root != NULL;
@@ -503,10 +502,10 @@
 		MODULE_CONTEXT_SET(list, quota_mailbox_list_module, qlist);
 
 		/* register to owner's quota roots */
-		quota = ns->owner != NULL ?
-			quota_get_mail_user_quota(ns->owner) :
-			quota_get_mail_user_quota(ns->user);
-		quota_add_user_namespace(quota, ns);
+		quota = list->ns->owner != NULL ?
+			quota_get_mail_user_quota(list->ns->owner) :
+			quota_get_mail_user_quota(list->ns->user);
+		quota_add_user_namespace(quota, list->ns);
 	}
 }
 


More information about the dovecot-cvs mailing list