X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fsslserver.h;h=bd54202a8359429cdc005a09bc4ca2d41b5687de;hb=2c4cc10cfb540da2b33c2a2dba8e012b2b594395;hp=01d6af9e1d0052787cd2222c7ccff838a31c2146;hpb=d31101ed316b6449de0d8dad7a1e1e8d097807a5;p=quassel.git diff --git a/src/core/sslserver.h b/src/core/sslserver.h index 01d6af9e..bd54202a 100644 --- a/src/core/sslserver.h +++ b/src/core/sslserver.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2016 by the Quassel Project * + * Copyright (C) 2005-2019 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,30 +18,31 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef SSLSERVER_H -#define SSLSERVER_H +#pragma once #ifdef HAVE_SSL -#include -#include -#include -#include -#include +# include +# include +# include +# include +# include + +# include "metricsserver.h" class SslServer : public QTcpServer { Q_OBJECT public: - SslServer(QObject *parent = 0); + SslServer(QObject* parent = nullptr); - virtual inline bool hasPendingConnections() const { return !_pendingConnections.isEmpty(); } - virtual QTcpSocket *nextPendingConnection(); + bool hasPendingConnections() const override { return !_pendingConnections.isEmpty(); } + QTcpSocket* nextPendingConnection() override; - virtual inline const QSslCertificate &certificate() const { return _cert; } - virtual inline const QSslKey &key() const { return _key; } - virtual inline bool isCertValid() const { return _isCertValid; } + const QSslCertificate& certificate() const { return _cert; } + const QSslKey& key() const { return _key; } + bool isCertValid() const { return _isCertValid; } /** * Reloads SSL certificates used for connections @@ -53,14 +54,12 @@ public: */ bool reloadCerts(); + void setMetricsServer(MetricsServer* metricsServer); + protected: -#if QT_VERSION >= 0x050000 - virtual void incomingConnection(qintptr socketDescriptor); -#else - virtual void incomingConnection(int socketDescriptor); -#endif + void incomingConnection(qintptr socketDescriptor) override; - virtual bool setCertificate(const QString &path, const QString &keyPath); + bool setCertificate(const QString& path, const QString& keyPath); private: /** @@ -72,20 +71,21 @@ private: * @return True if certificates loaded successfully, otherwise false. */ bool loadCerts(); - QSslKey loadKey(QFile *keyFile); + QSslKey loadKey(QFile* keyFile); + + MetricsServer* _metricsServer{nullptr}; - QLinkedList _pendingConnections; + QLinkedList _pendingConnections; QSslCertificate _cert; QSslKey _key; QList _ca; - bool _isCertValid; + 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; +}; -#endif //SSLSERVER_H +#endif // HAVE_SSL