Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!lll-winken!uunet!mcvax!kth!sunic!ericom!erix.ericsson.se!per From: per@erix.ericsson.se (Per Hedeland) Newsgroups: comp.mail.sendmail Subject: Bug in IDA sendmail when using 'p' (M_FROMPATH) flag for UUCP Message-ID: <1962@erix.ericsson.se> Date: 4 Apr 89 11:25:45 GMT Reply-To: per@erix.ericsson.se (Per Hedeland) Organization: Ellemtel Utvecklings AB, Stockholm, Sweden Lines: 39 Version: sendmail 5.61 + IDA 1.2.8 When using the 'p' flag for the UUCP mailer in order to get the value of $k (uucp name) prepended to the envelope sender address, this won't be done if $k happens to be an initial substring of the existing sender address, e.g. if your uucp name is 'erix' and the sender address is 'erix-u.ericsson.se!user'. (BTW this very same bug was once present in the news software, fixed back at 2.10.2 or somesuch, I believe...:-) --Per Hedeland per@erix.ericsson.se or ...{uunet,mcvax}!erix.ericsson.se!per Fix: *** /usr/src/usr.lib/sendmail.5.61.ida/src/deliver.c.orig Thu Jan 26 16:50:57 1989 --- /usr/src/usr.lib/sendmail.5.61.ida/src/deliver.c Tue Apr 4 12:07:58 1989 *************** *** 1166,1174 **** /* construct path through us if needed */ if (bitnset(M_FROMPATH, m->m_flags)) { char myname[MAXLINE]; expand("\001k", myname, &myname[sizeof myname - 1], CurEnv); ! if (index(oldg, '!') == NULL || strncmp(oldg, myname, strlen(myname)) != 0) { sprintf(newg, "%s!%s", myname, oldg); define('g', newg, CurEnv); --- 1166,1176 ---- /* construct path through us if needed */ if (bitnset(M_FROMPATH, m->m_flags)) { char myname[MAXLINE]; + char *bang; expand("\001k", myname, &myname[sizeof myname - 1], CurEnv); ! if ((bang = index(oldg, '!')) == NULL ! || strlen(myname) != bang - oldg || strncmp(oldg, myname, strlen(myname)) != 0) { sprintf(newg, "%s!%s", myname, oldg); define('g', newg, CurEnv);