remove remnants of code for MMDF
authorOliver Kiddle <okiddle@yahoo.co.uk>
Mon, 16 Jan 2006 10:00:46 +0000 (10:00 +0000)
committerOliver Kiddle <okiddle@yahoo.co.uk>
Mon, 16 Jan 2006 10:00:46 +0000 (10:00 +0000)
ChangeLog
h/aliasbr.h
h/rcvmail.h
man/Makefile.in
man/mh-mts.man [deleted file]
man/slocal.man
sbr/lock_file.c
uip/aliasbr.c
uip/dropsbr.c
uip/post.c
uip/slocal.c

index 3a82aa4..bb60d07 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,11 @@
 2006-01-16  Oliver Kiddle  <okiddle@yahoo.co.uk>
 
+       * h/aliasbr.h, h/rcvmail.h, man/Makefile.in, man/slocal.man,
+       sbr/lock_file.c, uip/aliasbr.c, uip/dropsbr.c, uip/post.c,
+       uip/slocal.c, man/mh-mts.man: remove remnants of code for MMDF
+
        * uip/scansbr.c: multiply buffer size by MB_CUR_MAX so multi-byte
-        chars fit
+       chars fit
 
 2006-01-14  Josh Bressers <josh@bress.net>
 
index de50e97..d379cfc 100644 (file)
@@ -36,9 +36,7 @@ struct home {
     struct home *h_next;       /* next home in list                     */
 };
 
-#ifndef        MMDFMTS
 struct home *seek_home (char *);
-#endif /* MMDFMTS */
 
 /*
  * prototypes
index c3a468c..9717919 100644 (file)
 # include <mts/smtp/smtp.h>
 #endif /* SMTPMTS */
 
-#ifdef MMDFMTS
-# include <mts/mmdf/util.h>
-# include <mts/mmdf/mmdf.h>
-#endif /* MMDFMTS */
-
 
 #if defined(SMTPMTS)
 # define RCV_MOK       0
 # define RCV_MBX       1
 #endif /* SMTPMTS */
 
-#ifdef MMDFI
-# define RCV_MOK       RP_MOK
-# define RCV_MBX       RP_MECH
-#endif /* MMDFI */
-
 
 #ifdef NRTC                    /* sigh */
 # undef RCV_MOK
index 1730ae9..fe70265 100644 (file)
@@ -69,7 +69,7 @@ MAN5SRC = mh-alias. mh-draft. mh-format.      \
        mh-tailor. mts.conf.
 
 MAN8SRC = ap. conflict. dp. fmtdump.           \
-       mh-mts. post.
+       post.
 
 MAN1 = $(MAN1SRC:.=.$(manext1))
 MAN5 = $(MAN5SRC:.=.$(manext5))
diff --git a/man/mh-mts.man b/man/mh-mts.man
deleted file mode 100644 (file)
index 731c597..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-.\"
-.\" %nmhwarning%
-.\" $Id$
-.\"
-.TH MH-MTS %manext8% "%nmhdate%" MH.6.8 [%nmhversion%]
-.SH NAME
-mh-mts \- the nmh interface to the message transport system
-.SH SYNOPSIS
-.in +.5i
-.ti -.5i
-SendMail
-
-.ti .5i
-Zmailer
-
-.ti .5i
-MMDF (any release)
-
-.ti .5i
-stand\-alone
-.in -.5i
-.SH DESCRIPTION
-THIS IS OUT OF DATE AND NEEDS REWORKING.
-
-\fInmh\fR can use a wide range of message transport systems to deliver
-mail.  Although the \fInmh\fR administrator usually doesn't get to choose
-which MTS to use (since it's already in place), this document briefly
-describes the interfaces.
-
-When communicating with \fISendMail\fR, \fInmh\fR always uses the SMTP to
-post mail.  Depending on the \fInmh\fR configuration, \fISendMail\fR may
-be invoked directly (via a \fIfork\fR and an \fIexec\fR), or \fInmh\fR
-may open a TCP/IP connection to the SMTP server on the localhost.
-
-When communicating with \fIzmailer\fP, the \fISendMail\fP compatibility
-program is required to be installed in /usr/lib.  \fInmh\fP communicates
-with \fIzmailer\fP by using the SMTP.  It does this by invoking the
-\fB/usr/lib/sendmail\fP compatibility program directly, with the
-`\-bs' option.
-
-When communicating with \fIMMDF\fR, normally \fInmh\fR uses the
-\*(lqmm\(ru\*(rq routines to post mail.  However, depending on the
-\fInmh\fR configuration, \fInmh\fR instead may open a TCP/IP connection
-to the SMTP server on the localhost.
-
-If you are running a UNIX system with TCP/IP networking, then it is
-felt that the best interface is achieved by using either \fISendMail\fR
-or \fIMMDF\fR with the SMTP option.  This gives greater flexibility.
-To enable this option you append the /smtp suffix to the mts option
-in the \fInmh\fR configuration.  This yields two primary advantages:
-First, you don't have to know where \fIsubmit\fR or \fISendMail\fR live.
-This means that \fInmh\fR binaries (e.g., \fIpost\fR\0) don't have to have
-this information hard\-coded, or can run different programs altogether;
-and, second, you can post mail with the server on different systems, so
-you don't need either \fIMMDF\fR or \fISendMail\fR on your local host.
-Big win in conserving cycles and disk space.  Since \fInmh\fR supports
-the notion of a server search\-list in this respect, this approach can
-be tolerant of faults.  Be sure to set \*(lqservers:\*(rq as described
-in mh\-tailor(8) if you use this option.
-
-There are four disadvantages to using the SMTP option: First, only UNIX
-systems with TCP/IP are supported.  Second, you need to have an SMTP
-server running somewhere on any network your local host can reach.
-Third, this bypasses any authentication mechanisms in \fIMMDF\fR
-or \fISendMail\fR.  Fourth, the file \fB/etc/hosts\fR is used for
-hostname lookups (although there is an exception file).  In response
-to these disadvantages though: First, there's got to be an SMTP server
-somewhere around if you're in the Internet or have a local network.
-Since the server search\-list is very general, a wide\-range of options
-are possible.  Second, SMTP should be fixed to have authentication
-mechanisms in it, like POP.  Third, \fInmh\fR won't choke on mail to
-hosts whose official names it can't verify, it'll just plug along (and
-besides if you enable the DUMB configuration options, \fInmh\fR
-ignores the hosts file altogether).
-.Fi
-^%etcdir%/mts.conf~^nmh mts configuration file
-.Pr
-None
-.Sa
-\fIMMDF\-II: A Technical Review\fR,
-Proceedings, Usenix Summer '84 Conference
-.br
-\fISENDMAIL \-\- An Internetwork Mail Router\fR
-.br
-mh\-tailor(8), post(8)
-.De
-None
-.Co
-None
-.Bu
-The %etcdir%/mts.conf file ignores the information in the \fIMMDF\-II\fR
-tailoring file.
-.En
index 2a94abb..eeb0765 100644 (file)
@@ -120,44 +120,22 @@ is taking, as well as check for syntax errors in your
 file.
 
 .SS "Message Transfer Agents"
-If your MTA is
+Most modern MTAs including
 .BR sendmail ,
-you should include the line
+.BR postfix
+and
+.BR exim
+support a \&.forward file for directing incoming mail.
+You should include the line
 .PP
 .RS 5
 \*(lq|\ %libdir%/slocal\ \-user\ username\*(rq
 .RE
 .PP
 in your \&.forward file in your home directory.  This will cause
-.B sendmail
-to invoke
+your MTA to invoke
 .B slocal
 on your behalf when a message arrives.
-.PP
-If your MTA is
-.BR MMDF-I ,
-you should (symbolically) link
-.B %libdir%/slocal
-to the file
-.B bin/rcvmail
-in your home directory.  This will
-cause
-.B MMDF-I
-to invoke
-.B slocal
-on your behalf with the correct
-.RI \*(lq "address\ info\ sender" \*(rq
-arguments.
-.PP
-If your MTA is
-.BR MMDF-II ,
-then you should not use
-.B slocal.
-An equivalent functionality is already provided by
-.BR MMDF-II ;
-see
-.BR maildelivery (5)
-for details.
 
 .SS "The Maildelivery File"
 The
index a98d5b1..66eab72 100644 (file)
 # include <errno.h>
 #endif
 
-#ifdef MMDFONLY
-# include <mmdfonly.h>
-# include <lockonly.h>
-#endif /* MMDFONLY */
-
 #ifdef HAVE_FCNTL_H
 # include <fcntl.h>
 #else
index d0c193d..aadd676 100644 (file)
@@ -47,9 +47,7 @@ static char *getalias (char *);
 static void add_aka (struct aka *, char *);
 static struct aka *akalloc (char *);
 static struct home *hmalloc (struct passwd *);
-#ifndef MMDFMTS
 struct home *seek_home (char *);
-#endif
 
 
 /* Do mh alias substitution on 's' and return the results. */
@@ -561,7 +559,6 @@ hmalloc (struct passwd *pw)
 }
 
 
-#ifndef        MMDFMTS
 struct home *
 seek_home (char *name)
 {
@@ -598,4 +595,3 @@ seek_home (char *name)
        
     return NULL;
 }
-#endif /* MMDFMTS */
index dae1c3b..2b3d020 100644 (file)
 #include <h/nmh.h>
 #include <h/utils.h>
 
-#ifndef        MMDFONLY
-# include <h/mh.h>
-# include <h/dropsbr.h>
-# include <h/mts.h>
-# include <h/tws.h>
-#else
-# include "dropsbr.h"
-# include "strings.h"
-# include "mmdfonly.h"
-#endif
+#include <h/mh.h>
+#include <h/dropsbr.h>
+#include <h/mts.h>
+#include <h/tws.h>
 
 #ifdef HAVE_ERRNO_H
 # include <errno.h>
index 2fe45a1..e161674 100644 (file)
 # endif
 #endif
 
-#ifdef MMDFMTS
-# include <mts/mmdf/util.h>
-# include <mts/mmdf/mmdf.h>
-#endif
-
 #ifdef SMTPMTS
 # include <mts/smtp/smtp.h>
 #endif
 
-#ifndef        MMDFMTS
-# define uptolow(c) ((isalpha(c) && isupper (c)) ? tolower (c) : (c))
-#endif
-
 #ifndef CYRUS_SASL
 # define SASLminc(a) (a)
 #else /* CYRUS_SASL */
@@ -211,11 +202,7 @@ static struct headers RHeaders[] = {
     { "Resent-Fcc",        HFCC,                0 },
     { "Reply-To",          HADR,                0 },
     { "From",              HADR|HNGR,           MFRM },
-#ifdef MMDFI
-    { "Sender",            HADR|HNGR|HMNG,      0 },
-#else
     { "Sender",            HADR|HNGR,           0 },
-#endif
     { "Date",              HNOP,                MDAT },
     { "To",                HADR|HNIL,           0 },
     { "cc",                HADR|HNIL,           0 },
@@ -274,11 +261,6 @@ static struct mailname netaddrs={NULL};            /* network addrs   */
 static struct mailname uuaddrs={NULL};         /* uucp addrs      */
 static struct mailname tmpaddrs={NULL};                /* temporary queue */
 
-#ifdef MMDFMTS
-static char *submitmode = "m";         /* deliver to mailbox only    */
-static char submitopts[6] = "vl";      /* initial options for submit */
-#endif /* MMDFMTS */
-
 #ifdef SMTPMTS
 static int snoop      = 0;
 static int smtpmode   = S_MAIL;
@@ -347,10 +329,6 @@ main (int argc, char **argv)
     arguments = getarguments (invo_name, argc, argv, 0);
     argp = arguments;
 
-#if defined(MMDFMTS) && defined(MMDFII)
-    mmdf_init (invo_name);
-#endif /* MMDFMTS and MMDFII */
-
     while ((cp = *argp++)) {
        if (*cp == '-') {
            switch (smatch (++cp, switches)) {
@@ -469,19 +447,6 @@ main (int argc, char **argv)
                        adios (NULL, "bad argument %s %s", argp[-2], cp);
                    continue;
 
-#ifdef MMDFMTS
-               case MAILSW:
-                   submitmode = "m";
-                   continue;
-               case SOMLSW:    /* for right now, sigh... */
-               case SAMLSW:
-                   submitmode = "b";
-                   continue;
-               case SENDSW:
-                   submitmode = "y";
-                   continue;
-#endif /* MMDFMTS */
-
                case DLVRSW:
                    if (!(cp = *argp++) || *cp == '-')
                        adios (NULL, "missing argument to %s", argp[-2]);
@@ -654,12 +619,6 @@ main (int argc, char **argv)
        done (0);
     }
 
-#ifdef MMDFMTS
-    strcat (submitopts, submitmode);
-    if (watch)
-       strcat (submitopts, "nw");
-#endif /* MMDFMTS */
-
     if (msgflags & MINV) {
        make_bcc_file (dashstuff);
        if (msgflags & MVIS) {
@@ -949,10 +908,6 @@ finish_headers (FILE *out)
            if (whomsw && !fill_up)
                break;
 
-#ifdef MMDFI                   /* sigh */
-           fprintf (out, "Sender: %s\n", from);
-#endif /* MMDFI */
-
            fprintf (out, "Resent-Date: %s\n", dtime (&tclock, 0));
            if (msgid)
                fprintf (out, "Resent-Message-ID: <%d.%ld@%s>\n",
@@ -1399,11 +1354,6 @@ do_addresses (int bccque, int talk)
 
     chkadr ();
 
-#ifdef MMDFMTS
-    if (rp_isbad (retval = mm_waend ()))
-       die (NULL, "problem ending addresses [%s]\n", rp_valstr (retval));
-#endif /* MMDFMTS */
-
 #ifdef SMTPMTS
     if (rp_isbad (retval = sm_waend ()))
        die (NULL, "problem ending addresses; %s", rp_string (retval));
@@ -1607,276 +1557,6 @@ do_text (char *file, int fd)
 
 #endif /* SMTPMTS */
 
-/*
- * MMDF routines
- */
-
-#ifdef MMDFMTS
-
-static void
-post (char *file, int bccque, int talk)
-{
-    int fd, onex;
-    int        retval;
-#ifdef RP_NS
-    int        len;
-    struct rp_bufstruct reply;
-#endif /* RP_NS */
-
-    onex = !(msgflags & MINV) || bccque;
-    if (verbose) {
-       if (msgflags & MINV)
-           printf (" -- Posting for %s Recipients --\n",
-                   bccque ? "Blind" : "Sighted");
-       else
-           printf (" -- Posting for All Recipients --\n");
-    }
-
-    sigon ();
-
-    if (rp_isbad (retval = mm_init ())
-           || rp_isbad (retval = mm_sbinit ())
-           || rp_isbad (retval = mm_winit (NULL, submitopts, from)))
-       die (NULL, "problem initializing MMDF system [%s]",
-               rp_valstr (retval));
-#ifdef RP_NS
-       if (rp_isbad (retval = mm_rrply (&reply, &len)))
-           die (NULL, "problem with sender address [%s]",
-                   rp_valstr (retval));
-#endif /* RP_NS */
-
-    do_addresses (bccque, talk && verbose);
-    if ((fd = open (file, O_RDONLY)) == NOTOK)
-       die (file, "unable to re-open");
-    do_text (file, fd);
-    close (fd);
-    fflush (stdout);
-
-    mm_sbend ();
-    mm_end (OK);
-    sigoff ();
-
-    if (verbose)
-       if (msgflags & MINV)
-           printf (" -- %s Recipient Copies Posted --\n",
-                   bccque ? "Blind" : "Sighted");
-       else
-           printf (" -- Recipient Copies Posted --\n");
-    fflush (stdout);
-}
-
-
-/* Address Verification */
-
-static void
-verify_all_addresses (int talk)
-{
-    int retval;
-    struct mailname *lp;
-
-#ifdef RP_NS
-    int        len;
-    struct rp_bufstruct reply;
-#endif /* RP_NS */
-
-    sigon ();
-
-    if (!whomsw || checksw) {
-       if (rp_isbad (retval = mm_init ())
-               || rp_isbad (retval = mm_sbinit ())
-               || rp_isbad (retval = mm_winit (NULL, submitopts, from)))
-           die (NULL, "problem initializing MMDF system [%s]",
-                   rp_valstr (retval));
-#ifdef RP_NS
-       if (rp_isbad (retval = mm_rrply (&reply, &len)))
-           die (NULL, "problem with sender address [%s]", rp_valstr (retval));
-#endif /* RP_NS */
-    }
-
-    if (talk && !whomsw)
-       printf (" -- Address Verification --\n");
-    if (talk && localaddrs.m_next)
-       printf ("  -- Local Recipients --\n");
-    for (lp = localaddrs.m_next; lp; lp = lp->m_next)
-       do_an_address (lp, talk);
-
-    if (talk && uuaddrs.m_next)
-       printf ("  -- UUCP Recipients --\n");
-    for (lp = uuaddrs.m_next; lp; lp = lp->m_next)
-       do_an_address (lp, talk);
-
-    if (talk && netaddrs.m_next)
-       printf ("  -- Network Recipients --\n");
-    for (lp = netaddrs.m_next; lp; lp = lp->m_next)
-       do_an_address (lp, talk);
-
-    chkadr ();
-    if (talk && !whomsw)
-       printf (" -- Address Verification Successful --\n");
-
-    if (!whomsw || checksw)
-       mm_end (NOTOK);
-
-    fflush (stdout);
-    sigoff ();
-}
-
-
-static void
-do_an_address (struct mailname *lp, int talk)
-{
-    int len, retval;
-    char *mbox, *host, *text, *path;
-    char addr[BUFSIZ];
-    struct rp_bufstruct reply;
-
-    switch (lp->m_type) {
-       case LOCALHOST: 
-           mbox = lp->m_mbox;
-           host = LocalName ();
-           strncpy (addr, mbox, sizeof(addr));
-           break;
-
-       case UUCPHOST: 
-           fprintf (talk ? stdout : stderr, "  %s!%s: %s\n",
-               lp->m_host, lp->m_mbox, "not supported; UUCP address");
-           unkadr++;
-           fflush (stdout);
-           return;
-
-       default:                /* let MMDF decide if the host is bad */
-           mbox = lp->m_mbox;
-           host = lp->m_host;
-           snprintf (addr, sizeof(addr), "%s at %s", mbox, host);
-           break;
-    }
-
-    if (talk)
-       printf ("  %s%s", addr, whomsw && lp->m_bcc ? "[BCC]" : "");
-
-    if (whomsw && !checksw) {
-       putchar ('\n');
-       return;
-    }
-    if (talk)
-       printf (": ");
-    fflush (stdout);
-
-#ifdef MMDFII
-    if (lp->m_path)
-       path = concat (lp->m_path, mbox, "@", host, NULL);
-    else
-#endif /* MMDFII */
-       path = NULL;
-    if (rp_isbad (retval = mm_wadr (path ? NULL : host, path ? path : mbox))
-           || rp_isbad (retval = mm_rrply (&reply, &len)))
-       die (NULL, "problem submitting address [%s]", rp_valstr (retval));
-
-    switch (rp_gval (reply.rp_val)) {
-       case RP_AOK: 
-           if (talk)
-               printf ("address ok\n");
-           fflush (stdout);
-           return;
-
-#ifdef RP_DOK
-       case RP_DOK: 
-           if (talk)
-               printf ("nameserver timeout - queued for checking\n");
-           fflush (stdout);
-           return;
-#endif /* RP_DOK */
-
-       case RP_NO: 
-           text = "you lose";
-           break;
-
-#ifdef RP_NS
-       case RP_NS: 
-           text = "temporary nameserver failure";
-           break;
-
-#endif /* RP_NS */
-
-       case RP_USER: 
-       case RP_NDEL: 
-           text = "not deliverable";
-           break;
-
-       case RP_AGN: 
-           text = "try again later";
-           break;
-
-       case RP_NOOP: 
-           text = "nothing done";
-           break;
-
-       default: 
-           if (!talk)
-               fprintf (stderr, "  %s: ", addr);
-           text = "unexpected response";
-           die (NULL, "%s;\n    [%s] -- %s", text,
-                   rp_valstr (reply.rp_val), reply.rp_line);
-    }
-
-    if (!talk)
-       fprintf (stderr, "  %s: ", addr);
-    fprintf (talk ? stdout : stderr, "%s;\n    %s\n", text, reply.rp_line);
-    unkadr++;
-
-    fflush (stdout);
-}
-
-
-static void
-do_text (char *file, int fd)
-{
-    int retval, state;
-    char buf[BUFSIZ];
-    struct rp_bufstruct reply;
-
-    lseek (fd, (off_t) 0, SEEK_SET);
-
-    while ((state = read (fd, buf, sizeof(buf))) > 0) {
-       if (rp_isbad (mm_wtxt (buf, state)))
-           die (NULL, "problem writing text [%s]\n", rp_valstr (retval));
-    }
-
-    if (state == NOTOK)
-       die (file, "problem reading from");
-
-    if (rp_isbad (retval = mm_wtend ()))
-       die (NULL, "problem ending text [%s]\n", rp_valstr (retval));
-
-    if (rp_isbad (retval = mm_rrply (&reply, &state)))
-       die (NULL, "problem getting submission status [%s]\n",
-               rp_valstr (retval));
-
-    switch (rp_gval (reply.rp_val)) {
-       case RP_OK: 
-       case RP_MOK: 
-           break;
-
-       case RP_NO: 
-           die (NULL, "you lose; %s", reply.rp_line);
-
-       case RP_NDEL: 
-           die (NULL, "no delivery occurred; %s", reply.rp_line);
-
-       case RP_AGN: 
-           die (NULL, "try again later; %s", reply.rp_line);
-
-       case RP_NOOP: 
-           die (NULL, "nothing done; %s", reply.rp_line);
-
-       default: 
-           die (NULL, "unexpected response;\n\t[%s] -- %s",
-                   rp_valstr (reply.rp_val), reply.rp_line);
-    }
-}
-
-#endif /* MMDFMTS */
-
 
 /*
  * SIGNAL HANDLING
@@ -1893,11 +1573,6 @@ sigser (int i)
     if (msgflags & MINV)
        unlink (bccfil);
 
-#ifdef MMDFMTS
-    if (!whomsw || checksw)
-       mm_end (NOTOK);
-#endif /* MMDFMTS */
-
 #ifdef SMTPMTS
     if (!whomsw || checksw)
        sm_end (NOTOK);
@@ -2017,11 +1692,6 @@ die (char *what, char *fmt, ...)
     if (msgflags & MINV)
        unlink (bccfil);
 
-#ifdef MMDFMTS
-    if (!whomsw || checksw)
-       mm_end (NOTOK);
-#endif /* MMDFMTS */
-
 #ifdef SMTPMTS
     if (!whomsw || checksw)
        sm_end (NOTOK);
@@ -2032,27 +1702,3 @@ die (char *what, char *fmt, ...)
     va_end(ap);
     done (1);
 }
-
-
-#ifdef MMDFMTS
-/* 
- * err_abrt() is used by the mm_ routines
- *      do not, under *ANY* circumstances, remove it from post,
- *      or you will lose *BIG*
- */
-
-void
-err_abrt (int code, char *fmt, ...)
-{
-    char buffer[BUFSIZ];
-    va_list ap;
-
-    snprintf (buffer, sizeof(buffer), "[%s]", rp_valstr (code));
-
-    va_start(ap, fmt);
-    advertise (buffer, NULL, fmt, ap);
-    va_end(ap);
-
-    done (1);
-}
-#endif /* MMDFMTS */
index e51f869..275eedd 100644 (file)
@@ -16,9 +16,6 @@
  *
  *  to their $HOME/.forward file.
  *
- *  Under MMDF-I, users should (symbolically) link
- *  /usr/local/nmh/lib/slocal to $HOME/bin/rcvmail.
- *
  */
 
 /* Changed to use getutent() and friends.  Assumes that when getutent() exists,
@@ -1191,10 +1188,6 @@ usr_pipe (int fd, char *cmd, char *pgm, char **vec, int suppress)
                status = pidwait (child_id, 0);
                alarm (0);
 
-#ifdef MMDFI
-               if (status == RP_MOK || status == RP_OK)
-                   status = 0;
-#endif
                if (verbose) {
                    if (status == 0)
                        verbose_printf (", success.\n");