From 02294cc0cf4e9a658da33e8d91896a4b6f2f9e8c Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Wed, 25 Feb 2015 09:00:17 +0100 Subject: clean up support for 'bad-auth' replies, see #36 --- src/client/QXmppOutgoingClient.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/client') diff --git a/src/client/QXmppOutgoingClient.cpp b/src/client/QXmppOutgoingClient.cpp index cc14dbdf..f82ae807 100644 --- a/src/client/QXmppOutgoingClient.cpp +++ b/src/client/QXmppOutgoingClient.cpp @@ -538,10 +538,11 @@ void QXmppOutgoingClient::handleStanza(const QDomElement &nodeRecv) QXmppSaslFailure failure; failure.parse(nodeRecv); - if (failure.condition() == "not-authorized") + // RFC3920 defines the error condition as "not-authorized", but + // some broken servers use "bad-auth" instead. We tolerate this + // by remapping the error to "not-authorized". + if (failure.condition() == "not-authorized" || failure.condition() == "bad-auth") d->xmppStreamError = QXmppStanza::Error::NotAuthorized; - else if (failure.condition() == "bad-auth") - d->xmppStreamError = QXmppStanza::Error::BadAuth; else d->xmppStreamError = QXmppStanza::Error::UndefinedCondition; emit error(QXmppClient::XmppStreamError); -- cgit v1.2.3