Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK4o1Wy=a-kng7hYCOzW-5DH00JwiaUOGgnjVydBwF7CQPrL-w@mail.gmail.com>
Date: Mon, 27 Aug 2012 12:26:15 +0100
From: Justin Cormack <justin@...cialbusservice.com>
To: musl@...ts.openwall.com
Subject: Re: Implementation of sys/capabilities.h

On Mon, Aug 27, 2012 at 11:23 AM, Igmar Palsenberg <igmar@...senberg.com> wrote:
>> Why in Musl out of interest? They are not in other libc's, and people
>> expect to link to libcap for them surely. And some people argue that
>> the interfaces are not very well designed (indeed libcap seems to be
>> adding extra ones not in the withdrawn posix draft), eg see
>> http://people.redhat.com/sgrubb/libcap-ng/
>
> It's open for debate. The syscalls need to be there (including the structs the kernel uses), and I've got those in a patch.
>
> I agree the interface is shit : Way to complicated, while only need some simple functions, with a bitmap to represent them. Why implement it ?
> It's the only thing we got, and programs assume it's POSIX, so it should be present. Yes, it's broken, but capabilities are a needed feature if you ask me.
>

Definitely add the syscalls, anyway, regardless.

I am just not sure that "programs assume it's POSIX, so it should be
present", I would assume they would expect to have to link against
external libcap, which would be an explicit dependency, not assumed
part of libc. They are part of the draft POSIX 1e, but it is only a
suggestion and not a standard, and really needed more work.

It is a difficult one, as the kernel API is a bit unpleasant. But
including a partial implementation is asking for trouble too. Perhaps
another option is a posix 1e companion library that implements the
other parts? Not sure...

Justin

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.