changeset 19764:68b734d7be0d

doveadm: If user lookup fails, log an error but don't kill the process.
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Fri, 19 Feb 2016 14:08:40 +0200
parents c2c77c7759e3
children e2f06973080f
files src/doveadm/doveadm-mail.c
diffstat 1 files changed, 8 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/doveadm/doveadm-mail.c	Fri Feb 19 14:05:13 2016 +0200
+++ b/src/doveadm/doveadm-mail.c	Fri Feb 19 14:08:40 2016 +0200
@@ -562,10 +562,14 @@
 		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);