From e4a5cf08cd420716c8e6558f53db6cf699d73612 Mon Sep 17 00:00:00 2001 From: Eric Allman Date: Sun, 8 Aug 1993 17:57:26 -0800 Subject: [PATCH] hooks to set $u to original recipient for "for" clause in Received: line SCCS-vsn: usr.sbin/sendmail/src/sendmail.h 8.11 SCCS-vsn: usr.sbin/sendmail/src/recipient.c 8.14 --- usr/src/usr.sbin/sendmail/src/recipient.c | 11 ++++++++++- usr/src/usr.sbin/sendmail/src/sendmail.h | 5 +++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/usr/src/usr.sbin/sendmail/src/recipient.c b/usr/src/usr.sbin/sendmail/src/recipient.c index 73e606a937..effe470a0a 100644 --- a/usr/src/usr.sbin/sendmail/src/recipient.c +++ b/usr/src/usr.sbin/sendmail/src/recipient.c @@ -7,7 +7,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)recipient.c 8.13 (Berkeley) %G%"; +static char sccsid[] = "@(#)recipient.c 8.14 (Berkeley) %G%"; #endif /* not lint */ # include "sendmail.h" @@ -228,6 +228,15 @@ recipient(a, sendq, e) printaddr(a, FALSE); } + /* if this is primary, add it to the original recipient list */ + if (a->q_alias == NULL) + { + if (e->e_origrcpt == NULL) + e->e_origrcpt = a->q_paddr; + else if (e->e_origrcpt != a->q_paddr) + e->e_origrcpt = ""; + } + /* break aliasing loops */ if (AliasLevel > MAXRCRSN) { diff --git a/usr/src/usr.sbin/sendmail/src/sendmail.h b/usr/src/usr.sbin/sendmail/src/sendmail.h index 3f84b58375..6164e51dfb 100644 --- a/usr/src/usr.sbin/sendmail/src/sendmail.h +++ b/usr/src/usr.sbin/sendmail/src/sendmail.h @@ -5,7 +5,7 @@ * * %sccs.include.redist.c% * - * @(#)sendmail.h 8.10 (Berkeley) %G% + * @(#)sendmail.h 8.11 (Berkeley) %G% */ /* @@ -15,7 +15,7 @@ # ifdef _DEFINE # define EXTERN # ifndef lint -static char SmailSccsId[] = "@(#)sendmail.h 8.10 %G%"; +static char SmailSccsId[] = "@(#)sendmail.h 8.11 %G%"; # endif # else /* _DEFINE */ # define EXTERN extern @@ -296,6 +296,7 @@ ENVELOPE char *e_message; /* error message */ char *e_statmsg; /* stat msg (changes per delivery) */ char *e_msgboundary; /* MIME-style message part boundary */ + char *e_origrcpt; /* original recipient (one only) */ char *e_macro[128]; /* macro definitions */ }; -- 2.20.1