Enum ieee802154::mac::frame::security::SecurityError
source · [−]pub enum SecurityError {
Show 18 variants
SecurityNotEnabled,
InvalidSecContext,
FrameTooLong,
CounterError,
UnavailableKey,
KeyFailure,
NoSourceAddress,
NoDestinationAddress,
TransformationError,
WriteError(Error),
TagWriteError,
NotImplemented,
AuxSecHeaderAbsent,
KeyIdentifierMismatch,
UnsupportedLegacy,
UnsupportedSecurity,
UnavailableDevice,
KeyLookupAddressTypeMismatch,
}
Expand description
Errors that can occur while performing security operations on frames
Variants
SecurityNotEnabled
Security is not enabled for this frame
InvalidSecContext
The provided security context cannot be used to secure the frame
FrameTooLong
The frame is too long after appending all security data
CounterError
The counter used for securing a frame is invalid (0xFFFFFFFF)
UnavailableKey
No key could be found for the provided context
KeyFailure
The key could not be used in an adequate manner
NoSourceAddress
The frame to be unsecured has no source address specified. The source address is necessary to calculate the nonce, in some cases
NoDestinationAddress
The frame to be secured has no destination address specified. The destination address is necessary to calculate the nonce, in some cases
TransformationError
The security (CCM*) transformation could not be completed successfully
WriteError(Error)
Something went wrong while writing the frame’s payload bytes to the buffer
TagWriteError
Something went wrong while writing a frame’s tag to the buffer
NotImplemented
When functionality that is not implemented is used
AuxSecHeaderAbsent
Security is enabled, but no auxiliary security header is present
KeyIdentifierMismatch
The type of key identifier mode specified in the security control differs from the type of key identifier present in the key_identifier field
UnsupportedLegacy
When a frame with an unsupported legacy version is passed to the unsecuring function
UnsupportedSecurity
The security level of an incomin frame is zero
UnavailableDevice
The device descriptor that belongs to an address can not be found
KeyLookupAddressTypeMismatch
The address returned by the specific implementation of KeyDescriptorLookup
is not
of type Address::Extended
Trait Implementations
sourceimpl Clone for SecurityError
impl Clone for SecurityError
sourcefn clone(&self) -> SecurityError
fn clone(&self) -> SecurityError
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for SecurityError
impl Debug for SecurityError
sourceimpl From<Error> for SecurityError
impl From<Error> for SecurityError
sourceimpl From<SecurityError> for Error
impl From<SecurityError> for Error
sourcefn from(e: SecurityError) -> Self
fn from(e: SecurityError) -> Self
Converts to this type from the input type.
impl Copy for SecurityError
Auto Trait Implementations
impl RefUnwindSafe for SecurityError
impl Send for SecurityError
impl Sync for SecurityError
impl Unpin for SecurityError
impl UnwindSafe for SecurityError
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more