Added -messageid switch to send(1) and post(8). This allows selection
[mmh] / uip / send.c
index 5034121..7f0529e 100644 (file)
@@ -122,6 +122,10 @@ static struct swit switches[] = {
     { "tls", TLSminc(-3) },
 #define NTLSSW                47
     { "notls", TLSminc(-5) },
+#define MTSSW                48
+    { "mts smtp|sendmail/smtp|sendmail/pipe", 2 },
+#define MESSAGEIDSW          49
+    { "messageid localname|random", 2 },
     { NULL, 0 }
 };
 
@@ -198,10 +202,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;
@@ -301,6 +305,8 @@ main (int argc, char **argv)
                case SASLMXSSFSW:
                case USERSW:
                case PORTSW:
+               case MTSSW:
+               case MESSAGEIDSW:
                    vec[vecp++] = --cp;
                    if (!(cp = *argp++) || *cp == '-')
                        adios (NULL, "missing argument to %s", argp[-2]);
@@ -442,7 +448,8 @@ go_to_it:
        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 */