moved code logic to callling function & indent fix
This commit is contained in:
parent
8aa7a1d6be
commit
3c513b4bfc
2 changed files with 13 additions and 12 deletions
|
@ -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();
|
||||
QReadLocker locker(&clientsLock);
|
||||
for (int i = 0; i < clients.size(); ++i)
|
||||
if (static_cast<ServerSocketInterface *>(clients[i])->getPeerAddress() == address)
|
||||
++result;
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
@ -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());
|
||||
|
|
Loading…
Reference in a new issue