X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Fsend.c;h=9d634ed1de100d5403e5848815300c8585e3b90f;hb=220dcd2dda3136cefd20951e34e963f37f8e2132;hp=784947215145d20070de06b9ecd2a7310e4dcabc;hpb=5ff96d61ee5af34956ae958a0bc72ee78734a4d7;p=mmh diff --git a/uip/send.c b/uip/send.c index 7849472..9d634ed 100644 --- a/uip/send.c +++ b/uip/send.c @@ -2,8 +2,6 @@ /* * send.c -- send a composed message * - * $Id$ - * * This code is Copyright (c) 2002, by the authors of nmh. See the * COPYRIGHT file in the root directory of the nmh distribution for * complete copyright information. @@ -21,6 +19,12 @@ # define SASLminc(a) 0 #endif /* CYRUS_SASL */ +#ifndef TLS_SUPPORT +# define TLSminc(a) (a) +#else /* TLS_SUPPORT */ +# define TLSminc(a) 0 +#endif /* TLS_SUPPORT */ + static struct swit switches[] = { #define ALIASW 0 { "alias aliasfile", 0 }, @@ -93,19 +97,23 @@ static struct swit switches[] = { #define CLIESW 34 { "client host", -6 }, #define SERVSW 35 - { "server host", -6 }, + { "server host", 6 }, #define SNOOPSW 36 - { "snoop", -5 }, + { "snoop", 5 }, #define SASLSW 37 - { "sasl", SASLminc(-4) }, + { "sasl", SASLminc(4) }, #define SASLMECHSW 38 - { "saslmech", SASLminc(-5) }, + { "saslmech mechanism", SASLminc(-5) }, #define USERSW 39 - { "user", SASLminc(-4) }, + { "user username", SASLminc(-4) }, #define ATTACHSW 40 { "attach", 6 }, #define ATTACHFORMATSW 41 { "attachformat", 7 }, +#define PORTSW 42 + { "port server-port-name/number" , 4 }, +#define TLSSW 43 + { "tls", TLSminc(-3) }, { NULL, 0 } }; @@ -163,6 +171,16 @@ main (int argc, char **argv) vec[vecp++] = "-library"; vec[vecp++] = getcpy (m_maildir ("")); + if ((cp = context_find ("fileproc"))) { + vec[vecp++] = "-fileproc"; + vec[vecp++] = cp; + } + + if ((cp = context_find ("mhlproc"))) { + vec[vecp++] = "-mhlproc"; + vec[vecp++] = cp; + } + while ((cp = *argp++)) { if (*cp == '-') { switch (smatch (++cp, switches)) { @@ -263,6 +281,7 @@ main (int argc, char **argv) case SOMLSW: case SNOOPSW: case SASLSW: + case TLSSW: vec[vecp++] = --cp; continue; @@ -273,6 +292,7 @@ main (int argc, char **argv) case SERVSW: case SASLMECHSW: case USERSW: + case PORTSW: vec[vecp++] = --cp; if (!(cp = *argp++) || *cp == '-') adios (NULL, "missing argument to %s", argp[-2]); @@ -420,7 +440,7 @@ go_to_it: && (distsw = atoi (cp)) && altmsg) { vec[vecp++] = "-dist"; - distfile = getcpy (m_scratch (altmsg, invo_name)); + distfile = getcpy (m_mktemp2 (altmsg, invo_name, NULL, NULL)); if (link (altmsg, distfile) == NOTOK) { if (errno != EXDEV #ifdef EISREMOTE @@ -429,7 +449,7 @@ go_to_it: ) adios (distfile, "unable to link %s to", altmsg); free (distfile); - distfile = getcpy (m_tmpfil (invo_name)); + distfile = getcpy (m_mktemp2(NULL, invo_name, NULL, NULL)); { int in, out; struct stat st; @@ -473,5 +493,6 @@ go_to_it: } context_save (); /* save the context file */ - return done (status); + done (status); + return 1; }