modernize: Use '= default' instead of empty ctor/dtor bodies
[quassel.git] / src / core / identserver.cpp
index e8f89bb..5e72874 100644 (file)
 
 #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();
+    }
 }