X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fspost.c;h=5afa435db665fb4f74ccb78be9c0a94271ce886e;hp=ee36a6fbcd62405af7b181d4d9a565a2cee9dba1;hb=27826f9353e0f0b04590b7d0f8f83e60462b90f0;hpb=4d9ffab89f18b962c7d440053079c5f9b00af659 diff --git a/uip/spost.c b/uip/spost.c index ee36a6f..5afa435 100644 --- a/uip/spost.c +++ b/uip/spost.c @@ -34,27 +34,23 @@ struct swit switches[] = { { "watch", 0 }, #define NWATCSW 5 { "nowatch", 0 }, -#define BACKSW 6 - { "backup", 0 }, -#define NBACKSW 7 - { "nobackup", 0 }, -#define ALIASW 8 +#define ALIASW 6 { "alias aliasfile", 0 }, -#define NALIASW 9 +#define NALIASW 7 { "noalias", 0 }, -#define VERSIONSW 10 +#define VERSIONSW 8 { "version", 0 }, -#define HELPSW 11 +#define HELPSW 9 { "help", 0 }, -#define DEBUGSW 12 +#define DEBUGSW 10 { "debug", -5 }, -#define DISTSW 13 +#define DISTSW 11 { "dist", -4 }, /* interface from dist */ -#define PUSHSW 14 /* fork to sendmail then exit */ +#define PUSHSW 12 /* fork to sendmail then exit */ { "push", -4 }, -#define NPUSHSW 15 /* exec sendmail */ +#define NPUSHSW 13 /* exec sendmail */ { "nopush", -6 }, -#define LIBSW 16 +#define LIBSW 14 { "library directory", -7 }, { NULL, 0 } }; @@ -125,7 +121,6 @@ static int badmsg = 0; /* message has bad semantics */ static int verbose = 0; /* spell it out */ static int debug = 0; /* debugging post */ static int watch = 0; /* watch the delivery process */ -static int backflg = 0; /* prepend backup prefix to input file when done */ static int pushflg = 0; /* if going to fork to sendmail */ static int aliasflg = 0; /* if going to process aliases */ @@ -137,8 +132,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 +148,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 +181,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; @@ -231,13 +220,6 @@ main(int argc, char **argv) filter = NULL; continue; - case BACKSW: - backflg++; - continue; - case NBACKSW: - backflg = 0; - continue; - case VERBSW: verbose++; continue; @@ -293,7 +275,6 @@ main(int argc, char **argv) if ((in = fopen(msg, "r")) == NULL) adios(msg, "unable to open"); - start_headers(); if (debug) { verbose++; out = stdout; @@ -356,12 +337,6 @@ main(int argc, char **argv) } fclose(in); - if (backflg) { - strncpy(buf, m_backup(msg), sizeof(buf)); - if (rename(msg, buf) == NOTOK) - advise(buf, "unable to rename %s to", msg); - } - if (debug) { /* stop here */ done(0); @@ -526,12 +501,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 +521,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 +687,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)