diff options
author | peter <peter@FreeBSD.org> | 1997-11-10 02:05:23 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 1997-11-10 02:05:23 +0000 |
commit | d0e38bcf4bd5e3927bc10ebd2568a0bd0bf227c0 (patch) | |
tree | 0946e43f76ee6f777e1b536b53d34490bfd984d8 /usr.sbin/sendmail/src/recipient.c | |
parent | 93ede594f272b8bef49a4e4bbcedce5c14eb31a9 (diff) | |
download | FreeBSD-src-d0e38bcf4bd5e3927bc10ebd2568a0bd0bf227c0.zip FreeBSD-src-d0e38bcf4bd5e3927bc10ebd2568a0bd0bf227c0.tar.gz |
Merge sendmail 8.8.8 changes onto mainline. (For all of CVS's warts, when
things like this turn out this easy (ie: it took 30 seconds), it's nice :-)
Diffstat (limited to 'usr.sbin/sendmail/src/recipient.c')
-rw-r--r-- | usr.sbin/sendmail/src/recipient.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/usr.sbin/sendmail/src/recipient.c b/usr.sbin/sendmail/src/recipient.c index 2076884..adcce7a 100644 --- a/usr.sbin/sendmail/src/recipient.c +++ b/usr.sbin/sendmail/src/recipient.c @@ -33,7 +33,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)recipient.c 8.130 (Berkeley) 5/29/97"; +static char sccsid[] = "@(#)recipient.c 8.133 (Berkeley) 10/19/97"; #endif /* not lint */ # include "sendmail.h" @@ -263,6 +263,7 @@ recipient(a, sendq, aliaslevel, e) /* break aliasing loops */ if (aliaslevel > MaxAliasRecursion) { + a->q_flags |= QBADADDR; a->q_status = "5.4.6"; usrerr("554 aliasing/forwarding loop broken (%d aliases deep; %d max)", aliaslevel, MaxAliasRecursion); @@ -327,7 +328,7 @@ recipient(a, sendq, aliaslevel, e) for (pq = sendq; (q = *pq) != NULL; pq = &q->q_next) { - if (sameaddr(q, a)) + if (sameaddr(q, a) && bitset(QRCPTOK, q->q_flags)) { if (tTd(26, 1)) { @@ -641,7 +642,7 @@ recipient(a, sendq, aliaslevel, e) a->q_paddr); } } - + a->q_flags |= QRCPTOK; return (a); } /* @@ -922,7 +923,7 @@ include(fname, forwarding, ctladdr, sendq, aliaslevel, e) volatile int sfflags = SFF_REGONLY; register char *p; bool safechown = FALSE; - bool safedir = FALSE; + volatile bool safedir = FALSE; struct stat st; char buf[MAXLINE]; extern bool chownsafe(); |