]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
doveadm user: If username is changed by userdb lookup, return it.
authorTimo Sirainen <tss@iki.fi>
Fri, 16 Jan 2015 23:19:42 +0000 (01:19 +0200)
committerTimo Sirainen <tss@iki.fi>
Fri, 16 Jan 2015 23:19:42 +0000 (01:19 +0200)
src/doveadm/doveadm-auth.c

index 900f3470aa2c91353c8594f6218f2012d0d409f5..b8bdcc485e56e929095d0504ed1cc20becd888dd 100644 (file)
@@ -48,14 +48,14 @@ cmd_user_input(struct auth_master_connection *conn,
 {
        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 @@ cmd_user_input(struct auth_master_connection *conn,
        } 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 @@ static int cmd_user_mail_input(struct mail_storage_service_ctx *storage_service,
                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);