/***************************************************************************
- * Copyright (C) 2005-2018 by the Quassel Project *
+ * Copyright (C) 2005-2020 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
+#include "sslinfodlg.h"
+
#include <QDateTime>
#include <QHostAddress>
#include <QSslCipher>
#include <QSslSocket>
-#include "sslinfodlg.h"
#include "util.h"
// ========================================
// SslInfoDlg
// ========================================
-SslInfoDlg::SslInfoDlg(const QSslSocket *socket, QWidget *parent)
- : QDialog(parent),
- _socket(socket)
+SslInfoDlg::SslInfoDlg(const QSslSocket* socket, QWidget* parent)
+ : QDialog(parent)
+ , _socket(socket)
{
ui.setupUi(this);
ui.protocol->setText(cipher.protocolString());
connect(ui.certificateChain, selectOverload<int>(&QComboBox::currentIndexChanged), this, &SslInfoDlg::setCurrentCert);
- foreach(const QSslCertificate &cert, socket->peerCertificateChain()) {
+ foreach (const QSslCertificate& cert, socket->peerCertificateChain()) {
ui.certificateChain->addItem(subjectInfo(cert, QSslCertificate::CommonName));
}
}
-
void SslInfoDlg::setCurrentCert(int index)
{
QSslCertificate cert = socket()->peerCertificateChain().at(index);
ui.issuerState->setText(issuerInfo(cert, QSslCertificate::StateOrProvinceName));
ui.issuerCity->setText(issuerInfo(cert, QSslCertificate::LocalityName));
- if (socket()->sslErrors().isEmpty())
+#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
+ const auto& sslErrors = socket()->sslErrors();
+#else
+ const auto& sslErrors = socket()->sslHandshakeErrors();
+#endif
+ if (sslErrors.isEmpty()) {
ui.trusted->setText(tr("Yes"));
+ }
else {
QString errorString = tr("No, for the following reasons:<ul>");
- foreach(const QSslError &error, socket()->sslErrors())
- errorString += "<li>" + error.errorString() + "</li>";
+ for (const auto& error : sslErrors) {
+ errorString += "<li>" + error.errorString() + "</li>";
+ }
errorString += "</ul>";
ui.trusted->setText(errorString);
}
- ui.validity->setText(tr("%1 to %2").arg(cert.effectiveDate().date().toString(Qt::ISODate), cert.expiryDate().date().toString(Qt::ISODate)));
+ ui.validity->setText(
+ tr("%1 to %2").arg(cert.effectiveDate().date().toString(Qt::ISODate), cert.expiryDate().date().toString(Qt::ISODate)));
ui.md5Digest->setText(prettyDigest(cert.digest(QCryptographicHash::Md5)));
ui.sha1Digest->setText(prettyDigest(cert.digest(QCryptographicHash::Sha1)));
ui.sha256Digest->setText(prettyDigest(cert.digest(QCryptographicHash::Sha256)));
}
// in Qt5, subjectInfo returns a QStringList(); turn this into a comma-separated string instead
-QString SslInfoDlg::subjectInfo(const QSslCertificate &cert, QSslCertificate::SubjectInfo subjectInfo) const
+QString SslInfoDlg::subjectInfo(const QSslCertificate& cert, QSslCertificate::SubjectInfo subjectInfo) const
{
return cert.subjectInfo(subjectInfo).join(", ");
}
-
// same here
-QString SslInfoDlg::issuerInfo(const QSslCertificate &cert, QSslCertificate::SubjectInfo subjectInfo) const
+QString SslInfoDlg::issuerInfo(const QSslCertificate& cert, QSslCertificate::SubjectInfo subjectInfo) const
{
return cert.issuerInfo(subjectInfo).join(", ");
}