projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Updated man page to recent changes.
[mmh]
/
uip
/
spost.c
diff --git
a/uip/spost.c
b/uip/spost.c
index
3692363
..
5afa435
100644
(file)
--- a/
uip/spost.c
+++ b/
uip/spost.c
@@
-26,39
+26,31
@@
struct swit switches[] = {
{ "filter filterfile", 0 },
#define NFILTSW 1
{ "nofilter", 0 },
{ "filter filterfile", 0 },
#define NFILTSW 1
{ "nofilter", 0 },
-#define REMVSW 2
- { "remove", 0 },
-#define NREMVSW 3
- { "noremove", 0 },
-#define VERBSW 4
+#define VERBSW 2
{ "verbose", 0 },
{ "verbose", 0 },
-#define NVERBSW 5
+#define NVERBSW 3
{ "noverbose", 0 },
{ "noverbose", 0 },
-#define WATCSW 6
+#define WATCSW 4
{ "watch", 0 },
{ "watch", 0 },
-#define NWATCSW 7
+#define NWATCSW 5
{ "nowatch", 0 },
{ "nowatch", 0 },
-#define BACKSW 8
- { "backup", 0 },
-#define NBACKSW 9
- { "nobackup", 0 },
-#define ALIASW 10
+#define ALIASW 6
{ "alias aliasfile", 0 },
{ "alias aliasfile", 0 },
-#define NALIASW 11
+#define NALIASW 7
{ "noalias", 0 },
{ "noalias", 0 },
-#define VERSIONSW 12
+#define VERSIONSW 8
{ "version", 0 },
{ "version", 0 },
-#define HELPSW 13
+#define HELPSW 9
{ "help", 0 },
{ "help", 0 },
-#define DEBUGSW 14
+#define DEBUGSW 10
{ "debug", -5 },
{ "debug", -5 },
-#define DISTSW 15
+#define DISTSW 11
{ "dist", -4 }, /* interface from dist */
{ "dist", -4 }, /* interface from dist */
-#define PUSHSW 16 /* fork to sendmail then exit */
+#define PUSHSW 12 /* fork to sendmail then exit */
{ "push", -4 },
{ "push", -4 },
-#define NPUSHSW 17 /* exec sendmail */
+#define NPUSHSW 13 /* exec sendmail */
{ "nopush", -6 },
{ "nopush", -6 },
-#define LIBSW 19
+#define LIBSW 14
{ "library directory", -7 },
{ NULL, 0 }
};
{ "library directory", -7 },
{ NULL, 0 }
};
@@
-128,9
+120,7
@@
static struct headers RHeaders[] = {
static int badmsg = 0; /* message has bad semantics */
static int verbose = 0; /* spell it out */
static int debug = 0; /* debugging post */
static int badmsg = 0; /* message has bad semantics */
static int verbose = 0; /* spell it out */
static int debug = 0; /* debugging post */
-static int rmflg = 1; /* remove temporary file when done */
static int watch = 0; /* watch the delivery process */
static int watch = 0; /* watch the delivery process */
-static int backflg = 0; /* rename input file as *.bak when done */
static int pushflg = 0; /* if going to fork to sendmail */
static int aliasflg = 0; /* if going to process aliases */
static int pushflg = 0; /* if going to fork to sendmail */
static int aliasflg = 0; /* if going to process aliases */
@@
-142,8
+132,6
@@
static enum {
static char tmpfil[] = "/tmp/pstXXXXXX";
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 */
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 */
@@
-160,13
+148,10
@@
extern char *sendmail;
extern char *getfullname(void);
extern char *getusername(void);
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 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 *);
static void finish_headers(FILE *);
static int get_header(char *, struct headers *);
static void putadr(char *, struct mailname *);
@@
-196,7
+181,6
@@
main(int argc, char **argv)
if (context_foil(NULL) == -1)
done(1);
if (context_foil(NULL) == -1)
done(1);
- mts_init(invo_name);
arguments = getarguments(invo_name, argc, argv, 0);
argp = arguments;
arguments = getarguments(invo_name, argc, argv, 0);
argp = arguments;
@@
-236,20
+220,6
@@
main(int argc, char **argv)
filter = NULL;
continue;
filter = NULL;
continue;
- case REMVSW:
- rmflg++;
- continue;
- case NREMVSW:
- rmflg = 0;
- continue;
-
- case BACKSW:
- backflg++;
- continue;
- case NBACKSW:
- backflg = 0;
- continue;
-
case VERBSW:
verbose++;
continue;
case VERBSW:
verbose++;
continue;
@@
-305,7
+275,6
@@
main(int argc, char **argv)
if ((in = fopen(msg, "r")) == NULL)
adios(msg, "unable to open");
if ((in = fopen(msg, "r")) == NULL)
adios(msg, "unable to open");
- start_headers();
if (debug) {
verbose++;
out = stdout;
if (debug) {
verbose++;
out = stdout;
@@
-366,20
+335,15
@@
main(int argc, char **argv)
}
break;
}
}
break;
}
-
fclose(in);
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) {
if (debug) {
+ /* stop here */
done(0);
done(0);
- } else {
- fclose(out);
}
}
+ fclose(out);
+
/* process Fcc */
for (i=0; i<fccind; i++) {
fcc(tmpfil, fccfold[i]);
/* process Fcc */
for (i=0; i<fccind; i++) {
fcc(tmpfil, fccfold[i]);
@@
-389,10
+353,10
@@
main(int argc, char **argv)
** re-open the temp file, unlink it and exec sendmail, giving it
** the msg temp file as std in.
*/
** re-open the temp file, unlink it and exec sendmail, giving it
** the msg temp file as std in.
*/
- if (freopen(tmpfil, "r", stdin) == NULL)
+ if (!freopen(tmpfil, "r", stdin)) {
adios(tmpfil, "can't reopen for sendmail");
adios(tmpfil, "can't reopen for sendmail");
- if (rmflg)
- unlink(tmpfil);
+ }
+ unlink(tmpfil);
argp = sargv;
*argp++ = "send-mail";
argp = sargv;
*argp++ = "send-mail";
@@
-537,12
+501,19
@@
putfmt(char *name, char *str, FILE *out)
/*
/*
-** Construct signature name
+** Add yet missing headers.
*/
static void
*/
static void
-start_headers(void)
+finish_headers(FILE *out)
{
char *cp;
{
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) {
strncpy(from, getusername(), sizeof(from));
if ((cp = getfullname()) && *cp) {
@@
-550,29
+521,10
@@
start_headers(void)
} else {
snprintf(signature, sizeof(signature), "%s", from);
}
} 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);
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
fprintf(out, "%sSender: %s\n", resentstr, from);
}
#ifdef notdef
@@
-735,13
+687,8
@@
make_bcc_file(void)
if (!(msgflags & MFRM)) {
/* Construct a From: header. */
fprintf(out, "From: %s\n", signature);
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)
fprintf(out, "Sender: %s\n", from);
}
if (subject)