X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fslocal.c;h=eecd760b57bc18184952dfefb8b2f68dae89f544;hp=3713954abcdef817ba9ed5e22d4f4ce19d3fb73f;hb=cde17f8d38bf9306df4706ac2acb528a2a686a29;hpb=e954d689b5adafa4ec74e7dbd1e087dbf998f6d6 diff --git a/uip/slocal.c b/uip/slocal.c index 3713954..eecd760 100644 --- a/uip/slocal.c +++ b/uip/slocal.c @@ -86,10 +86,6 @@ static struct swit switches[] = { }; -/* global maildelivery file */ -char *maildelivery = NMHETCDIR"/maildelivery"; - - static int globbed = 0; /* have we built "vars" table yet? */ static int parsed = 0; /* have we built header field table yet */ static int utmped = 0; /* have we scanned umtp(x) file yet */ @@ -437,12 +433,15 @@ main(int argc, char **argv) static int localmail(int fd, char *mdlvr) { + char buf[BUFSIZ]; + /* delivery according to personal Maildelivery file */ if (usr_delivery(fd, mdlvr ? mdlvr : ".maildelivery", 0) != -1) { return 0; } /* delivery according to global Maildelivery file */ - if (usr_delivery(fd, maildelivery, 1) != -1) { + snprintf(buf, sizeof buf, "%s/%s", mhetcdir, "maildelivery"); + if (usr_delivery(fd, buf, 1) != -1) { return 0; } if (verbose) { @@ -1318,7 +1317,7 @@ you_lose: if (first) { first = 0; if (strncmp(buffer, "From ", i)==0) { - char *fp, *cp, *hp, *ep; + char *fp, *cp; /* ** get copy of envelope information ** ("From " line) @@ -1329,27 +1328,10 @@ you_lose: ** Now create a "Return-Path:" line ** from the "From " line. */ - hp = cp = strchr(fp = envelope + i, ' '); - while ((hp = strchr(++hp, 'r'))) { - if (uprf(hp, "remote from")) { - hp = strrchr(hp, ' '); - break; - } - } - if (hp) { - /* - ** return path for UUCP style - ** addressing - */ - ep = strchr(++hp, '\n'); - snprintf(buffer, sizeof(buffer), "Return-Path: %.*s!%.*s\n", (int)(ep - hp), hp, (int)(cp - fp), fp); - } else { - /* - ** return path for standard domain - ** addressing - */ - snprintf(buffer, sizeof(buffer), "Return-Path: %.*s\n", (int)(cp - fp), fp); - } + cp = strchr(fp = envelope + i, ' '); + snprintf(buffer, sizeof(buffer), + "Return-Path: %.*s\n", + (int)(cp - fp), fp); /* Add Return-Path header to message */ fputs(buffer, ffp);