wireguard_conf/utils/
mod.rs

1#[cfg(feature = "amneziawg")]
2mod amnezia;
3#[cfg(feature = "serde")]
4mod serde;
5
6mod keys;
7
8use thiserror::Error;
9
10#[cfg(feature = "amneziawg")]
11#[cfg_attr(docsrs, doc(cfg(feature = "amneziawg")))]
12pub use amnezia::*;
13
14pub use keys::*;
15
16/// `wireguard-conf` error.
17#[derive(Error, Debug, PartialEq)]
18pub enum WireguardError {
19    /// Error, when private key is invalid.
20    #[error("invalid private key")]
21    InvalidPrivateKey,
22
23    /// Error, when public key is invalid.
24    #[error("invalid public key")]
25    InvalidPublicKey,
26
27    /// Error, when preshared key is invalid.
28    #[error("invalid preshared key")]
29    InvalidPresharedKey,
30
31    /// Error, when private key isn't provided.
32    #[error("no private key provided")]
33    NoPrivateKeyProvided,
34
35    /// Error, when no IP assigned.
36    #[error("no assigned ip")]
37    NoAssignedIP,
38
39    /// Error, when some amnezia setting is invalid
40    #[cfg(feature = "amneziawg")]
41    #[error("invalid amnezia setting: {0}")]
42    InvalidAmneziaSetting(String),
43}
44
45/// Result alias.
46pub type WireguardResult<T> = Result<T, WireguardError>;