enum PinEnvelopeAction {
UpToDate,
BackfillKeyId,
MigrateV1ToV2,
Failed(MigrationFailed),
}Expand description
What PinLockSystem::migrate_pin_envelope_if_needed should do with the persistent PIN
envelope, decided from key ids alone.
Variants§
UpToDate
The envelope already holds the current user key. Nothing to do.
BackfillKeyId
The envelope holds the current V1 user key but was sealed before V1 keys had derived key ids, so it carries none. Re-enroll under the same key so the envelope gains one. This is not a key change and needs no upgrade token.
MigrateV1ToV2
The envelope holds the previous V1 user key. Re-enroll under the current V2 user key. The upgrade token is used to confirm the envelope really is V1 before anything is rewritten.
Failed(MigrationFailed)
Terminal failure; no migration is possible.
Trait Implementations§
Source§impl Debug for PinEnvelopeAction
impl Debug for PinEnvelopeAction
Source§impl PartialEq for PinEnvelopeAction
impl PartialEq for PinEnvelopeAction
impl Eq for PinEnvelopeAction
impl StructuralPartialEq for PinEnvelopeAction
Auto Trait Implementations§
impl Freeze for PinEnvelopeAction
impl RefUnwindSafe for PinEnvelopeAction
impl Send for PinEnvelopeAction
impl Sync for PinEnvelopeAction
impl Unpin for PinEnvelopeAction
impl UnsafeUnpin for PinEnvelopeAction
impl UnwindSafe for PinEnvelopeAction
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
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
Mutably borrows from an owned value. Read more
§impl<T> CompatExt for T
impl<T> CompatExt for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
§fn new_handle(value: Arc<T>) -> Handle
fn new_handle(value: Arc<T>) -> Handle
Create a new handle for an Arc value Read more
§unsafe fn clone_handle(handle: Handle) -> Handle
unsafe fn clone_handle(handle: Handle) -> Handle
Clone a handle Read more
§unsafe fn consume_handle(handle: Handle) -> Arc<T>
unsafe fn consume_handle(handle: Handle) -> Arc<T>
Consume a handle, getting back the initial
Arc<> Read more§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more