]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
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 0e5c59ceb95151ff14c8e8e713ac603e276d4421..45e7f4688f8905cdcf21da616f2d499bc5dc1eb1 100644 (file)
@@ -20,6 +20,7 @@
 
 #define        PRBADID         0x80000000
 
+#define SYSVIEWERID     -203
 #define        SYSADMINID      -204
 #define SYSBACKUPID     -205
 #define        ANYUSERID       -101
index bcaef4bb9e8be427c32787a602cf498a8ae25fdf..e4596d48ab08ee1364a98fad09affa32d9f7bb05 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