X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fspost.c;h=5b51ad4ce76190d356bc4c06473bfa75dffd2332;hp=ee36a6fbcd62405af7b181d4d9a565a2cee9dba1;hb=d3540eaa4251b3a282115a72ed5d1bb39ce74b3f;hpb=4d9ffab89f18b962c7d440053079c5f9b00af659 diff --git a/uip/spost.c b/uip/spost.c index ee36a6f..5b51ad4 100644 --- a/uip/spost.c +++ b/uip/spost.c @@ -137,8 +137,6 @@ static enum { static char tmpfil[] = "/tmp/pstXXXXXX"; -static char from[BUFSIZ]; /* my network address */ -static char signature[BUFSIZ]; /* my signature */ static char *filter = NULL; /* the filter for BCC'ing */ static char *subject = NULL; /* the subject field for BCC'ing */ static char *fccfold[FCCS]; /* foldernames for FCC'ing */ @@ -155,13 +153,10 @@ extern char *sendmail; extern char *getfullname(void); extern char *getusername(void); -extern boolean draft_from_masquerading; /* defined in mts.c */ - /* ** static prototypes */ static void putfmt(char *, char *, FILE *); -static void start_headers(void); static void finish_headers(FILE *); static int get_header(char *, struct headers *); static void putadr(char *, struct mailname *); @@ -191,7 +186,6 @@ main(int argc, char **argv) if (context_foil(NULL) == -1) done(1); - mts_init(invo_name); arguments = getarguments(invo_name, argc, argv, 0); argp = arguments; @@ -293,7 +287,6 @@ main(int argc, char **argv) if ((in = fopen(msg, "r")) == NULL) adios(msg, "unable to open"); - start_headers(); if (debug) { verbose++; out = stdout; @@ -526,12 +519,19 @@ putfmt(char *name, char *str, FILE *out) /* -** Construct signature name +** Add yet missing headers. */ static void -start_headers(void) +finish_headers(FILE *out) { char *cp; + char from[BUFSIZ]; /* my network address */ + char signature[BUFSIZ]; /* my signature */ + char *resentstr = (msgstate == resent) ? "Resent-" : ""; + + if (!(msgflags & MDAT)) { + fprintf(out, "%sDate: %s\n", resentstr, dtimenow(0)); + } strncpy(from, getusername(), sizeof(from)); if ((cp = getfullname()) && *cp) { @@ -539,29 +539,10 @@ start_headers(void) } else { snprintf(signature, sizeof(signature), "%s", from); } -} - - -/* -** Add yet missing headers. -*/ -static void -finish_headers(FILE *out) -{ - char *resentstr = (msgstate == resent) ? "Resent-" : ""; - - if (!(msgflags & MDAT)) { - fprintf(out, "%sDate: %s\n", resentstr, dtimenow(0)); - } if (!(msgflags & MFRM)) { fprintf(out, "%sFrom: %s\n", resentstr, signature); - } else 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). - */ + } else { + /* In case the From: header contains multiple addresses. */ fprintf(out, "%sSender: %s\n", resentstr, from); } #ifdef notdef @@ -724,13 +705,8 @@ make_bcc_file(void) if (!(msgflags & MFRM)) { /* Construct a From: header. */ fprintf(out, "From: %s\n", signature); - } else 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). - */ + } else { + /* Add a Sender: header in case the From: header is fake. */ fprintf(out, "Sender: %s\n", from); } if (subject)