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 */
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 *);
if (context_foil(NULL) == -1)
done(1);
- mts_init(invo_name);
arguments = getarguments(invo_name, argc, argv, 0);
argp = arguments;
if ((in = fopen(msg, "r")) == NULL)
adios(msg, "unable to open");
- start_headers();
if (debug) {
verbose++;
out = stdout;
/*
-** 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) {
} 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
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)