From fcf89b7834cd253eb5993f03d891d0b6ab1a9953 Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Mon, 10 Sep 2012 13:06:13 +0200 Subject: [server] lay groundwork for client auth statistics --- src/server/QXmppIncomingClient.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/server/QXmppIncomingClient.cpp') 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; -- cgit v1.2.3