pub struct TlsPreflight {
pub bootstrap_window_open: bool,
pub issuer: Option<String>,
pub principals: Vec<PrincipalTls>,
}Expand description
What preflight found.
Fields§
§bootstrap_window_open: boolBootstrap.Enroll is still servable without a credential — the one
refusal.
issuer: Option<String>The issuer’s fingerprint, or None if this server has no issuer. A
server with no issuer cannot mint its listener’s own leaf either, which
serve.rs already refuses for its own reason; it is reported here so
the advance check says the same thing the start-up will.
principals: Vec<PrincipalTls>Every principal, sorted by id.
Implementations§
Source§impl TlsPreflight
impl TlsPreflight
Sourcepub fn locked_out(&self) -> impl Iterator<Item = &PrincipalTls>
pub fn locked_out(&self) -> impl Iterator<Item = &PrincipalTls>
Principals that can authenticate today and will not be able to after the flip.
Sourcepub fn reachable(&self) -> impl Iterator<Item = &PrincipalTls>
pub fn reachable(&self) -> impl Iterator<Item = &PrincipalTls>
Principals that hold a live certificate.
Sourcepub fn verdict(&self) -> Verdict
pub fn verdict(&self) -> Verdict
The verdict.
It can answer all three, and that is not decoration: a predicate
that could only ever say one thing would pass a test that asserted the
refusal and prove nothing about the other two. tests/tls_transition.rs
drives one table into each arm.
Trait Implementations§
Source§impl Clone for TlsPreflight
impl Clone for TlsPreflight
Source§impl Debug for TlsPreflight
impl Debug for TlsPreflight
Source§impl Display for TlsPreflight
impl Display for TlsPreflight
impl Eq for TlsPreflight
Source§impl PartialEq for TlsPreflight
impl PartialEq for TlsPreflight
impl StructuralPartialEq for TlsPreflight
Auto Trait Implementations§
impl Freeze for TlsPreflight
impl RefUnwindSafe for TlsPreflight
impl Send for TlsPreflight
impl Sync for TlsPreflight
impl Unpin for TlsPreflight
impl UnsafeUnpin for TlsPreflight
impl UnwindSafe for TlsPreflight
Blanket Implementations§
impl<T> Allocation for T
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.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request