From c6094a3f82e418373712b2b97f7d7586190a5369 Mon Sep 17 00:00:00 2001 From: Eric Allman Date: Wed, 25 Aug 1993 20:21:19 -0800 Subject: [PATCH] add untested mapping of local envelope From: line SCCS-vsn: usr.sbin/sendmail/src/headers.c 8.11 --- usr/src/usr.sbin/sendmail/src/headers.c | 27 ++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/usr/src/usr.sbin/sendmail/src/headers.c b/usr/src/usr.sbin/sendmail/src/headers.c index f262c4c379..13ab820132 100644 --- a/usr/src/usr.sbin/sendmail/src/headers.c +++ b/usr/src/usr.sbin/sendmail/src/headers.c @@ -7,7 +7,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)headers.c 8.10 (Berkeley) %G%"; +static char sccsid[] = "@(#)headers.c 8.11 (Berkeley) %G%"; #endif /* not lint */ # include @@ -44,6 +44,7 @@ chompheader(line, def, e) struct hdrinfo *hi; bool cond = FALSE; BITMAP mopts; + char buf[MAXNAME]; extern ADDRESS *sendto(); if (tTd(31, 6)) @@ -126,6 +127,30 @@ chompheader(line, def, e) (strcmp(fvalue, e->e_from.q_paddr) == 0 || strcmp(fvalue, e->e_from.q_user) == 0)) return (hi->hi_flags); +#ifdef MAYBENEXTRELEASE /* XXX UNTESTED XXX UNTESTED XXX UNTESTED XXX */ +#ifdef USERDB + else + { + auto ADDRESS a; + char *fancy; + extern char *crackaddr(); + extern char *udbsender(); + + fancy = crackaddr(fvalue); + if (parseaddr(fvalue, &a, RF_COPYNONE, '\0', NULL, e) != NULL && + a.q_mailer == LocalMailer && + (p = udbsender(a.q_user)) != NULL) + { + char *oldg = macvalue('g', e); + + define('g', p, e); + expand(fancy, buf, &buf[sizeof buf], e); + define('g', oldg, e); + fvalue = buf; + } + } +#endif +#endif } /* drop forged Sender: values */ -- 2.20.1