]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lda: If destination user isn't found, exit with EX_NOUSER, not EX_TEMPFAIL.
authorTimo Sirainen <tss@iki.fi>
Mon, 13 Sep 2010 09:48:28 +0000 (10:48 +0100)
committerTimo Sirainen <tss@iki.fi>
Mon, 13 Sep 2010 09:48:28 +0000 (10:48 +0100)
src/lda/main.c

index f37a0d30e47cc113a0b0a57dfbf34928b7240721..fc7a51710953c6d477670319728812bcd829b085 100644 (file)
@@ -338,10 +338,14 @@ int main(int argc, char *argv[])
        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);