Make acl_get_perm_np(3) work with NFSv4 ACLs.
Reviewed by: kientzle@ MFC after: 1 week
This commit is contained in:
parent
3c4c08dce7
commit
9fcd375657
@ -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.
|
||||
|
@ -108,3 +108,21 @@ acl_delete_perm(acl_permset_t permset_d, acl_perm_t perm)
|
||||
|
||||
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);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user