dovecot-1.2: Added namespace owner username to struct mail_names...

dovecot at dovecot.org dovecot at dovecot.org
Fri Nov 21 17:42:04 EET 2008


details:   http://hg.dovecot.org/dovecot-1.2/rev/027a61241ebb
changeset: 8465:027a61241ebb
user:      Timo Sirainen <tss at iki.fi>
date:      Fri Nov 21 17:41:30 2008 +0200
description:
Added namespace owner username to struct mail_namespace.

diffstat:

3 files changed, 8 insertions(+), 3 deletions(-)
src/lib-storage/index/shared/shared-storage.c |    1 +
src/lib-storage/mail-namespace.c              |    8 ++++++--
src/lib-storage/mail-namespace.h              |    2 +-

diffs (63 lines):

diff -r 75d2b3b5b367 -r 027a61241ebb src/lib-storage/index/shared/shared-storage.c
--- a/src/lib-storage/index/shared/shared-storage.c	Fri Nov 21 17:21:56 2008 +0200
+++ b/src/lib-storage/index/shared/shared-storage.c	Fri Nov 21 17:41:30 2008 +0200
@@ -269,6 +269,7 @@ int shared_storage_get_namespace(struct 
 	ns->type = NAMESPACE_SHARED;
 	ns->user = user;
 	ns->prefix = i_strdup(str_c(prefix));
+	ns->owner = i_strdup(userdomain);
 	ns->flags = NAMESPACE_FLAG_LIST_PREFIX | NAMESPACE_FLAG_HIDDEN |
 		NAMESPACE_FLAG_AUTOCREATED;
 	ns->sep = _storage->ns->sep;
diff -r 75d2b3b5b367 -r 027a61241ebb src/lib-storage/mail-namespace.c
--- a/src/lib-storage/mail-namespace.c	Fri Nov 21 17:21:56 2008 +0200
+++ b/src/lib-storage/mail-namespace.c	Fri Nov 21 17:41:30 2008 +0200
@@ -29,6 +29,7 @@ void mail_namespace_init_storage(struct 
 
 static void mail_namespace_free(struct mail_namespace *ns)
 {
+	i_free(ns->owner);
 	i_free(ns->prefix);
 	i_free(ns);
 }
@@ -60,9 +61,10 @@ namespace_add_env(const char *data, unsi
 	if (getenv(t_strdup_printf("NAMESPACE_%u_SUBSCRIPTIONS", num)) != NULL)
 		ns->flags |= NAMESPACE_FLAG_SUBSCRIPTIONS;
 
-	if (type == NULL || *type == '\0' || strncmp(type, "private", 7) == 0)
+	if (type == NULL || *type == '\0' || strncmp(type, "private", 7) == 0) {
 		ns->type = NAMESPACE_PRIVATE;
-	else if (strncmp(type, "shared", 6) == 0)
+		ns->owner = i_strdup(user->username);
+	} else if (strncmp(type, "shared", 6) == 0)
 		ns->type = NAMESPACE_SHARED;
 	else if (strncmp(type, "public", 6) == 0)
 		ns->type = NAMESPACE_PUBLIC;
@@ -242,6 +244,7 @@ int mail_namespaces_init(struct mail_use
 	}
 
 	ns = i_new(struct mail_namespace, 1);
+	ns->owner = i_strdup(user->username);
 	ns->type = NAMESPACE_PRIVATE;
 	ns->flags = NAMESPACE_FLAG_INBOX | NAMESPACE_FLAG_LIST_PREFIX |
 		NAMESPACE_FLAG_SUBSCRIPTIONS;
@@ -277,6 +280,7 @@ mail_namespaces_init_empty(struct mail_u
 	ns = i_new(struct mail_namespace, 1);
 	ns->user = user;
 	ns->prefix = i_strdup("");
+	ns->owner = i_strdup(user->username);
 	ns->flags = NAMESPACE_FLAG_INBOX | NAMESPACE_FLAG_LIST_PREFIX |
 		NAMESPACE_FLAG_SUBSCRIPTIONS;
 	user->namespaces = ns;
diff -r 75d2b3b5b367 -r 027a61241ebb src/lib-storage/mail-namespace.h
--- a/src/lib-storage/mail-namespace.h	Fri Nov 21 17:21:56 2008 +0200
+++ b/src/lib-storage/mail-namespace.h	Fri Nov 21 17:41:30 2008 +0200
@@ -38,7 +38,7 @@ struct mail_namespace {
 	char sep, real_sep, sep_str[3];
 	enum namespace_flags flags;
 
-	char *prefix;
+	char *prefix, *owner;
 	size_t prefix_len;
 
 	struct mail_user *user;


More information about the dovecot-cvs mailing list