mirror of
https://github.com/samba-team/samba.git
synced 2025-03-27 22:50:26 +03:00
vfs_posixacl: catch ACL_EVERYONE on FreeBSD
Using POSIX ACL API on FreeBSD may return NFSv4 style tag type ACL_EVERYONE. Catch the error and issue a helpful log message telling users to enable zfsacl VFS module. Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Sun Oct 12 00:22:19 CEST 2014 on sn-devel-104
This commit is contained in:
parent
8686da231d
commit
f593835e54
@ -167,6 +167,11 @@ static bool smb_ace_to_internal(acl_entry_t posix_ace,
|
||||
case ACL_MASK:
|
||||
ace->a_type = SMB_ACL_MASK;
|
||||
break;
|
||||
#ifdef HAVE_ACL_EVERYONE
|
||||
case ACL_EVERYONE:
|
||||
DEBUG(1, ("ACL tag type ACL_EVERYONE. FreeBSD with ZFS? Use 'vfs objects = zfsacl'\n"));
|
||||
return false;
|
||||
#endif
|
||||
default:
|
||||
DEBUG(0, ("unknown tag type %d\n", (unsigned int)tag));
|
||||
return False;
|
||||
|
@ -476,6 +476,7 @@ return acl_get_perm_np(permset_d, perm);
|
||||
headers='sys/types.h sys/acl.h', link=True,
|
||||
msg="Checking whether acl_get_perm_np() is available")
|
||||
default_static_modules.extend(TO_LIST('vfs_posixacl'))
|
||||
conf.CHECK_VARIABLE('ACL_EVERYONE', headers='sys/acl.h')
|
||||
elif conf.CHECK_FUNCS_IN(['facl'], 'sec'):
|
||||
Logs.info('Using solaris or UnixWare ACLs')
|
||||
conf.DEFINE('HAVE_SOLARIS_UNIXWARE_ACLS',1)
|
||||
|
Loading…
x
Reference in New Issue
Block a user