0a6f78a921
Initial implementation of the Lewes Protocol (LP) for gateway registration: - Add nym-lp crate with Noise protocol handshake - Add LP listener to gateway for handling registrations - Add LP client for registration flow - Integrate KKT for post-quantum KEM key exchange - Integrate PSQ for post-quantum PSK derivation - Add Ed25519 authentication throughout - Add docker/localnet support for testing Co-authored-by: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
29 lines
791 B
Rust
29 lines
791 B
Rust
// Copyright 2024 - Nym Technologies SA <contact@nymtech.net>
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
#[derive(Debug, thiserror::Error)]
|
|
pub enum Error {
|
|
#[error("{0}")]
|
|
Defguard(#[from] defguard_wireguard_rs::error::WireguardInterfaceError),
|
|
|
|
#[error("internal {0}")]
|
|
Internal(String),
|
|
|
|
#[error("storage should have the requested bandwidth entry")]
|
|
MissingClientBandwidthEntry,
|
|
|
|
#[error("kernel should have the requested client entry: {0}")]
|
|
MissingClientKernelEntry(String),
|
|
|
|
#[error("{0}")]
|
|
GatewayStorage(#[from] nym_gateway_storage::error::GatewayStorageError),
|
|
|
|
#[error("{0}")]
|
|
SystemTime(#[from] std::time::SystemTimeError),
|
|
|
|
#[error("IP pool error: {0}")]
|
|
IpPool(String),
|
|
}
|
|
|
|
pub type Result<T> = std::result::Result<T, Error>;
|