diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 12:41:41 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 12:41:41 +0000 |
commit | 10ee2acdd26a7f1298c6f6d6b7af9b469fe29b87 (patch) | |
tree | bdffd5d80c26cf4a7a518281a204be1ace85b4c1 /vendor/ed25519-compact/src/error.rs | |
parent | Releasing progress-linux version 1.70.0+dfsg1-9~progress7.99u1. (diff) | |
download | rustc-10ee2acdd26a7f1298c6f6d6b7af9b469fe29b87.tar.xz rustc-10ee2acdd26a7f1298c6f6d6b7af9b469fe29b87.zip |
Merging upstream version 1.70.0+dfsg2.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/ed25519-compact/src/error.rs')
-rw-r--r-- | vendor/ed25519-compact/src/error.rs | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/vendor/ed25519-compact/src/error.rs b/vendor/ed25519-compact/src/error.rs new file mode 100644 index 000000000..a73392d06 --- /dev/null +++ b/vendor/ed25519-compact/src/error.rs @@ -0,0 +1,45 @@ +use core::fmt::{self, Display}; + +#[derive(Debug, Copy, Clone, Eq, PartialEq)] +pub enum Error { + /// The signature doesn't verify. + SignatureMismatch, + /// A weak public key was used. + WeakPublicKey, + /// The public key is invalid. + InvalidPublicKey, + /// The secret key is invalid. + InvalidSecretKey, + /// The signature is invalid. + InvalidSignature, + /// The seed doesn't have the expected length. + InvalidSeed, + /// The blind doesn't have the expected length. + InvalidBlind, + /// The noise doesn't have the expected length. + InvalidNoise, + /// Parse error + ParseError, + /// Non-canonical encoding + NonCanonical, +} + +#[cfg(feature = "std")] +impl std::error::Error for Error {} + +impl Display for Error { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + Error::SignatureMismatch => write!(f, "Signature doesn't verify"), + Error::WeakPublicKey => write!(f, "Weak public key"), + Error::InvalidPublicKey => write!(f, "Invalid public key"), + Error::InvalidSecretKey => write!(f, "Invalid secret key"), + Error::InvalidSignature => write!(f, "Invalid signature"), + Error::InvalidSeed => write!(f, "Invalid seed length"), + Error::InvalidBlind => write!(f, "Invalid blind length"), + Error::InvalidNoise => write!(f, "Invalid noise length"), + Error::ParseError => write!(f, "Parse error"), + Error::NonCanonical => write!(f, "Non-canonical encoding"), + } + } +} |