X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fidentserver.cpp;h=c1cb5d036bc34805decceb72607f12c78b0415f5;hp=8a52520b26733f414b98768957b56d65282fb36f;hb=dcc39bc640adc4dc1b326162dbe8d682cb035447;hpb=e2188dc438be6f3eb0d9cdf47d28821aefe9835e diff --git a/src/core/identserver.cpp b/src/core/identserver.cpp index 8a52520b..c1cb5d03 100644 --- a/src/core/identserver.cpp +++ b/src/core/identserver.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2018 by the Quassel Project * + * Copyright (C) 2005-2019 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,54 +18,44 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ +#include "identserver.h" + #include #include "corenetwork.h" -#include "identserver.h" -#include "logmessage.h" -IdentServer::IdentServer(QObject *parent) +IdentServer::IdentServer(QObject* parent) : QObject(parent) { - connect(&_server, SIGNAL(newConnection()), this, SLOT(incomingConnection())); - connect(&_v6server, SIGNAL(newConnection()), this, SLOT(incomingConnection())); + connect(&_server, &QTcpServer::newConnection, this, &IdentServer::incomingConnection); + connect(&_v6server, &QTcpServer::newConnection, this, &IdentServer::incomingConnection); } - bool IdentServer::startListening() { uint16_t port = Quassel::optionValue("ident-port").toUShort(); bool success = false; - if (_v6server.listen(QHostAddress("::1"), port)) { - quInfo() << qPrintable( - tr("Listening for identd clients on IPv6 %1 port %2") - .arg("::1") - .arg(_v6server.serverPort()) - ); + if (_v6server.listen(QHostAddress("::"), port)) { + qInfo() << qPrintable(tr("Listening for identd clients on IPv6 %1 port %2").arg("::").arg(_v6server.serverPort())); success = true; } - if (_server.listen(QHostAddress("127.0.0.1"), port)) { - quInfo() << qPrintable( - tr("Listening for identd clients on IPv4 %1 port %2") - .arg("127.0.0.1") - .arg(_server.serverPort()) - ); + if (_server.listen(QHostAddress("0.0.0.1"), port)) { + qInfo() << qPrintable(tr("Listening for identd clients on IPv4 %1 port %2").arg("0.0.0.1").arg(_server.serverPort())); success = true; } if (!success) { - quError() << qPrintable(tr("Identd could not open any network interfaces to listen on! No identd functionality will be available")); + qWarning() << qPrintable(tr("Identd could not open any network interfaces to listen on! No identd functionality will be available")); } return success; } - -void IdentServer::stopListening(const QString &msg) +void IdentServer::stopListening(const QString& msg) { bool wasListening = false; @@ -80,28 +70,26 @@ void IdentServer::stopListening(const QString &msg) if (wasListening) { if (msg.isEmpty()) - quInfo() << "No longer listening for identd clients."; + qInfo() << "No longer listening for identd clients."; else - quInfo() << qPrintable(msg); + qInfo() << qPrintable(msg); } } - void IdentServer::incomingConnection() { - auto server = qobject_cast(sender()); + auto server = qobject_cast(sender()); Q_ASSERT(server); while (server->hasPendingConnections()) { - QTcpSocket *socket = server->nextPendingConnection(); - connect(socket, SIGNAL(readyRead()), this, SLOT(respond())); - connect(socket, SIGNAL(disconnected()), socket, SLOT(deleteLater())); + QTcpSocket* socket = server->nextPendingConnection(); + connect(socket, &QIODevice::readyRead, this, &IdentServer::respond); + connect(socket, &QAbstractSocket::disconnected, socket, &QObject::deleteLater); } } - void IdentServer::respond() { - auto *socket = qobject_cast(sender()); + auto* socket = qobject_cast(sender()); Q_ASSERT(socket); qint64 transactionId = _socketId; @@ -140,8 +128,7 @@ void IdentServer::respond() } } - -void Request::respondSuccess(const QString &user) +void Request::respondSuccess(const QString& user) { if (socket) { QString data = query + " : USERID : Quassel : " + user + "\r\n"; @@ -151,8 +138,7 @@ void Request::respondSuccess(const QString &user) } } - -void Request::respondError(const QString &error) +void Request::respondError(const QString& error) { if (socket) { QString data = query + " : ERROR : " + error + "\r\n"; @@ -162,7 +148,6 @@ void Request::respondError(const QString &error) } } - bool IdentServer::responseAvailable(Request request) const { if (!_connections.contains(request.localPort)) { @@ -173,22 +158,29 @@ bool IdentServer::responseAvailable(Request request) const return true; } - -void IdentServer::addSocket(const CoreIdentity *identity, const QHostAddress &localAddress, quint16 localPort, - const QHostAddress &peerAddress, quint16 peerPort, qint64 socketId) +void IdentServer::addSocket(const CoreIdentity* identity, + const QHostAddress& localAddress, + quint16 localPort, + const QHostAddress& peerAddress, + quint16 peerPort, + qint64 socketId) { Q_UNUSED(localAddress) Q_UNUSED(peerAddress) Q_UNUSED(peerPort) - const CoreNetwork *network = qobject_cast(sender()); - _connections[localPort] = network->coreSession()->strictCompliantIdent(identity);; + const CoreNetwork* network = qobject_cast(sender()); + _connections[localPort] = network->coreSession()->strictCompliantIdent(identity); + ; processWaiting(socketId); } - -void IdentServer::removeSocket(const CoreIdentity *identity, const QHostAddress &localAddress, quint16 localPort, - const QHostAddress &peerAddress, quint16 peerPort, qint64 socketId) +void IdentServer::removeSocket(const CoreIdentity* identity, + const QHostAddress& localAddress, + quint16 localPort, + const QHostAddress& peerAddress, + quint16 peerPort, + qint64 socketId) { Q_UNUSED(identity) Q_UNUSED(localAddress) @@ -199,7 +191,6 @@ void IdentServer::removeSocket(const CoreIdentity *identity, const QHostAddress processWaiting(socketId); } - qint64 IdentServer::addWaitingSocket() { qint64 newSocketId = _socketId++; @@ -207,7 +198,6 @@ qint64 IdentServer::addWaitingSocket() return newSocketId; } - qint64 IdentServer::lowestSocketId() const { if (_waiting.empty()) { @@ -217,13 +207,11 @@ qint64 IdentServer::lowestSocketId() const return _waiting.front(); } - void IdentServer::removeWaitingSocket(qint64 socketId) { _waiting.remove(socketId); } - void IdentServer::processWaiting(qint64 socketId) { removeWaitingSocket(socketId); @@ -242,8 +230,7 @@ void IdentServer::processWaiting(qint64 socketId) }); } - -bool operator==(const Request &a, const Request &b) +bool operator==(const Request& a, const Request& b) { return a.requestId == b.requestId; }