aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
author0xd34df00d <0xd34df00d@gmail.com>2015-01-28 02:12:45 +0300
committer0xd34df00d <0xd34df00d@gmail.com>2015-01-28 02:12:45 +0300
commit4039a861b309c42707f56d6cb392374d577fc301 (patch)
tree213e25c65e8894f24e4833482f83dd43d65cbae8 /src
parentcb931872579988d9bfd7de4f83a8fe27f7779e14 (diff)
downloadqxmpp-4039a861b309c42707f56d6cb392374d577fc301.tar.gz
Handle `bad-auth` auth replies, closes #36.
Diffstat (limited to 'src')
-rw-r--r--src/base/QXmppStanza.cpp4
-rw-r--r--src/base/QXmppStanza.h3
-rw-r--r--src/client/QXmppOutgoingClient.cpp2
3 files changed, 8 insertions, 1 deletions
diff --git a/src/base/QXmppStanza.cpp b/src/base/QXmppStanza.cpp
index 1e512145..b840a06b 100644
--- a/src/base/QXmppStanza.cpp
+++ b/src/base/QXmppStanza.cpp
@@ -291,6 +291,8 @@ QString QXmppStanza::Error::getConditionStr() const
return "undefined-condition";
case UnexpectedRequest:
return "unexpected-request";
+ case BadAuth:
+ return "bad-auth";
default:
return "";
}
@@ -358,6 +360,8 @@ 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 4583bcd3..d5cd205d 100644
--- a/src/base/QXmppStanza.h
+++ b/src/base/QXmppStanza.h
@@ -125,7 +125,8 @@ public:
ServiceUnavailable,
SubscriptionRequired,
UndefinedCondition,
- UnexpectedRequest
+ UnexpectedRequest,
+ BadAuth
};
Error();
diff --git a/src/client/QXmppOutgoingClient.cpp b/src/client/QXmppOutgoingClient.cpp
index 666b0365..cc14dbdf 100644
--- a/src/client/QXmppOutgoingClient.cpp
+++ b/src/client/QXmppOutgoingClient.cpp
@@ -540,6 +540,8 @@ void QXmppOutgoingClient::handleStanza(const QDomElement &nodeRecv)
if (failure.condition() == "not-authorized")
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);