diff --git a/src/client/auth.rs b/src/client/auth.rs index 51bcaa11..9a56d049 100644 --- a/src/client/auth.rs +++ b/src/client/auth.rs @@ -92,9 +92,11 @@ impl ClientAuth { Box::new(ok(stream)) } else if let Ok(failure) = Failure::try_from(stanza.clone()) { Box::new(err(Error::Auth(AuthError::Fail(failure.defined_condition)))) + } else if stanza.name() == "failure" { + // Workaround for https://gitlab.com/xmpp-rs/xmpp-parsers/merge_requests/1 + Box::new(err(Error::Auth(AuthError::Sasl("failure".to_string())))) } else { // ignore and loop - println!("Ignore: {:?}", stanza); Self::handle_challenge(stream, mechanism) } }