From 57ee8d64e4142f4cac1c848ae451adc90a51eae9 Mon Sep 17 00:00:00 2001 From: Derrick Brashear Date: Tue, 27 Mar 2001 09:49:41 +0000 Subject: [PATCH] add-pts-global-reader-support-20010327 in the same way members of system:administrators have all pts powers, members of system:ptsviewers have all pts read powers by virtue of said membership --- src/ptserver/ptserver.h | 1 + src/ptserver/ptutils.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/ptserver/ptserver.h b/src/ptserver/ptserver.h index 0e5c59ceb..45e7f4688 100644 --- a/src/ptserver/ptserver.h +++ b/src/ptserver/ptserver.h @@ -20,6 +20,7 @@ #define PRBADID 0x80000000 +#define SYSVIEWERID -203 #define SYSADMINID -204 #define SYSBACKUPID -205 #define ANYUSERID -101 diff --git a/src/ptserver/ptutils.c b/src/ptserver/ptutils.c index bcaef4bb9..e4596d48a 100644 --- a/src/ptserver/ptutils.c +++ b/src/ptserver/ptutils.c @@ -167,6 +167,8 @@ int AccessOK (ut, cid, tentry, mem, any) } else if (aid < 0) { /* checking on group */ if ((flags & mem) && IsAMemberOf (ut, cid, aid)) return 1; } + /* Allow members of SYSVIEWERID to get membership and status only */ + if (((mem == PRP_STATUS_MEM)||(mem == PRP_MEMBER_MEM))&&(IsAMemberOf (ut, cid, SYSVIEWERID))) return 1; if (IsAMemberOf (ut, cid, SYSADMINID)) return 1; return 0; /* no access */ } @@ -1048,6 +1050,7 @@ afs_int32 Initdb() InitialGroup (SYSBACKUPID, "system:backup"); InitialGroup (ANYUSERID, "system:anyuser"); InitialGroup (AUTHUSERID, "system:authuser"); + InitialGroup (SYSVIEWERID, "system:ptsviewers"); InitialGroup (ANONYMOUSID, "anonymous"); /* Well, we don't really want the max id set to anonymousid, so we'll set -- 2.39.5