pub enum SessionCreationError {
OneTimeKeyNotSigned(OwnedUserId, OwnedDeviceId),
OneTimeKeyMissing(OwnedUserId, OwnedDeviceId),
InvalidSignature {
one_time_key: Box<SignedKey>,
signing_key: Option<Box<Ed25519PublicKey>>,
error: Box<SignatureError>,
},
DeviceMissingCurveKey(OwnedUserId, OwnedDeviceId),
InvalidJson(Error),
InvalidCurveKey(KeyError),
InboundCreation(SessionCreationError),
InvalidDeviceKeys(SignatureError),
MismatchedIdentityKeys(MismatchedIdentityKeysError),
}
Expand description
Error that occurs when a room key can’t be converted into a valid Megolm session.
Variants§
OneTimeKeyNotSigned(OwnedUserId, OwnedDeviceId)
The requested one-time key isn’t a signed curve key.
OneTimeKeyMissing(OwnedUserId, OwnedDeviceId)
The signed one-time key is missing.
InvalidSignature
Failed to verify the one-time key signatures.
Fields
§
signing_key: Option<Box<Ed25519PublicKey>>
The key that was used to verify the signature.
§
error: Box<SignatureError>
The exact error describing why the signature verification failed.
DeviceMissingCurveKey(OwnedUserId, OwnedDeviceId)
The user’s device is missing a curve25519 key.
InvalidJson(Error)
Error deserializing the one-time key.
InvalidCurveKey(KeyError)
The given curve25519 key is not a valid key.
InboundCreation(SessionCreationError)
Error when creating an Olm Session from an incoming Olm message.
InvalidDeviceKeys(SignatureError)
The given device keys are invalid.
MismatchedIdentityKeys(MismatchedIdentityKeysError)
There was a mismatch between the identity keys of the device we received the room key from and the identity keys recorded in the plaintext of the room key to-device message.
Trait Implementations§
Source§impl Debug for SessionCreationError
impl Debug for SessionCreationError
Source§impl Display for SessionCreationError
impl Display for SessionCreationError
Source§impl Error for SessionCreationError
impl Error for SessionCreationError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Source§impl From<Error> for SessionCreationError
impl From<Error> for SessionCreationError
Source§impl From<KeyError> for SessionCreationError
impl From<KeyError> for SessionCreationError
Source§impl From<SessionCreationError> for OlmError
impl From<SessionCreationError> for OlmError
Source§fn from(source: SessionCreationError) -> Self
fn from(source: SessionCreationError) -> Self
Converts to this type from the input type.
Source§impl From<SessionCreationError> for SessionCreationError
impl From<SessionCreationError> for SessionCreationError
Source§fn from(source: SessionCreationError) -> Self
fn from(source: SessionCreationError) -> Self
Converts to this type from the input type.
Source§impl From<SignatureError> for SessionCreationError
impl From<SignatureError> for SessionCreationError
Source§fn from(source: SignatureError) -> Self
fn from(source: SignatureError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for SessionCreationError
impl !RefUnwindSafe for SessionCreationError
impl Send for SessionCreationError
impl Sync for SessionCreationError
impl Unpin for SessionCreationError
impl !UnwindSafe for SessionCreationError
Blanket Implementations§
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
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
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> 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