From 9b50816fdc96cf9e90bf1b1e7da8bee20b671760 Mon Sep 17 00:00:00 2001 From: Eric Allman Date: Thu, 1 Dec 1994 16:40:43 -0800 Subject: [PATCH] if we have FATALERRS set but no errors in addresses, set errors in all the addresses SCCS-vsn: usr.sbin/sendmail/src/envelope.c 8.49 --- usr/src/usr.sbin/sendmail/src/envelope.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/usr/src/usr.sbin/sendmail/src/envelope.c b/usr/src/usr.sbin/sendmail/src/envelope.c index 95c3f7face..56c605a4b4 100644 --- a/usr/src/usr.sbin/sendmail/src/envelope.c +++ b/usr/src/usr.sbin/sendmail/src/envelope.c @@ -7,7 +7,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)envelope.c 8.48 (Berkeley) %G%"; +static char sccsid[] = "@(#)envelope.c 8.49 (Berkeley) %G%"; #endif /* not lint */ #include "sendmail.h" @@ -225,6 +225,21 @@ dropenvelope(e) printf("failure_return=%d success_return=%d queueit=%d\n", failure_return, success_return, queueit); + /* + ** If we had some fatal error, but no addresses are marked as + ** bad, mark them _all_ as bad. + */ + + if (bitset(EF_FATALERRS, e->e_flags) && !failure_return) + { + failure_return = TRUE; + for (q = e->e_sendqueue; q != NULL; q = q->q_next) + { + if (!bitset(QDONTSEND, q->q_flags)) + q->q_flags |= QBADADDR; + } + } + /* ** Send back return receipts as requested. */ -- 2.20.1