From be9d0e07c3377a13f96363fd8bd7925b3ae17778 Mon Sep 17 00:00:00 2001 From: Daniel Schadt Date: Mon, 27 Nov 2023 17:29:30 +0100 Subject: more documentation --- src/error.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/error.rs') diff --git a/src/error.rs b/src/error.rs index 155a388..a79b8e0 100644 --- a/src/error.rs +++ b/src/error.rs @@ -1,13 +1,29 @@ +//! Error definitions for HIBE operations. use thiserror::Error; +/// Type for all errors that can occur when working with the HIBE implementations of this crate. #[derive(Debug, Error)] pub enum Error { + /// Error returned when the identity that was supplied exceeded the given maximum hierarchy + /// depth. + /// + /// Can also be returned when trying to derive a key that would exceed the maximum identity + /// depth. #[error("The supplied identity was too long")] IdentityTooLong, + + /// Error returned when trying to derive the root identity, as there is no parent key for the + /// root. #[error("The supplied identity had no elements")] EmptyIdentity, + + /// Error when the given ciphertext was malformed. + /// + /// Note that this crate does not verify the integrity of ciphertexts. The absence of a + /// malformation therefore does *not* mean that the ciphertext has not been tampered with! #[error("The supplied ciphertext was malforemd")] MalformedCiphertext, } +/// Shortcut for [`std::result::Result`] with [`enum@Error`] as the default error. pub type Result = std::result::Result; -- cgit v1.2.3