summaryrefslogtreecommitdiffstats
path: root/src/server/net/sslserver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/net/sslserver.cpp')
-rw-r--r--src/server/net/sslserver.cpp16
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();
}
}