]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
doveadm: If user lookup fails, log an error but don't kill the process.
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Fri, 19 Feb 2016 12:08:40 +0000 (14:08 +0200)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Fri, 19 Feb 2016 13:29:58 +0000 (15:29 +0200)
src/doveadm/doveadm-mail.c

index 66e8ee0c8a4c1ec77b365009ec4a5f67aa027755..4b98e876c7d601282813f78cd32821fd77049eaf 100644 (file)
@@ -562,10 +562,14 @@ doveadm_mail_cmd_exec(struct doveadm_mail_cmd_context *ctx,
                input.service = "doveadm";
                input.username = ctx->cur_username;
                ret = doveadm_mail_single_user(ctx, &input, &error);
-               if (ret < 0)
-                       i_fatal("%s", error);
-               else if (ret == 0)
-                       i_fatal_status(EX_NOUSER, "User doesn't exist");
+               if (ret < 0) {
+                       /* user lookup/init failed somehow */
+                       doveadm_exit_code = EX_TEMPFAIL;
+                       i_error("%s", error);
+               } else if (ret == 0) {
+                       doveadm_exit_code = EX_NOUSER;
+                       i_error("User doesn't exist");
+               }
        } else {
                ctx->service_flags |= MAIL_STORAGE_SERVICE_FLAG_TEMP_PRIV_DROP;
                doveadm_mail_all_users(ctx, wildcard_user);