summaryrefslogtreecommitdiff
path: root/mail/mh/files/patch-ac
diff options
context:
space:
mode:
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;