dovecot-2.2: lib-storage: Added mail_user->admin flag.

dovecot at dovecot.org dovecot at dovecot.org
Sun Dec 8 21:26:49 EET 2013


details:   http://hg.dovecot.org/dovecot-2.2/rev/3e8f300175bb
changeset: 17044:3e8f300175bb
user:      Timo Sirainen <tss at iki.fi>
date:      Sun Dec 08 21:22:38 2013 +0200
description:
lib-storage: Added mail_user->admin flag.
The previous admin-flag used to mix up "admin user" and "admin tool", while
this new purpose only means "admin user".

diffstat:

 src/lib-storage/mail-storage-service.c |  5 +++++
 src/lib-storage/mail-user.h            |  2 ++
 2 files changed, 7 insertions(+), 0 deletions(-)

diffs (41 lines):

diff -r 773e9ce608ed -r 3e8f300175bb src/lib-storage/mail-storage-service.c
--- a/src/lib-storage/mail-storage-service.c	Sun Dec 08 21:13:22 2013 +0200
+++ b/src/lib-storage/mail-storage-service.c	Sun Dec 08 21:22:38 2013 +0200
@@ -83,6 +83,7 @@
 	struct setting_parser_context *set_parser;
 
 	unsigned int anonymous:1;
+	unsigned int admin:1;
 };
 
 struct module *mail_storage_service_modules = NULL;
@@ -277,6 +278,9 @@
 #endif
 		} else if (strncmp(line, "auth_token=", 11) == 0) {
 			user->auth_token = p_strdup(user->pool, line+11);
+		} else if (strncmp(line, "admin=", 6) == 0) {
+			user->admin = line[6] == 'y' || line[6] == 'Y' ||
+				line[6] == '1';
 		} else T_BEGIN {
 			ret = set_line(ctx, user, line);
 		} T_END;
@@ -621,6 +625,7 @@
 	mail_user->uid = priv->uid == (uid_t)-1 ? geteuid() : priv->uid;
 	mail_user->gid = priv->gid == (gid_t)-1 ? getegid() : priv->gid;
 	mail_user->anonymous = user->anonymous;
+	mail_user->admin = user->admin;
 	mail_user->auth_token = p_strdup(mail_user->pool, user->auth_token);
 	
 	mail_set = mail_user_set_get_storage_set(mail_user);
diff -r 773e9ce608ed -r 3e8f300175bb src/lib-storage/mail-user.h
--- a/src/lib-storage/mail-user.h	Sun Dec 08 21:13:22 2013 +0200
+++ b/src/lib-storage/mail-user.h	Sun Dec 08 21:22:38 2013 +0200
@@ -70,6 +70,8 @@
 	unsigned int attr_dict_failed:1;
 	/* We're deinitializing the user */
 	unsigned int deinitializing:1;
+	/* Enable administrator user commands for the user */
+	unsigned int admin:1;
 };
 
 struct mail_user_module_register {


More information about the dovecot-cvs mailing list