aboutsummaryrefslogtreecommitdiff
path: root/src/server/QXmppIncomingClient.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2012-09-10 13:06:13 +0200
committerJeremy Lainé <jeremy.laine@m4x.org>2012-09-10 13:06:13 +0200
commitfcf89b7834cd253eb5993f03d891d0b6ab1a9953 (patch)
treeabea7f9eb3ad2a55489390a6233172f51be94a7e /src/server/QXmppIncomingClient.cpp
parent07459d41fe7e316efe3a848eaec50cb2aebe19c9 (diff)
downloadqxmpp-fcf89b7834cd253eb5993f03d891d0b6ab1a9953.tar.gz
[server] lay groundwork for client auth statistics
Diffstat (limited to 'src/server/QXmppIncomingClient.cpp')
-rw-r--r--src/server/QXmppIncomingClient.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/server/QXmppIncomingClient.cpp b/src/server/QXmppIncomingClient.cpp
index 76fa9f6f..f3685ae9 100644
--- a/src/server/QXmppIncomingClient.cpp
+++ b/src/server/QXmppIncomingClient.cpp
@@ -306,6 +306,7 @@ void QXmppIncomingClient::handleStanza(const QDomElement &nodeRecv)
// authentication succeeded
d->jid = QString("%1@%2").arg(d->saslServer->username(), d->domain);
info(QString("Authentication succeeded for '%1' from %2").arg(d->jid, d->origin()));
+ incrementCounter("incoming-client.auth.success");
sendPacket(QXmppSaslSuccess());
handleStart();
} else {
@@ -398,7 +399,8 @@ void QXmppIncomingClient::onDigestReply()
reply->deleteLater();
if (reply->error() == QXmppPasswordReply::TemporaryError) {
- warning(QString("Temporary authentication failure for '%1'").arg(d->saslServer->username()));
+ warning(QString("Temporary authentication failure for '%1' from %2").arg(d->saslServer->username(), d->origin()));
+ incrementCounter("incoming-client.auth.temporary-auth-failure");
sendPacket(QXmppSaslFailure("temporary-auth-failure"));
disconnectFromHost();
return;
@@ -409,6 +411,8 @@ void QXmppIncomingClient::onDigestReply()
QXmppSaslServer::Response result = d->saslServer->respond(reply->property("__sasl_raw").toByteArray(), challenge);
if (result != QXmppSaslServer::Challenge) {
+ warning(QString("Authentication failed for '%1' from %2").arg(d->saslServer->username(), d->origin()));
+ incrementCounter("incoming-client.auth.not-authorized");
sendPacket(QXmppSaslFailure("not-authorized"));
disconnectFromHost();
return;
@@ -430,16 +434,19 @@ void QXmppIncomingClient::onPasswordReply()
case QXmppPasswordReply::NoError:
d->jid = jid;
info(QString("Authentication succeeded for '%1' from %2").arg(d->jid, d->origin()));
+ incrementCounter("incoming-client.auth.success");
sendPacket(QXmppSaslSuccess());
handleStart();
break;
case QXmppPasswordReply::AuthorizationError:
warning(QString("Authentication failed for '%1' from %2").arg(jid, d->origin()));
+ incrementCounter("incoming-client.auth.not-authorized");
sendPacket(QXmppSaslFailure("not-authorized"));
disconnectFromHost();
break;
case QXmppPasswordReply::TemporaryError:
warning(QString("Temporary authentication failure for '%1' from %2").arg(jid, d->origin()));
+ incrementCounter("incoming-client.auth.temporary-auth-failure");
sendPacket(QXmppSaslFailure("temporary-auth-failure"));
disconnectFromHost();
break;