From 3c513b4bfc900d65774f348b02e1d0dda02d6ad0 Mon Sep 17 00:00:00 2001 From: woogerboy21 Date: Tue, 18 Nov 2014 16:55:19 -0500 Subject: [PATCH] moved code logic to callling function & indent fix --- servatrice/src/servatrice.cpp | 15 +++++---------- servatrice/src/serversocketinterface.cpp | 10 ++++++++-- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/servatrice/src/servatrice.cpp b/servatrice/src/servatrice.cpp index 9aaf23e5..dd561846 100644 --- a/servatrice/src/servatrice.cpp +++ b/servatrice/src/servatrice.cpp @@ -380,16 +380,11 @@ QList Servatrice::getServerList() const int Servatrice::getUsersWithAddress(const QHostAddress &address) const { int result = 0; - QString trustedSources = settingsCache->value("server/trusted_sources","127.0.0.1,::1").toString(); - - if (trustedSources.contains(address.toString(),Qt::CaseInsensitive)) { - //allow all clients from trusted sources regardsless of number of connections - } else { - QReadLocker locker(&clientsLock); - for (int i = 0; i < clients.size(); ++i) - if (static_cast(clients[i])->getPeerAddress() == address) - ++result; - } + QReadLocker locker(&clientsLock); + for (int i = 0; i < clients.size(); ++i) + if (static_cast(clients[i])->getPeerAddress() == address) + ++result; + return result; } diff --git a/servatrice/src/serversocketinterface.cpp b/servatrice/src/serversocketinterface.cpp index 705e2edf..c141b796 100644 --- a/servatrice/src/serversocketinterface.cpp +++ b/servatrice/src/serversocketinterface.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include "settingscache.h" #include "serversocketinterface.h" #include "servatrice.h" @@ -117,6 +118,11 @@ bool ServerSocketInterface::initSession() sendProtocolItem(*identSe); delete identSe; + //allow unlimited number of connections from the trusted sources + QString trustedSources = settingsCache->value("server/trusted_sources","127.0.0.1,::1").toString(); + if (trustedSources.contains(address.toString(),Qt::CaseInsensitive)) + return true; + int maxUsers = servatrice->getMaxUsersPerAddress(); if ((maxUsers > 0) && (servatrice->getUsersWithAddress(socket->peerAddress()) >= maxUsers)) { Event_ConnectionClosed event; @@ -708,9 +714,9 @@ Response::ResponseCode ServerSocketInterface::cmdBanFromServer(const Command_Ban QString userName = QString::fromStdString(cmd.user_name()); QString address = QString::fromStdString(cmd.address()); - QString trustedSources = settingsCache->value("server/trusted_sources","127.0.0.1,::1").toString(); + QString trustedSources = settingsCache->value("server/trusted_sources","127.0.0.1,::1").toString(); int minutes = cmd.minutes(); - if (trustedSources.contains(address,Qt::CaseInsensitive)) + if (trustedSources.contains(address,Qt::CaseInsensitive)) address = ""; QSqlQuery query(sqlInterface->getDatabase());