Hi, the FreeBSD code in https://svnweb.freebsd.org/base/head/lib/libc/posix1e/acl_set.c?revision=208785&view=markup#l53 shows that userland function acl_set_file(3) is implemented via kernel (?) call __acl_set_file(). This means that the internal representation of an ACL is not stored as extended file attribute on the first hand. (I assume that some filesystem implementations will put the data where they put extended attributes.)
Looking at the list from a previous post of Steven Chamberlain http://sources.debian.net/src/glibc/2.21-1/sysdeps/unix/bsd/bsd4.4/kfreebsd/ syscalls.list/?hl=11 i'd say that above libc/posix1e/acl_set.c is part of the connector between userland API and kernel. (Togther with acl_get.c and others.) So there is few hope for the current implementation of (non-GNU) libacl on kfreebsd. One would rather have to re-implement the API by help of https://svnweb.freebsd.org/base/head/lib/libc/posix1e/ and hope that the connection to the __acl* functions in the kernel (?) can be made. So next question: Where are functions like __acl_set_fd() implemented ? Would they work ? Have a nice day :) Thomas

