Re: [capsicum] Header location




On 24 Feb 2014, at 17:56, Robert N. M. Watson <robert.watson at cl.cam.ac.uk> wrote:

I believe <linux/capability.h> is the internal version of the header, and <sys/capability.h> is the user-space visible version (as per POSIX.1e) that includes & supplements it:  http://git.kernel.org/cgit/linux/kernel/git/morgan/libcap.git/tree/libcap/include/sys/capability.h (which turns up in the libcap-dev package normally).

It would certainly be nice to disambiguate the word "capability" in the kernel code, but I'm not sure how feasible that is...

I think we should stick with our use in data structures, comments, etc, since they are in fact 'capabilities' and we would introduce non-trivial confusion by using some other term -- but eliminating the header collision to ease adoption would definitely be worth doing.

In FreeBSD 11-CURRENT, I have:

(1) Renamed sys/capability.h to sys/capsicum.h
(2) Added a new compatibility header, sys/capability.h that does a nested include of sys/capsicum.h
(3) Bumped __FreeBSD_version to 1100014

I will plan to merge this to FreeBSD 10-STABLE in a couple of weeks once I'm sure it's settled without consequences, and it will appear in FreeBSD 10.1 in due course.

At some point I will add a #warn to sys/capability.h to attempt to sweep up applications using the old header.

Robert



This archive was generated by a fusion of Pipermail (Mailman edition) and MHonArc.