Author: trasz
Date: Sun May 23 08:12:36 2010
New Revision: 208437
URL: http://svn.freebsd.org/changeset/base/208437

Log:
  Make acl_get_perm_np(3) work with NFSv4 ACLs.
  
  Reviewed by:  kientzle@
  MFC after:    1 week

Modified:
  head/lib/libc/posix1e/acl_get.c
  head/lib/libc/posix1e/acl_perm.c

Modified: head/lib/libc/posix1e/acl_get.c
==============================================================================
--- head/lib/libc/posix1e/acl_get.c     Sun May 23 07:53:22 2010        
(r208436)
+++ head/lib/libc/posix1e/acl_get.c     Sun May 23 08:12:36 2010        
(r208437)
@@ -132,30 +132,6 @@ acl_get_fd_np(int fd, acl_type_t type)
        return (aclp);
 }
 
-int
-acl_get_perm_np(acl_permset_t permset_d, acl_perm_t perm)
-{
-
-       if (permset_d == NULL) {
-               errno = EINVAL;
-               return (-1);
-       }
-
-       switch(perm) {
-       case ACL_READ:
-       case ACL_WRITE:
-       case ACL_EXECUTE:
-               if (*permset_d & perm)
-                       return (1);
-               break;
-       default:
-               errno = EINVAL;
-               return (-1);
-       }
-
-       return (0);
-}
-
 /*
  * acl_get_permset() (23.4.17): return via permset_p a descriptor to
  * the permission set in the ACL entry entry_d.

Modified: head/lib/libc/posix1e/acl_perm.c
==============================================================================
--- head/lib/libc/posix1e/acl_perm.c    Sun May 23 07:53:22 2010        
(r208436)
+++ head/lib/libc/posix1e/acl_perm.c    Sun May 23 08:12:36 2010        
(r208437)
@@ -108,3 +108,21 @@ acl_delete_perm(acl_permset_t permset_d,
 
        return (0);
 }
+
+int
+acl_get_perm_np(acl_permset_t permset_d, acl_perm_t perm)
+{
+
+       if (permset_d == NULL) {
+               errno = EINVAL;
+               return (-1);
+       }
+
+       if (_perm_is_invalid(perm))
+               return (-1);
+
+       if (*permset_d & perm)
+               return (1);
+
+       return (0);
+}
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to