summaryrefslogtreecommitdiff
path: root/mail/mh/files/patch-ac
diff options
context:
space:
mode:
authorPaul Traina <pst@FreeBSD.org>1996-02-23 01:25:09 +0000
committerPaul Traina <pst@FreeBSD.org>1996-02-23 01:25:09 +0000
commitd260a31f0ace4be7662a67bf6f6180ad741eee3f (patch)
treeed90dd1ab6fe79233134a76e7c3570c8a178bc24 /mail/mh/files/patch-ac
parentUpgrade to 1.0.3 (diff)
Fix shared library linking (again).
Fix and enable pop support code. Fix and enable slocal msgid support code (eliminates duplicates) if .db file present.
Diffstat (limited to 'mail/mh/files/patch-ac')
-rw-r--r--mail/mh/files/patch-ac137
1 files changed, 133 insertions, 4 deletions
diff --git a/mail/mh/files/patch-ac b/mail/mh/files/patch-ac
index 65730405c162..b843c70ecc0e 100644
--- a/mail/mh/files/patch-ac
+++ b/mail/mh/files/patch-ac
@@ -1,8 +1,27 @@
*** slocal.c.orig Tue Nov 30 20:01:38 1993
---- uip/slocal.c Fri Jul 1 13:09:36 1994
+--- uip/slocal.c Thu Feb 22 10:41:46 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 ****
---- 173,180 ----
+--- 183,190 ----
NULL
};
@@ -13,7 +32,7 @@
extern char **environ;
***************
*** 299,304 ****
---- 301,308 ----
+--- 311,318 ----
/* */
@@ -23,8 +42,25 @@
addr = getusr ();
if (user == NULL)
***************
+*** 379,385 ****
+ #ifdef MSGID
+ struct stat st;
+
+! if (stat (".maildelivery.pag", &st) != NOTOK
+ && check_msgid (fd, ".maildelivery") == DONE)
+ return OK;
+ #endif
+--- 393,399 ----
+ #ifdef MSGID
+ struct stat st;
+
+! if (stat (MSGID_PAGFILE, &st) != NOTOK
+ && check_msgid (fd, ".maildelivery") == DONE)
+ return OK;
+ #endif
+***************
*** 543,549 ****
---- 547,569 ----
+--- 557,579 ----
status = usr_pipe (fd, tmpbuf, "/bin/sh", vec + 2);
break;
@@ -48,3 +84,96 @@
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;
+ }
+--- 1342,1360 ----
+ 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;