diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2015-02-25 09:00:17 +0100 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2015-02-25 09:00:17 +0100 |
| commit | 02294cc0cf4e9a658da33e8d91896a4b6f2f9e8c (patch) | |
| tree | 76f40c9e53658fe3f21e12b8be54762619a0955a /src | |
| parent | da64eae308158b4e0e8816a93d698823b4785b1a (diff) | |
| download | qxmpp-02294cc0cf4e9a658da33e8d91896a4b6f2f9e8c.tar.gz | |
clean up support for 'bad-auth' replies, see #36
Diffstat (limited to 'src')
| -rw-r--r-- | src/base/QXmppStanza.cpp | 4 | ||||
| -rw-r--r-- | src/base/QXmppStanza.h | 3 | ||||
| -rw-r--r-- | src/client/QXmppOutgoingClient.cpp | 7 |
3 files changed, 5 insertions, 9 deletions
diff --git a/src/base/QXmppStanza.cpp b/src/base/QXmppStanza.cpp index b840a06b..1e512145 100644 --- a/src/base/QXmppStanza.cpp +++ b/src/base/QXmppStanza.cpp @@ -291,8 +291,6 @@ QString QXmppStanza::Error::getConditionStr() const return "undefined-condition"; case UnexpectedRequest: return "unexpected-request"; - case BadAuth: - return "bad-auth"; default: return ""; } @@ -360,8 +358,6 @@ void QXmppStanza::Error::setConditionFromStr(const QString& type) setCondition(UndefinedCondition); else if(type == "unexpected-request") setCondition(UnexpectedRequest); - else if(type == "bad-auth") - setCondition(BadAuth); else setCondition(static_cast<QXmppStanza::Error::Condition>(-1)); } diff --git a/src/base/QXmppStanza.h b/src/base/QXmppStanza.h index d5cd205d..4583bcd3 100644 --- a/src/base/QXmppStanza.h +++ b/src/base/QXmppStanza.h @@ -125,8 +125,7 @@ public: ServiceUnavailable, SubscriptionRequired, UndefinedCondition, - UnexpectedRequest, - BadAuth + UnexpectedRequest }; Error(); 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); |
