aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
Diffstat (limited to 'src/server')
-rw-r--r--src/server/QXmppIncomingClient.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/server/QXmppIncomingClient.cpp b/src/server/QXmppIncomingClient.cpp
index 1b22ac3c..fd6fce18 100644
--- a/src/server/QXmppIncomingClient.cpp
+++ b/src/server/QXmppIncomingClient.cpp
@@ -273,6 +273,13 @@ void QXmppIncomingClient::handleStanza(const QDomElement &nodeRecv)
QXmppSaslResponse response;
response.parse(nodeRecv);
+ if (!d->saslServer) {
+ warning("SASL response received, but no mechanism selected");
+ sendPacket(QXmppSaslFailure());
+ disconnectFromHost();
+ return;
+ }
+
QByteArray challenge;
QXmppSaslServer::Response result = d->saslServer->respond(response.value(), challenge);
if (result == QXmppSaslServer::InputNeeded) {