Mercurial > dovecot > core-2.2
changeset 20782:f2f0495af580
doveadm-import: Use target user as source user
This is done to avoid spurious error messages
caused by being ran as root.
author | Aki Tuomi <aki.tuomi@dovecot.fi> |
---|---|
date | Thu, 29 Sep 2016 10:15:24 +0300 |
parents | 94ec056b78fb |
children | d4e87f66fdea |
files | src/doveadm/doveadm-mail-import.c |
diffstat | 1 files changed, 4 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/doveadm/doveadm-mail-import.c Wed Sep 28 13:34:46 2016 +0300 +++ b/src/doveadm/doveadm-mail-import.c Thu Sep 29 10:15:24 2016 +0300 @@ -153,7 +153,7 @@ return ret; } -static void cmd_import_init_source_user(struct import_cmd_context *ctx) +static void cmd_import_init_source_user(struct import_cmd_context *ctx, struct mail_user *dest_user) { struct mail_storage_service_input input; struct mail_storage_service_user *service_user; @@ -163,10 +163,10 @@ /* create a user for accessing the source storage */ memset(&input, 0, sizeof(input)); input.module = "mail"; - input.username = "doveadm"; + input.username = dest_user->username; + input.flags_override_add = MAIL_STORAGE_SERVICE_FLAG_NO_NAMESPACES | MAIL_STORAGE_SERVICE_FLAG_NO_RESTRICT_ACCESS; - input.flags_override_remove = MAIL_STORAGE_SERVICE_FLAG_USERDB_LOOKUP; if (mail_storage_service_lookup_next(ctx->ctx.storage_service, &input, &service_user, &user, &error) < 0) i_fatal("Import user initialization failed: %s", error); @@ -189,7 +189,7 @@ int ret = 0; if (ctx->src_user == NULL) - cmd_import_init_source_user(ctx); + cmd_import_init_source_user(ctx, user); iter = doveadm_mailbox_list_iter_init(_ctx, ctx->src_user, _ctx->search_args, iter_flags);