X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Fspost.c;h=bef70be80876241f3b8996b07c76af93d58d231a;hb=10c91f6e846d9ec279218280b4258badffd984e8;hp=5a7d9435a51194c156415eb2c54990cf61901483;hpb=2d2b2581db2998febf460eb43e6e993e516a7da9;p=mmh diff --git a/uip/spost.c b/uip/spost.c index 5a7d943..bef70be 100644 --- a/uip/spost.c +++ b/uip/spost.c @@ -19,8 +19,7 @@ #include #include #include - -#define uptolow(c) ((isalpha(c) && isupper (c)) ? tolower (c) : c) +#include #define MAX_SM_FIELD 1476 /* < largest hdr field sendmail will accept */ #define FCCS 10 /* max number of fccs allowed */ @@ -632,7 +631,7 @@ get_header (char *header, struct headers *table) struct headers *h; for (h = table; h->value; h++) - if (!strcasecmp (header, h->value)) + if (!mh_strcasecmp (header, h->value)) return (h - table); return NOTOK; @@ -762,7 +761,18 @@ make_bcc_file (void) chmod (bccfil, 0600); fprintf (out, "Date: %s\n", dtimenow (0)); - fprintf (out, "From: %s\n", signature); + if (msgflags & MFRM) { + /* There was already a From: in the draft. Don't add one. */ + if (!draft_from_masquerading) + /* mts.conf didn't contain "masquerade:[...]draft_from[...]" + so we'll reveal the user's actual account@thismachine + address in a Sender: header (and use it as the envelope + From: later). */ + fprintf (out, "Sender: %s\n", from); + } + else + /* Construct a From: header. */ + fprintf (out, "From: %s\n", signature); if (subject) fprintf (out, "Subject: %s", subject); fprintf (out, "BCC:\n\n------- Blind-Carbon-Copy\n\n");