]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
DEVEL15-windows-freelance-20070131
authorJeffrey Altman <jaltman@secure-endpoints.com>
Thu, 1 Feb 2007 04:30:21 +0000 (04:30 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Thu, 1 Feb 2007 04:30:21 +0000 (04:30 +0000)
FIXES 52069

If an app tries to open the freelance directory for WRITE then the
default anonymous access privileges, read/lookup, are not sufficient
and cm_HaveAccessRights will fail.  Freelance can't get access rights
from anywhere.  Therefore, cm_HaveAccessRights should special case
the Freelance directory.

(cherry picked from commit bd5ed7d332df05ac232f4188a166ce6f791f7cca)

src/WINNT/afsd/cm_access.c

index 16501be01c8dd47249c913d85fb9777ba4ec4f2b..75bc0865e1d8de1eddc09407195ee9dfbff056d5 100644 (file)
@@ -80,6 +80,12 @@ int cm_HaveAccessRights(struct cm_scache *scp, struct cm_user *userp, afs_uint32
      * Otherwise, if we an explicit acl entry, we're also in good shape,
      * and can definitively answer.
      */
+#ifdef AFS_FREELANCE_CLIENT
+    if (cm_freelanceEnabled && aclScp == cm_data.rootSCachep)
+    {
+       *outRightsp = aclScp->anyAccess;
+    } else
+#endif
     if ((~aclScp->anyAccess & rights) == 0) {
         *outRightsp = rights;
     } else {