X-Git-Url: https://git.openafs.org/?p=openafs.git;a=blobdiff_plain;f=src%2Fptserver%2Fptprocs.c;h=91e505b54a252ef679b29de4b20dae4e70f618e2;hp=c080935f026b484a6874edaf3750efb5585e5cee;hb=93ece98ccb1fd54c8c10848c574efe8932befc28;hpb=6fe57dcfdae6efbf1aaf8e994e280c813c8c30dd diff --git a/src/ptserver/ptprocs.c b/src/ptserver/ptprocs.c index c080935..91e505b 100644 --- a/src/ptserver/ptprocs.c +++ b/src/ptserver/ptprocs.c @@ -86,6 +86,7 @@ RCSID #define IP_WILDCARDS 1 /* XXX Should be defined outside of here XXX */ +extern int restricted; extern struct ubik_dbase *dbase; extern afs_int32 Initdb(); extern int pr_noAuth; @@ -119,6 +120,9 @@ CreateOK(ut, cid, oid, flag, admin) afs_int32 flag; /* indicates type of entry */ int admin; /* sysadmin membership */ { + if (restricted && !admin) + return 0; + if (flag & PRFOREIGN) { /* Foreign users are recognized by the '@' sign and * not by the PRFOREIGN flag. @@ -346,7 +350,7 @@ newEntry(call, aname, flag, oid, aid) ABORT_WITH(tt, PRPERM); admin = IsAMemberOf(tt, cid, SYSADMINID); } else { - admin = (!strcmp(aname, cname)) || IsAMemberOf(tt, cid, SYSADMINID); + admin = ((!restricted && !strcmp(aname, cname))) || IsAMemberOf(tt, cid, SYSADMINID); oid = cid = SYSADMINID; } if (!CreateOK(tt, cid, oid, flag, admin))