Merge Mark's changes and my previous changes together to provide a 6.8.4
with the same functionality as 6.8.3.
This commit is contained in:
parent
1b49c455fd
commit
6cc416dad8
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=3041
6 changed files with 482 additions and 337 deletions
|
@ -3,7 +3,7 @@
|
|||
# Date created: Oct 4, 1994
|
||||
# Whom: pst
|
||||
#
|
||||
# $Id: Makefile,v 1.7 1996/04/25 11:45:58 peter Exp $
|
||||
# $Id: Makefile,v 1.8 1996/04/26 08:42:49 asami Exp $
|
||||
#
|
||||
|
||||
DISTNAME= mh-6.8.3
|
||||
|
@ -15,7 +15,7 @@ EXTRACT_SUFX= .tar.Z
|
|||
PATCH_SITES= ftp://ftp.ics.uci.edu/pub/mh/updates/
|
||||
PATCHFILES= MH.6.8.4.Z
|
||||
|
||||
MAINTAINER= markm@FreeBSD.ORG
|
||||
MAINTAINER= pst@FreeBSD.ORG
|
||||
|
||||
MHMAN= man1/ali.1 man1/anno.1 man1/burst.1 man1/comp.1 man1/dist.1 \
|
||||
man1/folder.1 man1/forw.1 man1/inc.1 man1/mark.1 man1/mh-chart.1 \
|
||||
|
|
|
@ -1,119 +1,33 @@
|
|||
diff -udNr mh-6.8.3.ORG/conf/FreeBSD mh-6.8.3/conf/FreeBSD
|
||||
--- mh-6.8.3.ORG/conf/FreeBSD Thu Jan 1 02:00:00 1970
|
||||
+++ conf/FreeBSD Thu Feb 15 18:38:09 1996
|
||||
@@ -0,0 +1,41 @@
|
||||
+# @(#)$Id$
|
||||
+# FreeBSD running sendmail
|
||||
+
|
||||
+bin /usr/local/bin
|
||||
+etc /usr/local/etc/mh
|
||||
+mandir /usr/local/man
|
||||
+mail /var/mail
|
||||
+chown /usr/sbin/chown
|
||||
+remove rm -f
|
||||
+cc cc
|
||||
+mts sendmail/smtp
|
||||
+signal void
|
||||
+sharedlib fbsd
|
||||
+slflags -fpic
|
||||
+
|
||||
+# Good options for all MH installations (personal preferences)
|
||||
+options ATHENA DUMB FOLDPROT='"0700"' MHE MHRC RPATHS SBACKUP='"\\043"'
|
||||
+
|
||||
+# FreeBSD specific options (for FreeBSD-1.x, remove BSD44)
|
||||
+options BSD42 BSD43 BSD44 WAITINT UNISTD VSPRINTF MORE='"/usr/bin/more"'
|
||||
+options NORUSERPASS DBMPWD POSIX NTOHLSWAP SYS5DIR OVERHEAD
|
||||
+options BIND MIME SENDMTS SMTP WHATNOW ZONEINFO GCOS_HACK
|
||||
+options RENAME LOCALE
|
||||
+
|
||||
+# If you want POP support, this will help you get started, but feel
|
||||
+# free to customize it.
|
||||
+#
|
||||
+# POP
|
||||
+#
|
||||
+#pop on
|
||||
+#popdir /usr/local/libexec
|
||||
+#options APOP='"/usr/local/etc/pop.auth"'
|
||||
+#options DPOP
|
||||
+#options MPOP
|
||||
+#options POP2
|
||||
+#options RPOP
|
||||
+#options POPSERVICE='"pop3"'
|
||||
+#
|
||||
+#
|
||||
+#bboards nntp
|
||||
+#bbdelivery off
|
||||
diff -udNr mh-6.8.3.ORG/conf/makefiles/sbr mh-6.8.3/conf/makefiles/sbr
|
||||
--- mh-6.8.3.ORG/conf/makefiles/sbr Wed Dec 1 06:00:23 1993
|
||||
+++ conf/makefiles/sbr Thu Feb 15 18:43:29 1996
|
||||
@@ -123,6 +123,9 @@
|
||||
@BEGIN: SYS5SHLIB
|
||||
(cd shared; ld -G -o ../$@ -h $@.$(SLIBVER) $(OFILES))
|
||||
@END: SYS5SHLIB
|
||||
+@BEGIN: FBSDSHLIB
|
||||
+ (cd shared; ld -Bshareable -o ../$@ $(OFILES))
|
||||
+@END: FBSDSHLIB
|
||||
-@rm -f $@.$(SLIBVER)
|
||||
ln $@ $@.$(SLIBVER)
|
||||
-@ls -l $@*
|
||||
diff -udNr mh-6.8.3.ORG/conf/makefiles/uip mh-6.8.3/conf/makefiles/uip
|
||||
--- mh-6.8.3.ORG/conf/makefiles/uip Wed Dec 1 06:00:23 1993
|
||||
+++ conf/makefiles/uip Thu Feb 15 18:43:29 1996
|
||||
@@ -138,10 +138,20 @@
|
||||
SLIBVER = .@(SLIBVER)
|
||||
@END: SUN4SHLIB
|
||||
@BEGIN: SHAREDLIB
|
||||
-LIBES = ../config/config.o ../sbr/libmh.so ../mts/libmts.a \
|
||||
- ../zotnet/libzot.a
|
||||
+@BEGIN: SUN4SHLIB
|
||||
+LDLIBES = ../config/config.o -Bdynamic @(SLDFLAG) -lmh$(SLIBVER) \
|
||||
+ ../mts/libmts.a ../zotnet/libzot.a
|
||||
+@END: SUN4SHLIB
|
||||
+@BEGIN: SYS5SHLIB
|
||||
LDLIBES = ../config/config.o -Bdynamic @(SLDFLAG) -lmh$(SLIBVER) \
|
||||
../mts/libmts.a ../zotnet/libzot.a
|
||||
+@END: SYS5SHLIB
|
||||
+@BEGIN: FBSDSHLIB
|
||||
+LDLIBES = ../config/config.o @(SLDFLAG) -lmh$(SLIBVER) \
|
||||
+ ../mts/libmts.a ../zotnet/libzot.a
|
||||
+@END: FBSDSHLIB
|
||||
+LIBES = ../config/config.o ../sbr/libmh.so ../mts/libmts.a \
|
||||
+ ../zotnet/libzot.a
|
||||
LDLIBS = $(LDLIBES) ../config/version.o $(LDOPTLIB)
|
||||
@END: SHAREDLIB
|
||||
LINT = lint
|
||||
diff -udNr mh-6.8.3.ORG/conf/mhconfig.c mh-6.8.3/conf/mhconfig.c
|
||||
--- mh-6.8.3.ORG/conf/mhconfig.c Thu Feb 15 18:22:57 1996
|
||||
+++ conf/mhconfig.c Thu Feb 15 18:43:29 1996
|
||||
@@ -32,7 +32,7 @@
|
||||
#define MHRELEASE "6.8.4" /* for version: "Maj.min.pat" */
|
||||
#define MHCENTERFOOT "MH.6.8" /* for nroff page footers */
|
||||
#define MHLEFTFOOT "[mh.6]" /* [mh.6] MH.6.6 page# */
|
||||
-#define MHSLIBVER "3.2" /* SunOS4 shared library version */
|
||||
+#define MHSLIBVER "3.2" /* Shared library version */
|
||||
|
||||
#define NOTOK (-1)
|
||||
|
||||
@@ -457,6 +457,10 @@
|
||||
fprintf (fp, "/^@BEGIN: SYS5SHLIB$/d\n/^@END: SYS5SHLIB$/d\n");
|
||||
else
|
||||
fprintf (fp, "/^@BEGIN: SYS5SHLIB$/,/^@END: SYS5SHLIB$/d\n");
|
||||
+ if (strcmp (sharedlib, "fbsd") == 0)
|
||||
+ fprintf (fp, "/^@BEGIN: FBSDSHLIB$/d\n/^@END: FBSDSHLIB$/d\n");
|
||||
+ else
|
||||
+ fprintf (fp, "/^@BEGIN: FBSDSHLIB$/,/^@END: FBSDSHLIB$/d\n");
|
||||
|
||||
/* */
|
||||
|
||||
@@ -775,9 +779,9 @@
|
||||
|
||||
if (strcmp (sharedlib, "on") && strcmp (sharedlib, "off")
|
||||
&& strcmp (sharedlib, "sun4") && strcmp (sharedlib, "sys5")
|
||||
- && strcmp (sharedlib, "secure"))
|
||||
+ && strcmp (sharedlib, "fbsd") && strcmp (sharedlib, "secure"))
|
||||
adios (NULLCP,
|
||||
- "sharedlib should be either \"sun4\", \"sys5\", or \"off\", not %s",
|
||||
+ "sharedlib should be either \"sun4\", \"sys5\", \"fbsd\" or \"off\", not %s",
|
||||
sharedlib);
|
||||
|
||||
(void) sprintf(buffer, "TYPESIG=%s", signl);
|
||||
*** /dev/null Sat Apr 27 10:54:01 1996
|
||||
--- conf/FreeBSD Sat Apr 27 11:12:47 1996
|
||||
***************
|
||||
*** 0 ****
|
||||
--- 1,28 ----
|
||||
+ # @(#)$Id: patch-aa,v 1.3 1996/02/23 01:25:08 pst Exp $
|
||||
+ # FreeBSD running sendmail
|
||||
+
|
||||
+ bin /usr/local/bin
|
||||
+ etc /usr/local/lib/mh
|
||||
+ mandir /usr/local/man
|
||||
+ mail /var/mail
|
||||
+ chown /usr/sbin/chown
|
||||
+ mts sendmail/smtp
|
||||
+ cc cc
|
||||
+ signal void
|
||||
+ remove rm -f
|
||||
+
|
||||
+ # Good options for all MH installations (personal preferences)
|
||||
+ options ATHENA DUMB FOLDPROT='"0700"' MHE MHRC RPATHS SBACKUP='"\\043"'
|
||||
+
|
||||
+ # FreeBSD specific options (for FreeBSD-1.x, remove BSD44)
|
||||
+ options BSD42 BSD43 BSD44 WAITINT UNISTD VSPRINTF MORE='"/usr/bin/more"'
|
||||
+ options NORUSERPASS DBMPWD POSIX NTOHLSWAP SYS5DIR OVERHEAD MSGID FCNTL
|
||||
+ options BIND MIME SENDMTS SMTP WHATNOW ZONEINFO
|
||||
+ options GCOS_HACK RENAME LOCALE
|
||||
+
|
||||
+ # If you want POP support, this will help you get started, but feel
|
||||
+ # free to customize it.
|
||||
+ pop on
|
||||
+ popdir /usr/local/libexec
|
||||
+ options RPOP APOP='"/usr/local/etc/pop.auth"' POPSERVICE='"pop3"'
|
||||
+ ldoptlibs -lcrypt
|
||||
|
|
|
@ -1,25 +1,16 @@
|
|||
diff -udr ../mh-6.8.3.ORG/conf/FreeBSD ./conf/FreeBSD
|
||||
--- ../mh-6.8.3.ORG/conf/FreeBSD Sat Apr 27 18:53:50 1996
|
||||
+++ ./conf/FreeBSD Sat Apr 27 18:48:58 1996
|
||||
@@ -27,14 +27,16 @@
|
||||
#
|
||||
# POP
|
||||
#
|
||||
-#pop on
|
||||
-#popdir /usr/local/libexec
|
||||
+pop on
|
||||
+popdir /usr/local/libexec
|
||||
+ldoptlibs -lcrypt
|
||||
+options POP2
|
||||
+options RPOP
|
||||
+options POPSERVICE='"pop3"'
|
||||
#options APOP='"/usr/local/etc/pop.auth"'
|
||||
#options DPOP
|
||||
#options MPOP
|
||||
-#options POP2
|
||||
-#options RPOP
|
||||
-#options POPSERVICE='"pop3"'
|
||||
+#options KPOP
|
||||
#
|
||||
#
|
||||
#bboards nntp
|
||||
*** folder.c.orig Tue Nov 30 20:01:36 1993
|
||||
--- uip/folder.c Fri Jul 1 13:11:16 1994
|
||||
***************
|
||||
*** 551,556 ****
|
||||
--- 551,561 ----
|
||||
|
||||
base = strcmp (name, "./") ? name : name + 2;/* hack */
|
||||
|
||||
+ /* short-cut to see if directory has any sub-directories */
|
||||
+
|
||||
+ if (stat (name, &st) != NOTOK && st.st_nlink == 2)
|
||||
+ return;
|
||||
+
|
||||
if ((dd = opendir (name)) == NULL) {
|
||||
admonish (name, "unable to read directory ");
|
||||
return;
|
||||
|
|
|
@ -1,152 +1,196 @@
|
|||
diff -udr ../mh-6.8.3.ORG/support/pop/popauth.c ./support/pop/popauth.c
|
||||
--- ../mh-6.8.3.ORG/support/pop/popauth.c Wed Dec 1 06:01:34 1993
|
||||
+++ ./support/pop/popauth.c Sat Apr 27 17:35:13 1996
|
||||
@@ -18,6 +18,11 @@
|
||||
#include "../zotnet/bboards.h"
|
||||
#include "../zotnet/mts.h"
|
||||
|
||||
+#ifdef dbm_pagfno
|
||||
+#undef dbm_pagfno
|
||||
+#define dbm_pagfno dbm_dirfno
|
||||
+#endif
|
||||
+
|
||||
/* */
|
||||
|
||||
static struct swit switches[] = {
|
||||
@@ -130,8 +135,10 @@
|
||||
if ((db = dbm_open (APOP, O_RDWR | O_CREAT, 0600)) == NULL)
|
||||
adios (APOP, "unable to create POP authorization DB");
|
||||
if (fchown (dbm_dirfno (db), pw -> pw_uid, pw -> pw_gid) == NOTOK
|
||||
- || fchown (dbm_pagfno (db), pw -> pw_uid, pw -> pw_gid)
|
||||
- == NOTOK)
|
||||
+#ifndef BSD44
|
||||
+ || fchown (dbm_pagfno (db), pw -> pw_uid, pw -> pw_gid) == NOTOK
|
||||
+#endif
|
||||
+ )
|
||||
advise (" ", "error setting ownership of POP authorization DB");
|
||||
|
||||
done (0);
|
||||
diff -udr ../mh-6.8.3.ORG/support/pop/popser.c ./support/pop/popser.c
|
||||
--- ../mh-6.8.3.ORG/support/pop/popser.c Sat Apr 27 18:53:45 1996
|
||||
+++ ./support/pop/popser.c Sat Apr 27 17:35:13 1996
|
||||
@@ -669,6 +669,10 @@
|
||||
#include <fcntl.h>
|
||||
#endif
|
||||
|
||||
+#ifdef dbm_pagfno
|
||||
+#undef dbm_pagfno
|
||||
+#define dbm_pagfno dbm_dirfno
|
||||
+#endif
|
||||
|
||||
static int apop (vec)
|
||||
register char **vec;
|
||||
diff -udr ../mh-6.8.3.ORG/uip/slocal.c ./uip/slocal.c
|
||||
--- ../mh-6.8.3.ORG/uip/slocal.c Sat Apr 27 18:53:49 1996
|
||||
+++ ./uip/slocal.c Sat Apr 27 17:35:13 1996
|
||||
@@ -44,6 +44,16 @@
|
||||
|
||||
#ifdef MSGID
|
||||
|
||||
+#ifdef BSD44
|
||||
+#define MSGID_PAGFILE ".maildelivery.db"
|
||||
+#define MSGID_PAGFNO dbm_dirfno
|
||||
+#else
|
||||
+#define MSGID_PAGFILE ".maildelivery.pag"
|
||||
+#define MSGID_PAGFNO dbm_pagfno
|
||||
+#endif
|
||||
+
|
||||
+static int check_msgid (int, char *);
|
||||
+
|
||||
#undef DBM /* used by ndbm.h */
|
||||
#include <ndbm.h>
|
||||
#include <stdio.h>
|
||||
@@ -173,6 +183,8 @@
|
||||
NULL
|
||||
};
|
||||
|
||||
+static char *rcvstore;
|
||||
+
|
||||
/* */
|
||||
|
||||
extern char **environ;
|
||||
@@ -299,6 +311,8 @@
|
||||
|
||||
/* */
|
||||
|
||||
+ rcvstore = getcpy(libpath("rcvstore"));
|
||||
+
|
||||
if (addr == NULL)
|
||||
addr = getusr ();
|
||||
if (user == NULL)
|
||||
@@ -378,10 +392,21 @@
|
||||
{
|
||||
#ifdef MSGID
|
||||
struct stat st;
|
||||
+ static int first = 1;
|
||||
|
||||
- if (stat (".maildelivery.pag", &st) != NOTOK
|
||||
- && check_msgid (fd, ".maildelivery") == DONE)
|
||||
- return OK;
|
||||
+ if (stat (MSGID_PAGFILE, &st) != NOTOK) {
|
||||
+ /*
|
||||
+ * Allow a user to trigger the database by creating an
|
||||
+ * empty database file. That gets us here, now we need
|
||||
+ * to remove it so DBM will create and initialize it properly.
|
||||
+ */
|
||||
+ if (st.st_size == 0 && first) {
|
||||
+ first = 0;
|
||||
+ (void) unlink(MSGID_PAGFILE);
|
||||
+ }
|
||||
+ if (check_msgid (fd, ".maildelivery") == DONE)
|
||||
+ return OK;
|
||||
+ }
|
||||
#endif
|
||||
|
||||
if (usr_delivery (fd, mdlvr ? mdlvr : ".maildelivery", 0, from) != NOTOK)
|
||||
@@ -543,7 +568,23 @@
|
||||
status = usr_pipe (fd, tmpbuf, "/bin/sh", vec + 2);
|
||||
break;
|
||||
|
||||
+ case '+':
|
||||
+ dofolder:
|
||||
+ if (*string == '+')
|
||||
+ strcpy(tmpbuf, string);
|
||||
+ else
|
||||
+ sprintf(tmpbuf, "+%s", string);
|
||||
+ vec[2] = "rcvstore";
|
||||
+ vec[3] = tmpbuf;
|
||||
+ vec[4] = NULL;
|
||||
+ if (verbose)
|
||||
+ printf("rcvstore %s", vec[3]);
|
||||
+ status = usr_pipe(fd, "rcvstore", rcvstore, vec + 2);
|
||||
+ break;
|
||||
+
|
||||
case 'f':
|
||||
+ if (uleq(action, "folder"))
|
||||
+ goto dofolder;
|
||||
if (!uleq (action, "file"))
|
||||
continue; /* else fall */
|
||||
case '>':
|
||||
@@ -1314,19 +1355,19 @@
|
||||
fl.l_whence = 0;
|
||||
fl.l_start = 0;
|
||||
fl.l_len = 0;
|
||||
- if (fcntl (dbm_pagfno (db), F_SETLK, &fl) == -1) {
|
||||
+ if (fcntl (MSGID_PAGFNO (db), F_SETLK, &fl) == -1) {
|
||||
advise (file, "unable to perform flock on");
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#ifdef LOCKF
|
||||
- if (lockf (dbm_pagfno (db), F_LOCK) == NOTOK) {
|
||||
+ if (lockf (MSGID_PAGFNO (db), F_LOCK) == NOTOK) {
|
||||
advise (file, "unable to perform lockf on");
|
||||
goto out;
|
||||
}
|
||||
#else
|
||||
- if (flock (dbm_pagfno (db), LOCK_EX) == NOTOK) {
|
||||
+ if (flock (MSGID_PAGFNO (db), LOCK_EX) == NOTOK) {
|
||||
advise (file, "unable to perform flock on");
|
||||
goto out;
|
||||
}
|
||||
*** slocal.c.orig Tue Nov 30 20:01:38 1993
|
||||
--- uip/slocal.c Tue Apr 23 10:57:56 1996
|
||||
***************
|
||||
*** 44,49 ****
|
||||
--- 44,59 ----
|
||||
|
||||
#ifdef MSGID
|
||||
|
||||
+ #ifdef BSD44
|
||||
+ #define MSGID_PAGFILE ".maildelivery.db"
|
||||
+ #define MSGID_PAGFNO dbm_dirfno
|
||||
+ #else
|
||||
+ #define MSGID_PAGFILE ".maildelivery.pag"
|
||||
+ #define MSGID_PAGFNO dbm_pagfno
|
||||
+ #endif
|
||||
+
|
||||
+ static int check_msgid (int, char *);
|
||||
+
|
||||
#undef DBM /* used by ndbm.h */
|
||||
#include <ndbm.h>
|
||||
#include <stdio.h>
|
||||
***************
|
||||
*** 173,178 ****
|
||||
--- 183,190 ----
|
||||
NULL
|
||||
};
|
||||
|
||||
+ static char *rcvstore;
|
||||
+
|
||||
/* */
|
||||
|
||||
extern char **environ;
|
||||
***************
|
||||
*** 299,304 ****
|
||||
--- 311,318 ----
|
||||
|
||||
/* */
|
||||
|
||||
+ rcvstore = getcpy(libpath("rcvstore"));
|
||||
+
|
||||
if (addr == NULL)
|
||||
addr = getusr ();
|
||||
if (user == NULL)
|
||||
***************
|
||||
*** 378,387 ****
|
||||
{
|
||||
#ifdef MSGID
|
||||
struct stat st;
|
||||
|
||||
! if (stat (".maildelivery.pag", &st) != NOTOK
|
||||
! && check_msgid (fd, ".maildelivery") == DONE)
|
||||
! return OK;
|
||||
#endif
|
||||
|
||||
if (usr_delivery (fd, mdlvr ? mdlvr : ".maildelivery", 0, from) != NOTOK)
|
||||
--- 392,412 ----
|
||||
{
|
||||
#ifdef MSGID
|
||||
struct stat st;
|
||||
+ static int first = 1;
|
||||
|
||||
! if (stat (MSGID_PAGFILE, &st) != NOTOK) {
|
||||
! /*
|
||||
! * Allow a user to trigger the database by creating an
|
||||
! * empty database file. That gets us here, now we need
|
||||
! * to remove it so DBM will create and initialize it properly.
|
||||
! */
|
||||
! if (st.st_size == 0 && first) {
|
||||
! first = 0;
|
||||
! (void) unlink(MSGID_PAGFILE);
|
||||
! }
|
||||
! if (check_msgid (fd, ".maildelivery") == DONE)
|
||||
! return OK;
|
||||
! }
|
||||
#endif
|
||||
|
||||
if (usr_delivery (fd, mdlvr ? mdlvr : ".maildelivery", 0, from) != NOTOK)
|
||||
***************
|
||||
*** 543,549 ****
|
||||
--- 568,590 ----
|
||||
status = usr_pipe (fd, tmpbuf, "/bin/sh", vec + 2);
|
||||
break;
|
||||
|
||||
+ case '+':
|
||||
+ dofolder:
|
||||
+ if (*string == '+')
|
||||
+ strcpy(tmpbuf, string);
|
||||
+ else
|
||||
+ sprintf(tmpbuf, "+%s", string);
|
||||
+ vec[2] = "rcvstore";
|
||||
+ vec[3] = tmpbuf;
|
||||
+ vec[4] = NULL;
|
||||
+ if (verbose)
|
||||
+ printf("rcvstore %s", vec[3]);
|
||||
+ status = usr_pipe(fd, "rcvstore", rcvstore, vec + 2);
|
||||
+ break;
|
||||
+
|
||||
case 'f':
|
||||
+ if (uleq(action, "folder"))
|
||||
+ goto dofolder;
|
||||
if (!uleq (action, "file"))
|
||||
continue; /* else fall */
|
||||
case '>':
|
||||
***************
|
||||
*** 1312,1330 ****
|
||||
fl.l_whence = 0;
|
||||
fl.l_start = 0;
|
||||
fl.l_len = 0;
|
||||
! if (fcntl (dbm_pagfno (db), F_SETLK, &fl) == -1) {
|
||||
advise (file, "unable to perform flock on");
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#ifdef LOCKF
|
||||
! if (lockf (dbm_pagfno (db), F_LOCK) == NOTOK) {
|
||||
advise (file, "unable to perform lockf on");
|
||||
goto out;
|
||||
}
|
||||
#else
|
||||
! if (flock (dbm_pagfno (db), LOCK_EX) == NOTOK) {
|
||||
advise (file, "unable to perform flock on");
|
||||
goto out;
|
||||
}
|
||||
--- 1353,1371 ----
|
||||
fl.l_whence = 0;
|
||||
fl.l_start = 0;
|
||||
fl.l_len = 0;
|
||||
! if (fcntl (MSGID_PAGFNO (db), F_SETLK, &fl) == -1) {
|
||||
advise (file, "unable to perform flock on");
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#ifdef LOCKF
|
||||
! if (lockf (MSGID_PAGFNO (db), F_LOCK) == NOTOK) {
|
||||
advise (file, "unable to perform lockf on");
|
||||
goto out;
|
||||
}
|
||||
#else
|
||||
! if (flock (MSGID_PAGFNO (db), LOCK_EX) == NOTOK) {
|
||||
advise (file, "unable to perform flock on");
|
||||
goto out;
|
||||
}
|
||||
*** popauth.c.orig Tue Nov 30 20:01:34 1993
|
||||
--- support/pop/popauth.c Thu Feb 22 13:00:20 1996
|
||||
***************
|
||||
*** 18,23 ****
|
||||
--- 18,28 ----
|
||||
#include "../zotnet/bboards.h"
|
||||
#include "../zotnet/mts.h"
|
||||
|
||||
+ #ifdef dbm_pagfno
|
||||
+ #undef dbm_pagfno
|
||||
+ #define dbm_pagfno dbm_dirfno
|
||||
+ #endif
|
||||
+
|
||||
/* */
|
||||
|
||||
static struct swit switches[] = {
|
||||
***************
|
||||
*** 130,137 ****
|
||||
if ((db = dbm_open (APOP, O_RDWR | O_CREAT, 0600)) == NULL)
|
||||
adios (APOP, "unable to create POP authorization DB");
|
||||
if (fchown (dbm_dirfno (db), pw -> pw_uid, pw -> pw_gid) == NOTOK
|
||||
! || fchown (dbm_pagfno (db), pw -> pw_uid, pw -> pw_gid)
|
||||
! == NOTOK)
|
||||
advise (" ", "error setting ownership of POP authorization DB");
|
||||
|
||||
done (0);
|
||||
--- 135,144 ----
|
||||
if ((db = dbm_open (APOP, O_RDWR | O_CREAT, 0600)) == NULL)
|
||||
adios (APOP, "unable to create POP authorization DB");
|
||||
if (fchown (dbm_dirfno (db), pw -> pw_uid, pw -> pw_gid) == NOTOK
|
||||
! #ifndef BSD44
|
||||
! || fchown (dbm_pagfno (db), pw -> pw_uid, pw -> pw_gid) == NOTOK
|
||||
! #endif
|
||||
! )
|
||||
advise (" ", "error setting ownership of POP authorization DB");
|
||||
|
||||
done (0);
|
||||
*** popser.c.orig Tue Nov 30 20:01:34 1993
|
||||
--- support/pop/popser.c Thu Feb 22 12:58:31 1996
|
||||
***************
|
||||
*** 666,671 ****
|
||||
--- 665,674 ----
|
||||
#include <fcntl.h>
|
||||
#endif
|
||||
|
||||
+ #ifdef dbm_pagfno
|
||||
+ #undef dbm_pagfno
|
||||
+ #define dbm_pagfno dbm_dirfno
|
||||
+ #endif
|
||||
|
||||
static int apop (vec)
|
||||
register char **vec;
|
||||
|
|
196
mail/mh/files/patch-ad
Normal file
196
mail/mh/files/patch-ad
Normal file
|
@ -0,0 +1,196 @@
|
|||
The following patch adds shared library support for FreeBSD to MH
|
||||
|
||||
*** ../mh-6.8.3.orig/conf/FreeBSD Tue Dec 27 20:36:52 1994
|
||||
--- conf/FreeBSD Tue Dec 27 19:10:35 1994
|
||||
***************
|
||||
*** 10,15 ****
|
||||
--- 10,17 ----
|
||||
cc cc
|
||||
signal void
|
||||
remove rm -f
|
||||
+ sharedlib fbsd
|
||||
+ slflags -fpic
|
||||
|
||||
# Good options for all MH installations (personal preferences)
|
||||
options ATHENA DUMB FOLDPROT='"0700"' MHE MHRC RPATHS SBACKUP='"\\043"'
|
||||
*** ../mh-6.8.3.orig/conf/makefiles/sbr Wed Dec 1 06:00:23 1993
|
||||
--- conf/makefiles/sbr Tue Dec 27 19:01:07 1994
|
||||
***************
|
||||
*** 123,128 ****
|
||||
--- 123,131 ----
|
||||
@BEGIN: SYS5SHLIB
|
||||
(cd shared; ld -G -o ../$@ -h $@.$(SLIBVER) $(OFILES))
|
||||
@END: SYS5SHLIB
|
||||
+ @BEGIN: FBSDSHLIB
|
||||
+ (cd shared; ld -Bshareable -o ../$@ $(OFILES))
|
||||
+ @END: FBSDSHLIB
|
||||
-@rm -f $@.$(SLIBVER)
|
||||
ln $@ $@.$(SLIBVER)
|
||||
-@ls -l $@*
|
||||
*** ../mh-6.8.3.orig/conf/makefiles/uip Wed Dec 1 06:00:23 1993
|
||||
--- conf/makefiles/uip Tue Dec 27 19:30:22 1994
|
||||
***************
|
||||
*** 138,147 ****
|
||||
SLIBVER = .@(SLIBVER)
|
||||
@END: SUN4SHLIB
|
||||
@BEGIN: SHAREDLIB
|
||||
! LIBES = ../config/config.o ../sbr/libmh.so ../mts/libmts.a \
|
||||
! ../zotnet/libzot.a
|
||||
LDLIBES = ../config/config.o -Bdynamic @(SLDFLAG) -lmh$(SLIBVER) \
|
||||
../mts/libmts.a ../zotnet/libzot.a
|
||||
LDLIBS = $(LDLIBES) ../config/version.o $(LDOPTLIB)
|
||||
@END: SHAREDLIB
|
||||
LINT = lint
|
||||
--- 138,157 ----
|
||||
SLIBVER = .@(SLIBVER)
|
||||
@END: SUN4SHLIB
|
||||
@BEGIN: SHAREDLIB
|
||||
! @BEGIN: SUN4SHLIB
|
||||
! LDLIBES = ../config/config.o -Bdynamic @(SLDFLAG) -lmh$(SLIBVER) \
|
||||
! ../mts/libmts.a ../zotnet/libzot.a
|
||||
! @END: SUN4SHLIB
|
||||
! @BEGIN: SYS5SHLIB
|
||||
LDLIBES = ../config/config.o -Bdynamic @(SLDFLAG) -lmh$(SLIBVER) \
|
||||
../mts/libmts.a ../zotnet/libzot.a
|
||||
+ @END: SYS5SHLIB
|
||||
+ @BEGIN: FBSDSHLIB
|
||||
+ LDLIBES = ../config/config.o @(SLDFLAG) -L../sbr -lmh$(SLIBVER) \
|
||||
+ ../mts/libmts.a ../zotnet/libzot.a
|
||||
+ @END: FBSDSHLIB
|
||||
+ LIBES = ../config/config.o ../sbr/libmh.so ../mts/libmts.a \
|
||||
+ ../zotnet/libzot.a
|
||||
LDLIBS = $(LDLIBES) ../config/version.o $(LDOPTLIB)
|
||||
@END: SHAREDLIB
|
||||
LINT = lint
|
||||
*** ../mh-6.8.3.orig/conf/makefiles/support/pop.orig Thu Feb 22 13:05:50 1996
|
||||
--- conf/makefiles/support/pop Thu Feb 22 13:10:18 1996
|
||||
***************
|
||||
*** 59,67 ****
|
||||
@BEGIN: SHAREDLIB
|
||||
LIBES2 = ../../config/config.o ../../sbr/libmh.so $(LIBES1)
|
||||
LDLIBS1 = $(LIBES1) $(LDOPTLIB)
|
||||
LDLIBS2 = ../../config/config.o ../../config/version.o \
|
||||
-Bdynamic @(SLDFLAG) -lmh$(SLIBVER) $(LIBES1) $(LDOPTLIB)
|
||||
! @END: SHAREDLIB
|
||||
|
||||
LINT = lint
|
||||
LFLAGS = -bhu $(OPTIONS)
|
||||
--- 59,77 ----
|
||||
@BEGIN: SHAREDLIB
|
||||
LIBES2 = ../../config/config.o ../../sbr/libmh.so $(LIBES1)
|
||||
LDLIBS1 = $(LIBES1) $(LDOPTLIB)
|
||||
+ @END: SHAREDLIB
|
||||
+ @BEGIN: SUN4SHLIB
|
||||
LDLIBS2 = ../../config/config.o ../../config/version.o \
|
||||
-Bdynamic @(SLDFLAG) -lmh$(SLIBVER) $(LIBES1) $(LDOPTLIB)
|
||||
! @END: SUN4SHLIB
|
||||
! @BEGIN: SYS5SHLIB
|
||||
! LDLIBS2 = ../../config/config.o ../../config/version.o \
|
||||
! -Bdynamic @(SLDFLAG) -lmh$(SLIBVER) $(LIBES1) $(LDOPTLIB)
|
||||
! @END: SYS5SHLIB
|
||||
! @BEGIN: FBSDSHLIB
|
||||
! LDLIBS2 = ../../config/config.o ../../config/version.o \
|
||||
! @(SLDFLAG) -L../../sbr -lmh$(SLIBVER) $(LIBES1) $(LDOPTLIB)
|
||||
! @END: FBSDSHLIB
|
||||
|
||||
LINT = lint
|
||||
LFLAGS = -bhu $(OPTIONS)
|
||||
*** ../mh-6.8.3.orig/conf/mhconfig.c Wed Dec 1 06:00:24 1993
|
||||
--- conf/mhconfig.c Tue Dec 27 19:08:40 1994
|
||||
***************
|
||||
*** 32,38 ****
|
||||
#define MHRELEASE "6.8.3" /* for version: "Maj.min.pat" */
|
||||
#define MHCENTERFOOT "MH.6.8" /* for nroff page footers */
|
||||
#define MHLEFTFOOT "[mh.6]" /* [mh.6] MH.6.6 page# */
|
||||
! #define MHSLIBVER "3.2" /* SunOS4 shared library version */
|
||||
|
||||
#define NOTOK (-1)
|
||||
|
||||
--- 32,38 ----
|
||||
#define MHRELEASE "6.8.3" /* for version: "Maj.min.pat" */
|
||||
#define MHCENTERFOOT "MH.6.8" /* for nroff page footers */
|
||||
#define MHLEFTFOOT "[mh.6]" /* [mh.6] MH.6.6 page# */
|
||||
! #define MHSLIBVER "3.2" /* Shared library version */
|
||||
|
||||
#define NOTOK (-1)
|
||||
|
||||
***************
|
||||
*** 456,461 ****
|
||||
--- 456,465 ----
|
||||
fprintf (fp, "/^@BEGIN: SYS5SHLIB$/d\n/^@END: SYS5SHLIB$/d\n");
|
||||
else
|
||||
fprintf (fp, "/^@BEGIN: SYS5SHLIB$/,/^@END: SYS5SHLIB$/d\n");
|
||||
+ if (strcmp (sharedlib, "fbsd") == 0)
|
||||
+ fprintf (fp, "/^@BEGIN: FBSDSHLIB$/d\n/^@END: FBSDSHLIB$/d\n");
|
||||
+ else
|
||||
+ fprintf (fp, "/^@BEGIN: FBSDSHLIB$/,/^@END: FBSDSHLIB$/d\n");
|
||||
|
||||
/* */
|
||||
|
||||
***************
|
||||
*** 774,782 ****
|
||||
|
||||
if (strcmp (sharedlib, "on") && strcmp (sharedlib, "off")
|
||||
&& strcmp (sharedlib, "sun4") && strcmp (sharedlib, "sys5")
|
||||
! && strcmp (sharedlib, "secure"))
|
||||
adios (NULLCP,
|
||||
! "sharedlib should be either \"sun4\", \"sys5\", or \"off\", not %s",
|
||||
sharedlib);
|
||||
|
||||
(void) sprintf(buffer, "TYPESIG=%s", signl);
|
||||
--- 778,786 ----
|
||||
|
||||
if (strcmp (sharedlib, "on") && strcmp (sharedlib, "off")
|
||||
&& strcmp (sharedlib, "sun4") && strcmp (sharedlib, "sys5")
|
||||
! && strcmp (sharedlib, "fbsd") && strcmp (sharedlib, "secure"))
|
||||
adios (NULLCP,
|
||||
! "sharedlib should be either \"sun4\", \"sys5\", \"fbsd\" or \"off\", not %s",
|
||||
sharedlib);
|
||||
|
||||
(void) sprintf(buffer, "TYPESIG=%s", signl);
|
||||
*** ../mh-6.8.3.orig/support/bboards/mmdfII/bboards/lock.c Wed Dec 1 06:01:30 1993
|
||||
--- support/bboards/mmdfII/bboards/lock.c Tue Dec 27 19:58:05 1994
|
||||
***************
|
||||
*** 47,52 ****
|
||||
--- 47,56 ----
|
||||
#include <sys/file.h>
|
||||
#endif
|
||||
|
||||
+ #ifdef __FreeBSD__
|
||||
+ #include <fcntl.h>
|
||||
+ #endif
|
||||
+
|
||||
#ifdef SYS5
|
||||
#define u_short ushort
|
||||
#define u_long ulong
|
||||
*** ../mh-6.8.3.orig/support/pop/mmdfII/pop/lock.c Wed Dec 1 06:01:30 1993
|
||||
--- support/pop/mmdfII/pop/lock.c Tue Dec 27 19:58:05 1994
|
||||
***************
|
||||
*** 47,52 ****
|
||||
--- 47,56 ----
|
||||
#include <sys/file.h>
|
||||
#endif
|
||||
|
||||
+ #ifdef __FreeBSD__
|
||||
+ #include <fcntl.h>
|
||||
+ #endif
|
||||
+
|
||||
#ifdef SYS5
|
||||
#define u_short ushort
|
||||
#define u_long ulong
|
||||
diff -cdr ../mh-6.8.3.orig/zotnet/mts/lock.c ./zotnet/mts/lock.c
|
||||
*** ../mh-6.8.3.orig/zotnet/mts/lock.c Wed Dec 1 06:01:30 1993
|
||||
--- zotnet/mts/lock.c Tue Dec 27 19:58:05 1994
|
||||
***************
|
||||
*** 47,52 ****
|
||||
--- 47,56 ----
|
||||
#include <sys/file.h>
|
||||
#endif
|
||||
|
||||
+ #ifdef __FreeBSD__
|
||||
+ #include <fcntl.h>
|
||||
+ #endif
|
||||
+
|
||||
#ifdef SYS5
|
||||
#define u_short ushort
|
||||
#define u_long ulong
|
|
@ -33,45 +33,45 @@ bin/sortm
|
|||
bin/vmh
|
||||
bin/whatnow
|
||||
bin/whom
|
||||
etc/mh/MailAliases
|
||||
etc/mh/ap
|
||||
etc/mh/components
|
||||
etc/mh/conflict
|
||||
etc/mh/digestcomps
|
||||
etc/mh/distcomps
|
||||
etc/mh/dp
|
||||
etc/mh/fmtdump
|
||||
etc/mh/forwcomps
|
||||
etc/mh/install-mh
|
||||
etc/mh/mhl
|
||||
etc/mh/mhl.body
|
||||
etc/mh/mhl.digest
|
||||
etc/mh/mhl.format
|
||||
etc/mh/mhl.forward
|
||||
etc/mh/mhl.headers
|
||||
etc/mh/mhn_defaults
|
||||
etc/mh/mtstailor
|
||||
etc/mh/packmbox
|
||||
etc/mh/pgped.tcl
|
||||
etc/mh/popaka
|
||||
etc/mh/popwrd
|
||||
etc/mh/post
|
||||
etc/mh/rcvdist
|
||||
etc/mh/rcvdistcomps
|
||||
etc/mh/rcvpack
|
||||
etc/mh/rcvstore
|
||||
etc/mh/rcvtty
|
||||
etc/mh/replcomps
|
||||
etc/mh/scan.default
|
||||
etc/mh/scan.mailx
|
||||
etc/mh/scan.size
|
||||
etc/mh/scan.time
|
||||
etc/mh/scan.timely
|
||||
etc/mh/slocal
|
||||
etc/mh/spop
|
||||
etc/mh/spost
|
||||
etc/mh/tmac.h
|
||||
etc/mh/viamail
|
||||
lib/mh/MailAliases
|
||||
lib/mh/ap
|
||||
lib/mh/components
|
||||
lib/mh/conflict
|
||||
lib/mh/digestcomps
|
||||
lib/mh/distcomps
|
||||
lib/mh/dp
|
||||
lib/mh/fmtdump
|
||||
lib/mh/forwcomps
|
||||
lib/mh/install-mh
|
||||
lib/mh/mhl
|
||||
lib/mh/mhl.body
|
||||
lib/mh/mhl.digest
|
||||
lib/mh/mhl.format
|
||||
lib/mh/mhl.forward
|
||||
lib/mh/mhl.headers
|
||||
lib/mh/mhn_defaults
|
||||
lib/mh/mtstailor
|
||||
lib/mh/packmbox
|
||||
lib/mh/pgped.tcl
|
||||
lib/mh/popaka
|
||||
lib/mh/popwrd
|
||||
lib/mh/post
|
||||
lib/mh/rcvdist
|
||||
lib/mh/rcvdistcomps
|
||||
lib/mh/rcvpack
|
||||
lib/mh/rcvstore
|
||||
lib/mh/rcvtty
|
||||
lib/mh/replcomps
|
||||
lib/mh/scan.default
|
||||
lib/mh/scan.mailx
|
||||
lib/mh/scan.size
|
||||
lib/mh/scan.time
|
||||
lib/mh/scan.timely
|
||||
lib/mh/slocal
|
||||
lib/mh/spop
|
||||
lib/mh/spost
|
||||
lib/mh/tmac.h
|
||||
lib/mh/viamail
|
||||
lib/libmh.so.3.2
|
||||
@exec ldconfig -m %B
|
||||
libexec/popd
|
||||
|
|
Loading…
Reference in a new issue