X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Fwhatnowsbr.c;h=121a79baa43b0333b493ecb82179ca0a7ecc0206;hb=72a97a2e44a300808b5584bd3d3581162b107b03;hp=bb1e6b4aafba17ced1ccaa865e94800294c23b58;hpb=cff8de7654cf393a494b01a587bd4d503d15a5e3;p=mmh diff --git a/uip/whatnowsbr.c b/uip/whatnowsbr.c index bb1e6b4..121a79b 100644 --- a/uip/whatnowsbr.c +++ b/uip/whatnowsbr.c @@ -141,9 +141,9 @@ WhatNow (int argc, char **argv) char **argp, **arguments; struct stat st; char *attach = NMH_ATTACH_HEADER;/* attachment header field name */ - char cwd[MAXPATHLEN + 1]; /* current working directory */ - char file[MAXPATHLEN + 1]; /* file name buffer */ - char shell[MAXPATHLEN + 1]; /* shell response buffer */ + char cwd[PATH_MAX + 1]; /* current working directory */ + char file[PATH_MAX + 1]; /* file name buffer */ + char shell[PATH_MAX + 1]; /* shell response buffer */ FILE *f; /* read pointer for bgnd proc */ char *l; /* set on -l to alist command */ int n; /* set on -n to alist command */ @@ -605,6 +605,11 @@ system_in_dir(const char *dir, const char *cmd) { char olddir[BUFSIZ]; int r; + + /* ensure that $SHELL exists, as the cmd was written relying on + a non-blank $SHELL... */ + setenv("SHELL","/bin/sh",0); /* don't overwrite */ + if (getcwd(olddir, sizeof(olddir)) == 0) adios("getcwd", "could not get working directory"); if (chdir(dir) != 0) @@ -621,6 +626,11 @@ popen_in_dir(const char *dir, const char *cmd, const char *type) { char olddir[BUFSIZ]; FILE *f; + + /* ensure that $SHELL exists, as the cmd was written relying on + a non-blank $SHELL... */ + setenv("SHELL","/bin/sh",0); /* don't overwrite */ + if (getcwd(olddir, sizeof(olddir)) == 0) adios("getcwd", "could not get working directory"); if (chdir(dir) != 0) @@ -821,14 +831,12 @@ sendfile (char **arg, char *file, int pushsw) /* Translate MIME composition file, if necessary */ if ((cp = context_find ("automimeproc")) && (!strcmp (cp, "1")) - && !getenv ("NOMHNPROC") && check_draft (file) && (buildfile (NULL, file) == NOTOK)) return 0; /* For backwards compatibility */ if ((cp = context_find ("automhnproc")) - && !getenv ("NOMHNPROC") && check_draft (file) && (i = editfile (&cp, NULL, file, NOUSE, NULL, NULL, NULL, 0, 0))) return 0; @@ -1075,6 +1083,10 @@ static struct swit sendswitches[] = { { "tls", TLSminc(-3) }, #define NTLSSW 46 { "notls", TLSminc(-5) }, +#define MTSSW 47 + { "mts smtp|sendmail/smtp|sendmail/pipe", 2 }, +#define MESSAGEIDSW 48 + { "messageid localname|random", 2 }, { NULL, 0 } }; @@ -1251,6 +1263,8 @@ sendit (char *sp, char **arg, char *file, int pushed) case SASLMECHSW: case USERSW: case PORTSW: + case MTSSW: + case MESSAGEIDSW: vec[vecp++] = --cp; if (!(cp = *argp++) || *cp == '-') { advise (NULL, "missing argument to %s", argp[-2]);