moved code logic to callling function & indent fix

This commit is contained in:
woogerboy21 2014-11-18 16:55:19 -05:00
parent 8aa7a1d6be
commit 3c513b4bfc
2 changed files with 13 additions and 12 deletions

View file

@ -380,16 +380,11 @@ QList<ServerProperties> 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<ServerSocketInterface *>(clients[i])->getPeerAddress() == address)
++result;
}
return result;
}

View file

@ -22,6 +22,7 @@
#include <QHostAddress>
#include <QDebug>
#include <QDateTime>
#include <QString>
#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;