aboutsummaryrefslogtreecommitdiff
path: root/lockchain-core/src/errors/auth.rs
diff options
context:
space:
mode:
Diffstat (limited to 'lockchain-core/src/errors/auth.rs')
-rw-r--r--lockchain-core/src/errors/auth.rs29
1 files changed, 29 insertions, 0 deletions
diff --git a/lockchain-core/src/errors/auth.rs b/lockchain-core/src/errors/auth.rs
new file mode 100644
index 0000000..32ce33a
--- /dev/null
+++ b/lockchain-core/src/errors/auth.rs
@@ -0,0 +1,29 @@
+//! Athentication errors
+
+use std::error::Error as StdError;
+use std::fmt::{Display, Formatter, Result};
+
+/// Common errors that can occur when authenticating users
+#[derive(Debug, Serialize, Deserialize)]
+pub enum Error {
+ /// Forking an authentication task failed
+ FailedFork,
+ /// Failed to authenticate via PAM due to a PAM related issue
+ FailedPAM,
+ /// The provided user either doesn't exist or is not authorised
+ UserNotAuthorised,
+}
+
+impl StdError for Error {}
+
+impl Display for Error {
+ fn fmt(&self, f: &mut Formatter) -> Result {
+ write!(
+ f,
+ "{}",
+ match self {
+ _ => "Unknown failure",
+ }
+ )
+ }
+}