handle SASL failures
lumi
created
Change summary
src/client.rs | 5 +++++
src/error.rs | 1 +
2 files changed, 6 insertions(+)
Detailed changes
@@ -191,6 +191,11 @@ impl Client {
}
}
}
+ else if n.is("failure", ns::SASL) {
+ let msg = n.text();
+ let inner = if msg == "" { None } else { Some(msg) };
+ return Err(Error::SaslError(inner));
+ }
else if n.is("iq", ns::CLIENT) && n.has_child("bind", ns::BIND) {
return Ok(());
}
@@ -24,6 +24,7 @@ pub enum Error {
OpenSslErrorStack(ErrorStack),
MinidomError(MinidomError),
Base64Error(Base64Error),
+ SaslError(Option<String>),
StreamError,
EndOfDocument,
}