#include "sslserver.h"
#include <QDateTime>
+#include <QSslConfiguration>
#include <QSslSocket>
#include "core.h"
}
}
-QTcpSocket* SslServer::nextPendingConnection()
-{
- if (_pendingConnections.isEmpty())
- return nullptr;
- else
- return _pendingConnections.takeFirst();
-}
-
void SslServer::incomingConnection(qintptr socketDescriptor)
{
- auto* serverSocket = new QSslSocket(this);
- if (serverSocket->setSocketDescriptor(socketDescriptor)) {
+ auto* socket = new QSslSocket(this);
+ if (socket->setSocketDescriptor(socketDescriptor)) {
if (isCertValid()) {
- serverSocket->setLocalCertificate(_cert);
- serverSocket->setPrivateKey(_key);
- serverSocket->addCaCertificates(_ca);
+ auto config = socket->sslConfiguration();
+ config.setLocalCertificate(_cert);
+ config.setPrivateKey(_key);
+ auto certificates = config.caCertificates();
+ certificates += _ca;
+ config.setCaCertificates(certificates);
+ socket->setSslConfiguration(config);
}
- _pendingConnections << serverSocket;
- emit newConnection();
+ addPendingConnection(socket);
}
else {
- delete serverSocket;
+ delete socket;
}
}
return key;
}
-void SslServer::setMetricsServer(MetricsServer* metricsServer) {
+void SslServer::setMetricsServer(MetricsServer* metricsServer)
+{
_metricsServer = metricsServer;
if (_metricsServer) {
_metricsServer->setCertificateExpires(_certificateExpires);