Expand description
Capabilities: unforgeable, attenuable references.
A capability is an opaque 128-bit id minted by a kernel from a per-kernel
secret, a monotonic serial and the parent id. Holding the id is the only
authority needed to call the object it names, and the kernel is the only
component that can mint one: an id that is not in the registry is refused
with rpc/unknown-capability, so a peer cannot forge, guess or transplant a
capability from another connection.
Attenuation is monotone by construction: CapAttrs::attenuate refuses any
attempt to widen methods, budget, path scope or tool policy.
Structs§
- CapAttrs
- The authority a capability carries.
- CapHandle
- A client-side capability handle.
- CapId
- An unforgeable capability identifier.
- CapRecord
- Provider-side record of a live capability.
- Provider
Id - Identity of a provider object: which adapter, which object within it.
- Tool
Policy - Tool-level policy attached to a capability.
Traits§
- CapControl
- Control surface a capability handle uses to release its reference.
Functions§
- is_
path_ prefix - True when
parentis a dotted-path prefix ofchild(or equal).