diff src/lda/main.c @ 12098:69a3dfe6dba3

lda: If destination user isn't found, exit with EX_NOUSER, not EX_TEMPFAIL.
author Timo Sirainen <tss@iki.fi>
date Mon, 13 Sep 2010 10:48:28 +0100
parents 7a6cf8dae9bf
children d56a28e83f32
line wrap: on
line diff
--- a/src/lda/main.c	Wed Sep 08 17:38:49 2010 +0100
+++ b/src/lda/main.c	Mon Sep 13 10:48:28 2010 +0100
@@ -338,10 +338,14 @@
 	service_flags |= MAIL_STORAGE_SERVICE_FLAG_DISALLOW_ROOT;
 	storage_service = mail_storage_service_init(master_service, set_roots,
 						    service_flags);
-	if (mail_storage_service_lookup_next(storage_service, &service_input,
-					     &service_user, &ctx.dest_user,
-					     &errstr) <= 0)
-		i_fatal("%s", errstr);
+	ret = mail_storage_service_lookup_next(storage_service, &service_input,
+					       &service_user, &ctx.dest_user,
+					       &errstr);
+	if (ret <= 0) {
+		if (ret < 0)
+			i_fatal("%s", errstr);
+		return EX_NOUSER;
+	}
 
 #ifdef SIGXFSZ
         lib_signals_ignore(SIGXFSZ, TRUE);