if (Quassel::isOptionSet("metrics-daemon")) {
_metricsServer = new MetricsServer(this);
-#ifdef HAVE_SSL
_server.setMetricsServer(_metricsServer);
_v6server.setMetricsServer(_metricsServer);
-#endif
}
Quassel::registerReloadHandler([]() {
bool Core::sslSupported()
{
-#ifdef HAVE_SSL
- auto* sslServer = qobject_cast<SslServer*>(&instance()->_server);
- return sslServer && sslServer->isCertValid();
-#else
- return false;
-#endif
+ return instance()->_server.isCertValid() && instance()->_v6server.isCertValid();
}
bool Core::reloadCerts()
{
-#ifdef HAVE_SSL
- auto* sslServerv4 = qobject_cast<SslServer*>(&_server);
- bool retv4 = sslServerv4->reloadCerts();
-
- auto* sslServerv6 = qobject_cast<SslServer*>(&_v6server);
- bool retv6 = sslServerv6->reloadCerts();
+ bool retv4 = _server.reloadCerts();
+ bool retv6 = _v6server.reloadCerts();
return retv4 && retv6;
-#else
- // SSL not supported, don't mark configuration reload as failed
- return true;
-#endif
}
void Core::cacheSysIdent()
void Core::incomingConnection()
{
- auto* server = qobject_cast<QTcpServer*>(sender());
+ auto* server = qobject_cast<SslServer*>(sender());
Q_ASSERT(server);
while (server->hasPendingConnections()) {
- QTcpSocket* socket = server->nextPendingConnection();
+ auto socket = qobject_cast<QSslSocket*>(server->nextPendingConnection());
+ Q_ASSERT(socket);
auto* handler = new CoreAuthHandler(socket, this);
_connectingClients.insert(handler);
connect(handler, &AuthHandler::socketError, this, &Core::socketError);
connect(handler, &CoreAuthHandler::handshakeComplete, this, &Core::setupClientSession);
- qInfo() << qPrintable(tr("Client connected from")) << qPrintable(socket->peerAddress().toString());
+ qInfo() << qPrintable(tr("Client connected from")) << qPrintable(handler->hostAddress().toString());
if (!_configured) {
stopListening(tr("Closing server for basic setup."));
auto* handler = qobject_cast<CoreAuthHandler*>(sender());
Q_ASSERT(handler);
- qInfo() << qPrintable(tr("Non-authed client disconnected:")) << qPrintable(handler->socket()->peerAddress().toString());
+ qInfo() << qPrintable(tr("Non-authed client disconnected:")) << qPrintable(handler->hostAddress().toString());
_connectingClients.remove(handler);
handler->deleteLater();