add-pts-global-reader-support-20010327
authorDerrick Brashear <shadow@dementia.org>
Tue, 27 Mar 2001 09:49:41 +0000 (09:49 +0000)
committerDerrick Brashear <shadow@dementia.org>
Tue, 27 Mar 2001 09:49:41 +0000 (09:49 +0000)
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
src/ptserver/ptutils.c

index 0e5c59c..45e7f46 100644 (file)
@@ -20,6 +20,7 @@
 
 #define        PRBADID         0x80000000
 
+#define SYSVIEWERID     -203
 #define        SYSADMINID      -204
 #define SYSBACKUPID     -205
 #define        ANYUSERID       -101
index bcaef4b..e4596d4 100644 (file)
@@ -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