X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Fsend.c;h=6d075c1d6822eea35cca78a19a0142ed64f305ec;hb=704bdde497da69854846d51d86c440fc980c5489;hp=d06b6c4ae40c3e8407df5483dedf57f7ab18eee7;hpb=5dd6771b28c257af405d7248639ed0e3bcdce38b;p=mmh diff --git a/uip/send.c b/uip/send.c index d06b6c4..6d075c1 100644 --- a/uip/send.c +++ b/uip/send.c @@ -102,18 +102,26 @@ static struct swit switches[] = { { "snoop", 5 }, #define SASLSW 37 { "sasl", SASLminc(4) }, -#define SASLMECHSW 38 +#define NOSASLSW 38 + { "nosasl", SASLminc(-6) }, +#define SASLMXSSFSW 39 + { "saslmaxssf", SASLminc(-10) }, +#define SASLMECHSW 40 { "saslmech mechanism", SASLminc(-5) }, -#define USERSW 39 +#define USERSW 41 { "user username", SASLminc(-4) }, -#define ATTACHSW 40 +#define ATTACHSW 42 { "attach", 6 }, -#define ATTACHFORMATSW 41 +#define NOATTACHSW 43 + { "noattach", 0 }, +#define ATTACHFORMATSW 44 { "attachformat", 7 }, -#define PORTSW 42 +#define PORTSW 45 { "port server-port-name/number" , 4 }, -#define TLSSW 43 +#define TLSSW 46 { "tls", TLSminc(-3) }, +#define NTLSSW 47 + { "notls", TLSminc(-5) }, { NULL, 0 } }; @@ -151,11 +159,8 @@ 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 */ - int attachformat = 0; /* mhbuild format specifier for attachments */ -#ifdef UCI - FILE *fp; -#endif /* UCI */ + char *attach = NMH_ATTACH_HEADER; /* header field name for attachments */ + int attachformat = 1; /* mhbuild format specifier for attachments */ #ifdef LOCALE setlocale(LC_ALL, ""); @@ -171,6 +176,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)) { @@ -183,10 +198,10 @@ main (int argc, char **argv) case HELPSW: snprintf (buf, sizeof(buf), "%s [file] [switches]", invo_name); print_help (buf, switches, 1); - done (1); + done (0); case VERSIONSW: print_version(invo_name); - done (1); + done (0); case DRAFTSW: msgs[msgp++] = draft; @@ -271,7 +286,9 @@ main (int argc, char **argv) case SOMLSW: case SNOOPSW: case SASLSW: + case NOSASLSW: case TLSSW: + case NTLSSW: vec[vecp++] = --cp; continue; @@ -281,6 +298,7 @@ main (int argc, char **argv) case CLIESW: case SERVSW: case SASLMECHSW: + case SASLMXSSFSW: case USERSW: case PORTSW: vec[vecp++] = --cp; @@ -293,6 +311,9 @@ main (int argc, char **argv) if (!(attach = *argp++) || *attach == '-') adios (NULL, "missing argument to %s", argp[-2]); continue; + case NOATTACHSW: + attach = NULL; + continue; case ATTACHFORMATSW: if (! *argp || **argp == '-') @@ -401,18 +422,6 @@ go_to_it: if ((cp = getenv ("SIGNATURE")) == NULL || *cp == 0) if ((cp = context_find ("signature")) && *cp) m_putenv ("SIGNATURE", cp); -#ifdef UCI - else { - snprintf (buf, sizeof(buf), "%s/.signature", mypath); - if ((fp = fopen (buf, "r")) != NULL - && fgets (buf, sizeof buf, fp) != NULL) { - fclose (fp); - if (cp = strchr (buf, '\n')) - *cp = 0; - m_putenv ("SIGNATURE", buf); - } - } -#endif /* UCI */ for (msgnum = 0; msgnum < msgp; msgnum++) if (stat (msgs[msgnum], &st) == NOTOK) @@ -431,8 +440,10 @@ go_to_it: && altmsg) { vec[vecp++] = "-dist"; distfile = getcpy (m_mktemp2 (altmsg, invo_name, NULL, NULL)); + unlink(distfile); if (link (altmsg, distfile) == NOTOK) { - if (errno != EXDEV + /* Cygwin with FAT32 filesystem produces EPERM. */ + if (errno != EXDEV && errno != EPERM #ifdef EISREMOTE && errno != EISREMOTE #endif /* EISREMOTE */