X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Fsend.c;h=1da94401e115a25cb61ae3d804872ce04916ed44;hb=7480dbc14bc90f2d872d434205c0784704213252;hp=b98d89a8406b1b0055a6b0041f8aaf8c72a2b56e;hpb=3c9700d8d045f3ff26ce5dd2a174454dafc14822;p=mmh diff --git a/uip/send.c b/uip/send.c index b98d89a..1da9440 100644 --- a/uip/send.c +++ b/uip/send.c @@ -3,6 +3,10 @@ * 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. */ #include @@ -11,6 +15,12 @@ #include +#ifndef CYRUS_SASL +# define SASLminc(a) (a) +#else /* CYRUS_SASL */ +# define SASLminc(a) 0 +#endif /* CYRUS_SASL */ + static struct swit switches[] = { #define ALIASW 0 { "alias aliasfile", 0 }, @@ -67,7 +77,7 @@ static struct swit switches[] = { #define VERSIONSW 26 { "version", 0 }, #define HELPSW 27 - { "help", 4 }, + { "help", 0 }, #define BITSTUFFSW 28 { "dashstuffing", -12 }, #define NBITSTUFFSW 29 @@ -86,6 +96,14 @@ static struct swit switches[] = { { "server host", -6 }, #define SNOOPSW 36 { "snoop", -5 }, +#define SASLSW 37 + { "sasl", SASLminc(-4) }, +#define SASLMECHSW 38 + { "saslmech", SASLminc(-5) }, +#define USERSW 39 + { "user", SASLminc(-4) }, +#define ATTACHSW 40 + { "attach", 6 }, { NULL, 0 } }; @@ -124,6 +142,7 @@ main (int argc, char **argv) char *msgs[MAXARGS], *vec[MAXARGS]; struct msgs *mp; struct stat st; + char *attach = (char *)0; /* header field name for attachments */ #ifdef UCI FILE *fp; #endif /* UCI */ @@ -241,6 +260,7 @@ main (int argc, char **argv) case SENDSW: case SOMLSW: case SNOOPSW: + case SASLSW: vec[vecp++] = --cp; continue; @@ -249,11 +269,18 @@ main (int argc, char **argv) case WIDTHSW: case CLIESW: case SERVSW: + case SASLMECHSW: + case USERSW: vec[vecp++] = --cp; if (!(cp = *argp++) || *cp == '-') adios (NULL, "missing argument to %s", argp[-2]); vec[vecp++] = cp; continue; + + case ATTACHSW: + if (!(attach = *argp++) || *attach == '-') + adios (NULL, "missing argument to %s", argp[-2]); + continue; } } else { msgs[msgp++] = cp; @@ -417,7 +444,7 @@ go_to_it: closefds (3); for (msgnum = 0; msgnum < msgp; msgnum++) { - switch (sendsbr (vec, vecp, msgs[msgnum], &st, 1)) { + switch (sendsbr (vec, vecp, msgs[msgnum], &st, 1, attach)) { case DONE: done (++status); case NOTOK: