[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

libattr/libacl



Hi all,

One of the current blocker of numerous of packages are libattr and
libacl (see my previous email). There used to build correctly on 
GNU/kFreeBSD, but that's not the case anymore.

A closer look shows that even if they were building correctly, they
could no work on GNU/kFreeBSD: libattr is using the syscalls number
from Linux...

On Linux, the ACL are stored as part of the extended attributes. libattr
is providing accesses to these attributes, while libacl has the logic to
convert them into ACL to provide the POSIX 1003.1e functions.

On GNU/kFreeBSD, the extended attributes accesses are using slightly 
different syscalls. The ACL are managed directly by syscalls very close
to the POSIX 1003.1e functions.

It looks like we need to port libattr and libacl (plus the corresponding
userland utilities from the same source package) to GNU/kFreeBSD. My
current option for libattr would be to add a conversion layer between 
the FreeBSD syscalls and the public API. That mainly involves
converting the namespace argument from string to int number. libacl
should be ported to not use libattr, but to do directly the syscalls.
That should be easy given the API correspond to the POSIX 1003.1e one,
and we can use code from FreeBSD's libc. 

In both case I really hope such changes would be accepted in Debian and
upstream.

What do people think about that? Any other idea?

Kind regards,
Aurelien

-- 
Aurelien Jarno	                        GPG: 1024D/F1BCDB73
aurelien@aurel32.net                 http://www.aurel32.net


Reply to: