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 Servatrice::getUsersWithAddress(const QHostAddress &address) const
|
||||||
{
|
{
|
||||||
int result = 0;
|
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;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
#include <QHostAddress>
|
#include <QHostAddress>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QDateTime>
|
#include <QDateTime>
|
||||||
|
#include <QString>
|
||||||
#include "settingscache.h"
|
#include "settingscache.h"
|
||||||
#include "serversocketinterface.h"
|
#include "serversocketinterface.h"
|
||||||
#include "servatrice.h"
|
#include "servatrice.h"
|
||||||
|
@ -117,6 +118,11 @@ bool ServerSocketInterface::initSession()
|
||||||
sendProtocolItem(*identSe);
|
sendProtocolItem(*identSe);
|
||||||
delete 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();
|
int maxUsers = servatrice->getMaxUsersPerAddress();
|
||||||
if ((maxUsers > 0) && (servatrice->getUsersWithAddress(socket->peerAddress()) >= maxUsers)) {
|
if ((maxUsers > 0) && (servatrice->getUsersWithAddress(socket->peerAddress()) >= maxUsers)) {
|
||||||
Event_ConnectionClosed event;
|
Event_ConnectionClosed event;
|
||||||
|
@ -708,9 +714,9 @@ Response::ResponseCode ServerSocketInterface::cmdBanFromServer(const Command_Ban
|
||||||
|
|
||||||
QString userName = QString::fromStdString(cmd.user_name());
|
QString userName = QString::fromStdString(cmd.user_name());
|
||||||
QString address = QString::fromStdString(cmd.address());
|
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();
|
int minutes = cmd.minutes();
|
||||||
if (trustedSources.contains(address,Qt::CaseInsensitive))
|
if (trustedSources.contains(address,Qt::CaseInsensitive))
|
||||||
address = "";
|
address = "";
|
||||||
|
|
||||||
QSqlQuery query(sqlInterface->getDatabase());
|
QSqlQuery query(sqlInterface->getDatabase());
|
||||||
|
|
Loading…
Reference in a new issue