summaryrefslogtreecommitdiffstats
path: root/src/noise/types.rs
diff options
context:
space:
mode:
authorMathias Hall-Andersen <mathias@hall-andersen.dk>2019-07-30 15:28:11 +0200
committerMathias Hall-Andersen <mathias@hall-andersen.dk>2019-07-30 15:28:11 +0200
commit1cfd5aea1aba4b01905414351df13e8f5d4dfb1c (patch)
tree1ddc2d7a08a486676e9cf045f31a1fe0d5714bc5 /src/noise/types.rs
parentBegin work on MAC field processing (diff)
downloadwireguard-rs-1cfd5aea1aba4b01905414351df13e8f5d4dfb1c.tar.xz
wireguard-rs-1cfd5aea1aba4b01905414351df13e8f5d4dfb1c.zip
Move to nested handshake message structure
Having the nested structure: Handshake Message: Noise part (zerocopy message) MAC footer part (zerocopy message) Greatly simplifies processing the MAC fields, since the MAC footer covers the noise part, which can be accessed as bytes using AsBytes.
Diffstat (limited to '')
-rw-r--r--src/noise/types.rs81
1 files changed, 0 insertions, 81 deletions
diff --git a/src/noise/types.rs b/src/noise/types.rs
deleted file mode 100644
index 0d9a5d3..0000000
--- a/src/noise/types.rs
+++ /dev/null
@@ -1,81 +0,0 @@
-use std::error::Error;
-use std::fmt;
-
-use crate::types::KeyPair;
-
-/* Internal types for the noise IKpsk2 implementation */
-
-// config error
-
-#[derive(Debug)]
-pub struct ConfigError(String);
-
-impl ConfigError {
- pub fn new(s: &str) -> Self {
- ConfigError(s.to_string())
- }
-}
-
-impl fmt::Display for ConfigError {
- fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
- write!(f, "ConfigError({})", self.0)
- }
-}
-
-impl Error for ConfigError {
- fn description(&self) -> &str {
- &self.0
- }
-
- fn source(&self) -> Option<&(dyn Error + 'static)> {
- None
- }
-}
-
-// handshake error
-
-#[derive(Debug)]
-pub enum HandshakeError {
- DecryptionFailure,
- UnknownPublicKey,
- UnknownReceiverId,
- InvalidMessageFormat,
- OldTimestamp,
- InvalidState,
-}
-
-impl fmt::Display for HandshakeError {
- fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
- match self {
- HandshakeError::DecryptionFailure => write!(f, "Failed to AEAD:OPEN"),
- HandshakeError::UnknownPublicKey => write!(f, "Unknown public key"),
- HandshakeError::UnknownReceiverId => {
- write!(f, "Receiver id not allocated to any handshake")
- }
- HandshakeError::InvalidMessageFormat => write!(f, "Invalid handshake message format"),
- HandshakeError::OldTimestamp => write!(f, "Timestamp is less/equal to the newest"),
- HandshakeError::InvalidState => write!(f, "Message does not apply to handshake state"),
- }
- }
-}
-
-impl Error for HandshakeError {
- fn description(&self) -> &str {
- "Generic Handshake Error"
- }
-
- fn source(&self) -> Option<&(dyn Error + 'static)> {
- None
- }
-}
-
-pub type Output<T> = (
- T, // external identifier associated with peer
- // (e.g. a reference or vector index)
- Option<Vec<u8>>, // message to send
- Option<KeyPair>, // resulting key-pair of successful handshake
-);
-
-// preshared key
-
-pub type Psk = [u8; 32];