X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fsslserver.h;h=eead9bfeda7c6a2baa398adab2cc00f49dfdd58a;hp=6ca1b915f531b00159168aa35b3fd1685d7b50ce;hb=HEAD;hpb=158443f71d48215eea8b47b836b61afd77654b78 diff --git a/src/core/sslserver.h b/src/core/sslserver.h index 6ca1b915..4997daae 100644 --- a/src/core/sslserver.h +++ b/src/core/sslserver.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2018 by the Quassel Project * + * Copyright (C) 2005-2022 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -20,26 +20,22 @@ #pragma once -#ifdef HAVE_SSL - +#include #include #include #include -#include -#include + +#include "metricsserver.h" class SslServer : public QTcpServer { Q_OBJECT public: - SslServer(QObject *parent = nullptr); - - bool hasPendingConnections() const override { return !_pendingConnections.isEmpty(); } - QTcpSocket *nextPendingConnection() override; + SslServer(QObject* parent = nullptr); - const QSslCertificate &certificate() const { return _cert; } - const QSslKey &key() const { return _key; } + const QSslCertificate& certificate() const { return _cert; } + const QSslKey& key() const { return _key; } bool isCertValid() const { return _isCertValid; } /** @@ -52,10 +48,12 @@ public: */ bool reloadCerts(); + void setMetricsServer(MetricsServer* metricsServer); + protected: void incomingConnection(qintptr socketDescriptor) override; - bool setCertificate(const QString &path, const QString &keyPath); + bool setCertificate(const QString& path, const QString& keyPath); private: /** @@ -67,18 +65,18 @@ private: * @return True if certificates loaded successfully, otherwise false. */ bool loadCerts(); - QSslKey loadKey(QFile *keyFile); + QSslKey loadKey(QFile* keyFile); + + MetricsServer* _metricsServer{nullptr}; - QLinkedList _pendingConnections; QSslCertificate _cert; QSslKey _key; QList _ca; bool _isCertValid{false}; // Used when reloading certificates later - QString _sslCertPath; /// Path to the certificate file - QString _sslKeyPath; /// Path to the private key file (may be in same file as above) -}; + QString _sslCertPath; /// Path to the certificate file + QString _sslKeyPath; /// Path to the private key file (may be in same file as above) - -#endif //HAVE_SSL + QDateTime _certificateExpires; +};