svn commit: r208437 - head/lib/libc/posix1e

Edward Tomasz Napierala trasz at FreeBSD.org
Sun May 23 08:12:36 UTC 2010


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);
+}


More information about the svn-src-all mailing list