X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fidentserver.cpp;h=5e728746fad05ed91d292c379e97197a02872878;hp=e8f89bbd5915823825181eb596fe1335e5d0c502;hb=c194ed5fb3d15e14b9364f9796d3521910dc72fe;hpb=2e83624ce2642589a5b1f298e4993c51d22caafe diff --git a/src/core/identserver.cpp b/src/core/identserver.cpp index e8f89bbd..5e728746 100644 --- a/src/core/identserver.cpp +++ b/src/core/identserver.cpp @@ -22,11 +22,10 @@ #include "corenetwork.h" #include "identserver.h" -#include "logger.h" +#include "logmessage.h" -IdentServer::IdentServer(bool strict, QObject *parent) +IdentServer::IdentServer(QObject *parent) : QObject(parent) - , _strict(strict) { connect(&_server, SIGNAL(newConnection()), this, SLOT(incomingConnection())); connect(&_v6server, SIGNAL(newConnection()), this, SLOT(incomingConnection())); @@ -95,6 +94,7 @@ void IdentServer::incomingConnection() while (server->hasPendingConnections()) { QTcpSocket *socket = server->nextPendingConnection(); connect(socket, SIGNAL(readyRead()), this, SLOT(respond())); + connect(socket, SIGNAL(disconnected()), socket, SLOT(deleteLater())); } } @@ -143,21 +143,23 @@ void IdentServer::respond() void Request::respondSuccess(const QString &user) { - QString data = query + " : USERID : Quassel : " + user + "\r\n"; - - socket->write(data.toUtf8()); - socket->flush(); - socket->close(); + if (socket) { + QString data = query + " : USERID : Quassel : " + user + "\r\n"; + socket->write(data.toUtf8()); + socket->flush(); + socket->close(); + } } void Request::respondError(const QString &error) { - QString data = query + " : ERROR : " + error + "\r\n"; - - socket->write(data.toUtf8()); - socket->flush(); - socket->close(); + if (socket) { + QString data = query + " : ERROR : " + error + "\r\n"; + socket->write(data.toUtf8()); + socket->flush(); + socket->close(); + } }