#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()));
while (server->hasPendingConnections()) {
QTcpSocket *socket = server->nextPendingConnection();
connect(socket, SIGNAL(readyRead()), this, SLOT(respond()));
+ connect(socket, SIGNAL(disconnected()), socket, SLOT(deleteLater()));
}
}
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();
+ }
}