Add the opensmtpd_derive crate
This commit is contained in:
parent
d1d51bbaa8
commit
4598fb33e4
29 changed files with 81 additions and 39 deletions
31
opensmtpd/src/data_structures/auth_result.rs
Normal file
31
opensmtpd/src/data_structures/auth_result.rs
Normal file
|
@ -0,0 +1,31 @@
|
|||
use std::str::FromStr;
|
||||
|
||||
#[derive(Clone, Debug, Eq, PartialEq)]
|
||||
pub enum AuthResult {
|
||||
Pass,
|
||||
Fail,
|
||||
Error,
|
||||
}
|
||||
|
||||
impl ToString for AuthResult {
|
||||
fn to_string(&self) -> String {
|
||||
match self {
|
||||
AuthResult::Pass => String::from("pass"),
|
||||
AuthResult::Fail => String::from("fail"),
|
||||
AuthResult::Error => String::from("error"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl FromStr for AuthResult {
|
||||
type Err = ();
|
||||
|
||||
fn from_str(s: &str) -> Result<Self, Self::Err> {
|
||||
match s {
|
||||
"pass" => Ok(AuthResult::Pass),
|
||||
"fail" => Ok(AuthResult::Fail),
|
||||
"error" => Ok(AuthResult::Error),
|
||||
_ => Err(()),
|
||||
}
|
||||
}
|
||||
}
|
Reference in a new issue