X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fsslserver.h;h=1f43cc439e226243cd30e561d2676ebdc1d4cd77;hp=2b63abd7feab3c559fa7bf8ad7b752a5328cb9db;hb=25a3ae50ac0d9835283e4f5f10fcfcc10ed5575d;hpb=d414dd5212cc00f1d43615528bb97470a65143b5 diff --git a/src/core/sslserver.h b/src/core/sslserver.h index 2b63abd7..1f43cc43 100644 --- a/src/core/sslserver.h +++ b/src/core/sslserver.h @@ -42,6 +42,16 @@ public: virtual inline const QSslKey &key() const { return _key; } virtual inline bool isCertValid() const { return _isCertValid; } + /** + * Reloads SSL certificates used for connections + * + * If this command fails, it will try to maintain the most recent working certificate. Error + * conditions are automatically written to the log. + * + * @return True if certificates reloaded successfully, otherwise false. + */ + bool reloadCerts(); + protected: #if QT_VERSION >= 0x050000 virtual void incomingConnection(qintptr socketDescriptor); @@ -52,11 +62,25 @@ protected: virtual bool setCertificate(const QString &path, const QString &keyPath); private: + /** + * Loads SSL certificates used for connections + * + * If this command fails, it will try to maintain the most recent working certificate. Will log + * specific failure points, but does not offer verbose guidance. + * + * @return True if certificates loaded successfully, otherwise false. + */ + bool loadCerts(); + QLinkedList _pendingConnections; QSslCertificate _cert; QSslKey _key; QList _ca; bool _isCertValid; + + // 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) };