[cap-talk] More Heresey: ACLs not inherently bad
Charles Landau
clandau at macslab.com
Tue Sep 9 22:30:43 CDT 2008
Jed Donnelley wrote:
> At 08:12 AM 9/9/2008, Charles Landau wrote:
>> Jed Donnelley wrote:
>>> Charlie,
>>>
>>> I'm just trying to understand what you describe:
>>>
>>> At 10:38 PM 9/8/2008, Charles Landau wrote:
>>>> ...
>>>> (3) Construct a directory-like object (whose behavior is described
>>>> below) and pass a capability to it to the new process to use as its root
>>>> directory/namespace. When the new process first attempts to fetch a
>>>> subdirectory or leaf object from the directory-like object, the latter
>>>> determines whether it wants the new process to have access to that
>>>> object, and if so makes it available for that and subsequent requests.
>>> When you say, "the latter <I assume the subdirectory or leaf object>
>>> determines whether it wants the new process to have access..."
>> I meant "the latter, i.e. the directory-like object". The subdirectory
>> or leaf object isn't being invoked at that point, you are only fetching
>> a capability to it.
>
> Sorry - I was clear on that. I shouldn't have included the leaf
> object in the above <> (see below as to what I was thinking). What
> I don't understand is how such a directory-like object distinguishes
> between a fetch by the "new process" from a fetch by some other
> process (old process). Are you imagining some Horton-like mechanism
> where the relevant processes get different capabilities to the
> directory-like object so that the directory-like object can
> distinguish the fetches?
Each time you pass a different set of capabilities to a process, you
construct a new directory-like object that will give access to that set.
So in general, different processes will receive capabilities to
different directory-like objects. It needn't use Horton.
> E.g. when you say in response to JonathanS:
>
> At 08:20 AM 9/9/2008, Charles Landau wrote:
>
>> The directory-like object is constructed to have a policy based on
>> what you choose to give to the new process.
>
> it seems to me you are suggesting that the "new process" has some
> capability to the directory-like object that is different from
> that which some other (old) process has.
They have capabilities to different directory-like objects.
> In this case, however, when the new process fetches a
capability to a sub-
> directory-like object from
> the directory-like object capability that it has, it seems
> that the returned second directory-like object capability
> must be different from that which would be fetched by the
> old process making the same fetch. It would seem that the
> second directory-like object must inherit the "new process"ness
> if future fetches by the new process on the newly fetched
> directory-like object are to be able to enforce an appropriate
> policy (distinguish between that directory-like object fetched
> by new-process from that fetched by old-process)?
Yes, the sub-directories must also be different, unless they happen to
grant the same access.
More information about the cap-talk
mailing list