From: Timo Sirainen Date: Wed, 23 Mar 2016 01:08:06 +0000 (+0900) Subject: doveadm: Getting user from USER environment wasn't done in the right place. X-Git-Tag: 2.2.23~21 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9112e6de550656e2434e05e705d15887e6d4df93;p=thirdparty%2Fdovecot%2Fcore.git doveadm: Getting user from USER environment wasn't done in the right place. doveadm_mail_cmdline_init() is also called when parsing commands from doveadm-server. The USER environment is supposed to be read only from doveadm command line. --- diff --git a/src/doveadm/doveadm-mail.c b/src/doveadm/doveadm-mail.c index 4ace372ef6..bcc03978a5 100644 --- a/src/doveadm/doveadm-mail.c +++ b/src/doveadm/doveadm-mail.c @@ -557,7 +557,6 @@ doveadm_mail_cmdline_init(const struct doveadm_mail_cmd *cmd) ctx->service_flags |= MAIL_STORAGE_SERVICE_FLAG_NO_LOG_INIT; if (doveadm_debug) ctx->service_flags |= MAIL_STORAGE_SERVICE_FLAG_DEBUG; - ctx->cur_username = getenv("USER"); return ctx; } @@ -933,7 +932,7 @@ doveadm_cmd_ver2_to_mail_cmd_wrapper(struct doveadm_cmd_context *cctx) }; mctx = doveadm_mail_cmdline_init(&mail_cmd); - + mctx->cur_username = cctx->username; mctx->iterate_all_users = FALSE; wildcard_user = NULL; p_array_init(&pargv, mctx->pool, 8); diff --git a/src/doveadm/doveadm.c b/src/doveadm/doveadm.c index 80166c40f5..8eb04d7172 100644 --- a/src/doveadm/doveadm.c +++ b/src/doveadm/doveadm.c @@ -291,6 +291,7 @@ int main(int argc, char *argv[]) memset(&cctx,0,sizeof(cctx)); cctx.cli = TRUE; + cctx.username = getenv("USER"); i_set_failure_exit_callback(failure_exit_callback); doveadm_dsync_main(&argc, &argv);