nmh-workers
[Top] [All Lists]

[Nmh-workers] PATCH: remove remnants of code for MMDF

2006-01-11 09:32:06
The following patch removes remaining code for dealing with MMDF. The
mts/mmdf directory was long ago removed so this code is currently
unusable.

Any objections to removing mh-mts.8? There really is no useful
information left in it and any MTS related information would probably be
better placed in post(8) or mts.conf(5).

Note that after applying this patch grepping for MMDF will still find
matches in msgchk, inc and packf. They still support MMDF format message
box files. It's possible that other sections of code that could be
removed remain.

Oliver

Index: h/aliasbr.h
===================================================================
RCS file: /cvsroot/nmh/nmh/h/aliasbr.h,v
retrieving revision 1.2
diff -u -r1.2 aliasbr.h
--- h/aliasbr.h 9 Nov 2005 22:56:35 -0000       1.2
+++ h/aliasbr.h 11 Jan 2006 10:59:50 -0000
@@ -36,9 +36,7 @@
     struct home *h_next;       /* next home in list                     */
 };
 
-#ifndef        MMDFMTS
 struct home *seek_home (char *);
-#endif /* MMDFMTS */
 
 /*
  * prototypes
Index: h/rcvmail.h
===================================================================
RCS file: /cvsroot/nmh/nmh/h/rcvmail.h,v
retrieving revision 1.2
diff -u -r1.2 rcvmail.h
--- h/rcvmail.h 12 Jun 2000 18:11:43 -0000      1.2
+++ h/rcvmail.h 11 Jan 2006 10:59:50 -0000
@@ -14,22 +14,12 @@
 # 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: man/Makefile.in
===================================================================
RCS file: /cvsroot/nmh/nmh/man/Makefile.in,v
retrieving revision 1.18
diff -u -r1.18 Makefile.in
--- man/Makefile.in     8 Nov 2005 16:58:08 -0000       1.18
+++ man/Makefile.in     11 Jan 2006 10:59:50 -0000
@@ -69,7 +69,7 @@
        mh-tailor. mts.conf.
 
 MAN8SRC = ap. conflict. dp. fmtdump.           \
-       mh-mts. post.
+       post.
 
 MAN1 = $(MAN1SRC:.=.$(manext1))
 MAN5 = $(MAN5SRC:.=.$(manext5))
Index: man/slocal.man
===================================================================
RCS file: /cvsroot/nmh/nmh/man/slocal.man,v
retrieving revision 1.7
diff -u -r1.7 slocal.man
--- man/slocal.man      8 Sep 2003 18:41:10 -0000       1.7
+++ man/slocal.man      11 Jan 2006 10:59:50 -0000
@@ -120,44 +120,22 @@
 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: sbr/lock_file.c
===================================================================
RCS file: /cvsroot/nmh/nmh/sbr/lock_file.c,v
retrieving revision 1.12
diff -u -r1.12 lock_file.c
--- sbr/lock_file.c     2 Jan 2006 03:17:42 -0000       1.12
+++ sbr/lock_file.c     11 Jan 2006 10:59:50 -0000
@@ -36,11 +36,6 @@
 # include <errno.h>
 #endif
 
-#ifdef MMDFONLY
-# include <mmdfonly.h>
-# include <lockonly.h>
-#endif /* MMDFONLY */
-
 #ifdef HAVE_FCNTL_H
 # include <fcntl.h>
 #else
Index: uip/aliasbr.c
===================================================================
RCS file: /cvsroot/nmh/nmh/uip/aliasbr.c,v
retrieving revision 1.5
diff -u -r1.5 aliasbr.c
--- uip/aliasbr.c       2 Jan 2006 03:17:42 -0000       1.5
+++ uip/aliasbr.c       11 Jan 2006 10:59:50 -0000
@@ -47,9 +47,7 @@
 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 @@
 }
 
 
-#ifndef        MMDFMTS
 struct home *
 seek_home (char *name)
 {
@@ -598,4 +595,3 @@
        
     return NULL;
 }
-#endif /* MMDFMTS */
Index: uip/dropsbr.c
===================================================================
RCS file: /cvsroot/nmh/nmh/uip/dropsbr.c,v
retrieving revision 1.9
diff -u -r1.9 dropsbr.c
--- uip/dropsbr.c       2 Jan 2006 03:25:18 -0000       1.9
+++ uip/dropsbr.c       11 Jan 2006 10:59:50 -0000
@@ -12,16 +12,10 @@
 #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: uip/post.c
===================================================================
RCS file: /cvsroot/nmh/nmh/uip/post.c,v
retrieving revision 1.15
diff -u -r1.15 post.c
--- uip/post.c  6 Jan 2006 21:51:44 -0000       1.15
+++ uip/post.c  11 Jan 2006 10:59:50 -0000
@@ -36,19 +36,10 @@
 # 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 @@
     { "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 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 @@
     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 @@
                        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 @@
        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 @@
            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(_dot_)%ld(_at_)%s>\n",
@@ -1399,11 +1354,6 @@
 
     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 @@
 
 #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 @@
     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 @@
     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 @@
     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: uip/slocal.c
===================================================================
RCS file: /cvsroot/nmh/nmh/uip/slocal.c,v
retrieving revision 1.21
diff -u -r1.21 slocal.c
--- uip/slocal.c        6 Jan 2006 21:51:44 -0000       1.21
+++ uip/slocal.c        11 Jan 2006 10:59:50 -0000
@@ -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 @@
                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");


This e-mail and any attachment is for authorised use by the intended 
recipient(s) only. It may contain proprietary material, confidential 
information and/or be subject to legal privilege. It should not be copied, 
disclosed to, retained or used by, any other party. If you are not an intended 
recipient then please promptly delete this e-mail and any attachment and all 
copies and inform the sender. Thank you.


_______________________________________________
Nmh-workers mailing list
Nmh-workers(_at_)nongnu(_dot_)org
http://lists.nongnu.org/mailman/listinfo/nmh-workers

<Prev in Thread] Current Thread [Next in Thread>