diff options
Diffstat (limited to 'src/server/net/sslserver.cpp')
-rw-r--r-- | src/server/net/sslserver.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/server/net/sslserver.cpp b/src/server/net/sslserver.cpp index d968834..2dfa84c 100644 --- a/src/server/net/sslserver.cpp +++ b/src/server/net/sslserver.cpp @@ -21,7 +21,9 @@ #include "certmanager.h" #include <unistd.h> -SslServer::SslServer() : QTcpServer(nullptr), _timer(new QTimer(this)) +SslServer::SslServer(QObject *parent) + : QTcpServer(parent) + , _timer(new QTimer(this)) { connect(_timer, &QTimer::timeout, [=]() { if (_pending.empty()) @@ -43,9 +45,11 @@ SslServer::SslServer() : QTcpServer(nullptr), _timer(new QTimer(this)) SslServer::~SslServer() { _timer->stop(); - for (QSslSocket *sock : _pending.keys()) { + auto keys = _pending.keys(); + for (QSslSocket *sock : keys) { sock->deleteLater(); } + _pending.clear(); } /** @@ -57,14 +61,14 @@ void SslServer::incomingConnection(qintptr socketDescriptor) static int certFails = 0; QSslKey key; QSslCertificate cert; - if (!CertManager::getPrivateKeyAndCert("manager", key, cert)) { + if (!CertManager::getPrivateKeyAndCert("manager2", key, cert)) { if (++certFails > 5) { CertManager::fatal(); } ::close(int(socketDescriptor)); return; } - QSslSocket *serverSocket = new QSslSocket(nullptr); + auto *serverSocket = new QSslSocket(nullptr); connect(serverSocket, QOverload<const QList<QSslError> &>::of(&QSslSocket::sslErrors), this, &SslServer::sslErrors); serverSocket->setPrivateKey(key); serverSocket->setLocalCertificate(cert); @@ -93,8 +97,8 @@ void SslServer::incomingConnection(qintptr socketDescriptor) void SslServer::sslErrors(const QList<QSslError>& errors) { qDebug() << "Client caused sslErrors before connection:"; - for (QList<QSslError>::const_iterator it = errors.begin(); it != errors.end(); it++) { - qDebug() << it->errorString(); + for (const auto & error : errors) { + qDebug() << error.errorString(); } } |