dovecot-2.2: quota: ns=PREFIX setting was ignored when accessing...

dovecot at dovecot.org dovecot at dovecot.org
Fri Aug 10 05:24:40 EEST 2012


details:   http://hg.dovecot.org/dovecot-2.2/rev/30b0d6b1c581
changeset: 14793:30b0d6b1c581
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Jul 16 18:00:21 2012 +0300
description:
quota: ns=PREFIX setting was ignored when accessing other users' shared mailboxes.

diffstat:

 src/plugins/quota/quota-private.h |  5 ++++-
 src/plugins/quota/quota.c         |  2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)

diffs (27 lines):

diff -r abaafe4cc439 -r 30b0d6b1c581 src/plugins/quota/quota-private.h
--- a/src/plugins/quota/quota-private.h	Mon Jul 16 17:40:45 2012 +0300
+++ b/src/plugins/quota/quota-private.h	Mon Jul 16 18:00:21 2012 +0300
@@ -101,7 +101,10 @@
 	/* this quota root applies only to this namespace. it may also be
 	   a public namespace without an owner. */
 	struct mail_namespace *ns;
-	/* this is set in quota init(), because namespaces aren't known yet */
+	/* this is set in quota init(), because namespaces aren't known yet.
+	   when accessing shared users the ns_prefix may be non-NULL but
+	   ns=NULL, so when checking if quota root applies only to a specific
+	   namespace use the ns_prefix!=NULL check. */
 	const char *ns_prefix;
 
 	/* initially the same as set->default_rule.*_limit, but some backends
diff -r abaafe4cc439 -r 30b0d6b1c581 src/plugins/quota/quota.c
--- a/src/plugins/quota/quota.c	Mon Jul 16 17:40:45 2012 +0300
+++ b/src/plugins/quota/quota.c	Mon Jul 16 18:00:21 2012 +0300
@@ -769,7 +769,7 @@
 	    (storage->class_flags & MAIL_STORAGE_CLASS_FLAG_NOQUOTA) != 0)
 		return FALSE;
 
-	if (root->ns != NULL) {
+	if (root->ns_prefix != NULL) {
 		if (root->ns != ns)
 			return FALSE;
 	} else {


More information about the dovecot-cvs mailing list