1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum MoqSecureError {
5 #[error("invalid magic bytes")]
6 InvalidMagic,
7
8 #[error("unsupported version: {0}")]
9 UnsupportedVersion(u8),
10
11 #[error("not enough bytes in frame")]
12 TruncatedFrame,
13
14 #[error("ciphertext too short for AEAD tag")]
15 CiphertextTooShort,
16
17 #[error("invalid padding length")]
18 InvalidPadLength,
19
20 #[error("encrypted flag must be 0 or 1, got {0}")]
21 InvalidEncryptedFlag(u8),
22
23 #[error("sigFlag must be 0 or 1, got {0}")]
24 InvalidSigFlag(u8),
25
26 #[error("AEAD authentication failed")]
27 AeadAuthFailed,
28
29 #[error("signature invalid or signature verification failed")]
30 InvalidSignature,
31
32 #[error(
33 "signing is disabled but sigFlag indicates signature or sigSlot is non-zero"
34 )]
35 SigningMismatch,
36
37 #[error(
38 "signing enabled but sigFlag indicates signature while sigSlot is missing or zero"
39 )]
40 MissingSigSlot,
41
42 #[error("signature present (sigFlag=1) but nSigned is 0")]
43 SignatureNotAllowedByNSigned,
44
45 #[error("decryption failed")]
46 DecryptFailed,
47
48 #[error("unknown or not-loaded key_id: {0}")]
49 InvalidKeyId(u8),
50}