dovecot-2.2: doveadm user: If username is changed by userdb look...

dovecot at dovecot.org dovecot at dovecot.org
Fri Jan 16 23:20:57 UTC 2015


details:   http://hg.dovecot.org/dovecot-2.2/rev/ec0518476003
changeset: 18161:ec0518476003
user:      Timo Sirainen <tss at iki.fi>
date:      Sat Jan 17 01:19:42 2015 +0200
description:
doveadm user: If username is changed by userdb lookup, return it.

diffstat:

 src/doveadm/doveadm-auth.c |  8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diffs (38 lines):

diff -r 48d2bc84e047 -r ec0518476003 src/doveadm/doveadm-auth.c
--- a/src/doveadm/doveadm-auth.c	Sat Jan 17 00:32:10 2015 +0200
+++ b/src/doveadm/doveadm-auth.c	Sat Jan 17 01:19:42 2015 +0200
@@ -48,14 +48,14 @@
 {
 	const char *lookup_name = userdb ? "userdb lookup" : "passdb lookup";
 	pool_t pool;
-	const char *username, *const *fields, *p;
+	const char *updated_username = NULL, *const *fields, *p;
 	int ret;
 
 	pool = pool_alloconly_create("auth master lookup", 1024);
 
 	if (userdb) {
 		ret = auth_master_user_lookup(conn, input->username, &input->info,
-					      pool, &username, &fields);
+					      pool, &updated_username, &fields);
 	} else {
 		ret = auth_master_pass_lookup(conn, input->username, &input->info,
 					      pool, &fields);
@@ -82,6 +82,8 @@
 	} else {
 		printf("%s: %s\n", userdb ? "userdb" : "passdb", input->username);
 
+		if (updated_username != NULL)
+			printf("  %-10s: %s\n", "user", updated_username);
 		for (; *fields; fields++) {
 			p = strchr(*fields, '=');
 			if (p == NULL)
@@ -388,6 +390,8 @@
 		return 0;
 	}
 
+	if (strcmp(input->username, user->username) != 0)
+		cmd_user_mail_input_field("user", user->username, show_field);
 	cmd_user_mail_input_field("uid", user->set->mail_uid, show_field);
 	cmd_user_mail_input_field("gid", user->set->mail_gid, show_field);
 	cmd_user_mail_input_field("home", user->set->mail_home, show_field);


More information about the dovecot-cvs mailing list