enigma_aead/
error.rs

1use thiserror::Error;
2
3pub type EnigmaAeadResult<T> = Result<T, EnigmaAeadError>;
4
5#[derive(Debug, Error, PartialEq, Eq)]
6pub enum EnigmaAeadError {
7    #[error("invalid packet: {0}")]
8    InvalidPacket(&'static str),
9    #[error("unsupported version {0}")]
10    UnsupportedVersion(u8),
11    #[error("unsupported algorithm {0}")]
12    UnsupportedAlgorithm(u8),
13    #[error("aead operation failed")]
14    AeadError,
15    #[error("size limit exceeded")]
16    SizeLimitExceeded,
17    #[error("cryptographic failure")]
18    CryptoError,
19}
20
21impl From<chacha20poly1305::aead::Error> for EnigmaAeadError {
22    fn from(_: chacha20poly1305::aead::Error) -> Self {
23        EnigmaAeadError::AeadError
24    }
25}