X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fsslserver.cpp;h=9c3c7edc15fde749230164c77249990a1dc87e6b;hp=f7d35c3447df70f49d5f871fc7f80e6a3c848638;hb=99055e8e4a83c234ae424cc225d3a7aa17c1544b;hpb=c33c05dbcb7c0c9a51dc3d9d85334e2482d5e18e diff --git a/src/core/sslserver.cpp b/src/core/sslserver.cpp index f7d35c34..9c3c7edc 100644 --- a/src/core/sslserver.cpp +++ b/src/core/sslserver.cpp @@ -21,6 +21,7 @@ #include "sslserver.h" #include +#include #include #include "core.h" @@ -62,9 +63,13 @@ void SslServer::incomingConnection(qintptr socketDescriptor) auto* socket = new QSslSocket(this); if (socket->setSocketDescriptor(socketDescriptor)) { if (isCertValid()) { - socket->setLocalCertificate(_cert); - socket->setPrivateKey(_key); - socket->addCaCertificates(_ca); + auto config = socket->sslConfiguration(); + config.setLocalCertificate(_cert); + config.setPrivateKey(_key); + auto certificates = config.caCertificates(); + certificates += _ca; + config.setCaCertificates(certificates); + socket->setSslConfiguration(config); } addPendingConnection(socket); } @@ -215,7 +220,8 @@ QSslKey SslServer::loadKey(QFile* keyFile) return key; } -void SslServer::setMetricsServer(MetricsServer* metricsServer) { +void SslServer::setMetricsServer(MetricsServer* metricsServer) +{ _metricsServer = metricsServer; if (_metricsServer) { _metricsServer->setCertificateExpires(_certificateExpires);