24 lines
573 B
Rust
24 lines
573 B
Rust
//! Provides the SASL "ANONYMOUS" mechanism.
|
|
|
|
use sasl::{SaslMechanism, SaslCredentials, SaslSecret};
|
|
|
|
pub struct Anonymous;
|
|
|
|
impl Anonymous {
|
|
pub fn new() -> Anonymous {
|
|
Anonymous
|
|
}
|
|
}
|
|
|
|
impl SaslMechanism for Anonymous {
|
|
fn name(&self) -> &str { "ANONYMOUS" }
|
|
|
|
fn from_credentials(credentials: SaslCredentials) -> Result<Anonymous, String> {
|
|
if let SaslSecret::None = credentials.secret {
|
|
Ok(Anonymous)
|
|
}
|
|
else {
|
|
Err("the anonymous sasl mechanism requires no credentials".to_owned())
|
|
}
|
|
}
|
|
}
|