Skip to main content

Module cap

Module cap 

Source
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.
ProviderId
Identity of a provider object: which adapter, which object within it.
ToolPolicy
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 parent is a dotted-path prefix of child (or equal).