X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/ef02b5cfad61304c9745f112a9a5b76f12b6c1ed..1e18bf0ab892a2ae9d3151c248b652898f7d7116:/uip/send.c diff --git a/uip/send.c b/uip/send.c index 1e48ea3a..297b8f04 100644 --- a/uip/send.c +++ b/uip/send.c @@ -1,6 +1,4 @@ - -/* - * send.c -- send a composed message +/* send.c -- send a composed message * * This code is Copyright (c) 2002, by the authors of nmh. See the * COPYRIGHT file in the root directory of the nmh distribution for @@ -10,10 +8,11 @@ #include #include #include - #ifdef OAUTH_SUPPORT # include #endif +#include "../sbr/m_maildir.h" +#include "../sbr/m_mktemp.h" #ifndef CYRUS_SASL # define SASLminc(a) (a) @@ -66,13 +65,12 @@ X("saslmech mechanism", SASLminc(6), SASLMECHSW) \ X("authservice", SASLminc(0), AUTHSERVICESW) \ X("user username", SASLminc(-4), USERSW) \ - X("attach", -6, ATTACHSW) \ - X("noattach", -8, NOATTACHSW) \ - X("attachformat", 7, ATTACHFORMATSW) \ X("port server-port-name/number", 4, PORTSW) \ X("tls", TLSminc(-3), TLSSW) \ X("initialtls", TLSminc(-10), INITTLSSW) \ X("notls", TLSminc(-5), NTLSSW) \ + X("certverify", TLSminc(-10), CERTVERSW) \ + X("nocertverify", TLSminc(-12), NOCERTVERSW) \ X("sendmail program", 0, MTSSM) \ X("mts smtp|sendmail/smtp|sendmail/pipe", 2, MTSSW) \ X("messageid localname|random", 2, MESSAGEIDSW) \ @@ -241,7 +239,8 @@ main (int argc, char **argv) continue; case DEBUGSW: - debugsw++; /* fall */ + debugsw++; + /* FALLTHRU */ case NFILTSW: case FRMTSW: case NFRMTSW: @@ -256,6 +255,8 @@ main (int argc, char **argv) case TLSSW: case INITTLSSW: case NTLSSW: + case CERTVERSW: + case NOCERTVERSW: vec[vecp++] = --cp; continue; @@ -278,8 +279,8 @@ main (int argc, char **argv) case SASLMECHSW: if (!(saslmech = *argp) || *saslmech == '-') - adios (NULL, "missing argument to %s", argp[-2]); - /* Fall through */ + adios (NULL, "missing argument to %s", argp[-1]); + /* FALLTHRU */ case ALIASW: case FILTSW: @@ -295,17 +296,6 @@ main (int argc, char **argv) adios (NULL, "missing argument to %s", argp[-2]); vec[vecp++] = cp; continue; - - case ATTACHSW: - advise(NULL, "The -attach switch is deprecated"); - continue; - case NOATTACHSW: - advise(NULL, "The -noattach switch is deprecated"); - continue; - - case ATTACHFORMATSW: - advise(NULL, "The -attachformat switch is deprecated"); - continue; } } else { msgs[msgp++] = cp; @@ -318,7 +308,7 @@ main (int argc, char **argv) if ((cp = context_find ("Aliasfile"))) { char *dp = NULL; - for (ap = brkstring(dp = getcpy(cp), " ", "\n"); ap && *ap; ap++) { + for (ap = brkstring(dp = mh_xstrdup(cp), " ", "\n"); ap && *ap; ap++) { vec[vecp++] = "-alias"; vec[vecp++] = *ap; } @@ -342,7 +332,7 @@ main (int argc, char **argv) showfile (++argp, msgs[0]); break; default: - advise (NULL, "say what?"); + inform("say what?"); break; } } @@ -377,7 +367,7 @@ main (int argc, char **argv) for (msgp = 0, msgnum = mp->lowsel; msgnum <= mp->hghsel; msgnum++) { if (is_selected (mp, msgnum)) { - msgs[msgp++] = getcpy (m_name (msgnum)); + msgs[msgp++] = mh_xstrdup(m_name (msgnum)); unset_exists (mp, msgnum); } } @@ -392,7 +382,7 @@ go_to_it: if ((cp = getenv ("SIGNATURE")) == NULL || *cp == 0) if ((cp = context_find ("signature")) && *cp) - m_putenv ("SIGNATURE", cp); + setenv("SIGNATURE", cp, 1); for (msgnum = 0; msgnum < msgp; msgnum++) if (stat (msgs[msgnum], &st) == NOTOK) @@ -414,7 +404,7 @@ go_to_it: adios(NULL, "unable to create temporary file in %s", get_temp_dir()); } - distfile = getcpy (cp); + distfile = mh_xstrdup(cp); (void) m_unlink(distfile); if (link (altmsg, distfile) == NOTOK) { /* Cygwin with FAT32 filesystem produces EPERM. */ @@ -429,7 +419,7 @@ go_to_it: adios(NULL, "unable to create temporary file in %s", get_temp_dir()); } - distfile = getcpy (cp); + distfile = mh_xstrdup(cp); { int in, out; struct stat st; @@ -479,8 +469,10 @@ go_to_it: switch (sendsbr (vec, vecp, program, msgs[msgnum], &st, 1, auth_svc)) { case DONE: done (++status); + /* FALLTHRU */ case NOTOK: - status++; /* fall */ + status++; + /* FALLTHRU */ case OK: break; }