pub struct VerifiedHolder { /* private fields */ }Expand description
Who a connection is, as the one Connect verification proved it
(ACCESS-004 R1).
Two verifications make one, both in this module: [PassVerifier::verify],
from a pass whose registry signature and validity window it has checked,
and VerifiedHolder::from_lys_session, from a Lys pass the installed
admitter verified offline at Connect (ACCESS-001, the second producer).
There is no other constructor, so no further credential scheme can
produce one by accident. A bearer Connect names no one and yields none.
No code outside this module can build one (ACCESS-004 R1):
let holder = liminal_server::auth_pass::VerifiedHolder {
participant: b"watcher".to_vec(),
live: "watcher.".to_owned(),
};
drop(holder);Implementations§
Source§impl VerifiedHolder
impl VerifiedHolder
Sourcepub fn kind(&self) -> Option<&str>
pub fn kind(&self) -> Option<&str>
The holder’s Lys directory kind, when a Lys pass proved it and stated
one; None for a registry-pass holder.
Sourcepub fn allows_channel(&self, channel: &str) -> bool
pub fn allows_channel(&self, channel: &str) -> bool
Whether this holder’s own grant covers channel. A registry pass
grants its live prefix, and an empty prefix grants nothing. A Lys
holder’s rights are the Lys session’s per-subject decision, which the
connection makes before it asks this; the holder adds no second rule.
Sourcepub fn participant(&self) -> &[u8] ⓘ
pub fn participant(&self) -> &[u8] ⓘ
The holder’s participant bytes, as the pass named them.
Trait Implementations§
Source§impl Clone for VerifiedHolder
impl Clone for VerifiedHolder
Source§impl Debug for VerifiedHolder
impl Debug for VerifiedHolder
impl Eq for VerifiedHolder
Source§impl PartialEq for VerifiedHolder
impl PartialEq for VerifiedHolder
impl StructuralPartialEq for VerifiedHolder
Auto Trait Implementations§
impl Freeze for VerifiedHolder
impl RefUnwindSafe for VerifiedHolder
impl Send for VerifiedHolder
impl Sync for VerifiedHolder
impl Unpin for VerifiedHolder
impl UnsafeUnpin for VerifiedHolder
impl UnwindSafe for VerifiedHolder
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.