Qt 5.15 introduced a new and improved signal name for accessing SSL
handshake errors, and at the same time started issuing a deprecation
warning for the old one, so we need some ifdefs for clean compilation.
auto* socket = qobject_cast<QSslSocket*>(sender());
Q_ASSERT(socket);
auto* socket = qobject_cast<QSslSocket*>(sender());
Q_ASSERT(socket);
+#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
if (!socket->sslErrors().count()) {
if (!socket->sslErrors().count()) {
+#else
+ if (!socket->sslHandshakeErrors().count()) {
+#endif
// Cert is valid, so we don't want to store it as known
// That way, a warning will appear in case it becomes invalid at some point
CoreAccountSettings s;
// Cert is valid, so we don't want to store it as known
// That way, a warning will appear in case it becomes invalid at some point
CoreAccountSettings s;
void MainWin::handleSslErrors(const QSslSocket* socket, bool* accepted, bool* permanently)
{
QString errorString = "<ul>";
void MainWin::handleSslErrors(const QSslSocket* socket, bool* accepted, bool* permanently)
{
QString errorString = "<ul>";
- foreach (const QSslError error, socket->sslErrors())
+
+#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
+ for (const auto& error : socket->sslErrors()) {
+#else
+ for (const auto& error : socket->sslHandshakeErrors()) {
+#endif
errorString += QString("<li>%1</li>").arg(error.errorString());
errorString += QString("<li>%1</li>").arg(error.errorString());
errorString += "</ul>";
QMessageBox box(QMessageBox::Warning,
errorString += "</ul>";
QMessageBox box(QMessageBox::Warning,
ui.issuerState->setText(issuerInfo(cert, QSslCertificate::StateOrProvinceName));
ui.issuerCity->setText(issuerInfo(cert, QSslCertificate::LocalityName));
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"));
ui.trusted->setText(tr("Yes"));
else {
QString errorString = tr("No, for the following reasons:<ul>");
else {
QString errorString = tr("No, for the following reasons:<ul>");
- foreach (const QSslError& error, socket()->sslErrors())
+ for (const auto& error : sslErrors) {
errorString += "<li>" + error.errorString() + "</li>";
errorString += "<li>" + error.errorString() + "</li>";
errorString += "</ul>";
ui.trusted->setText(errorString);
}
errorString += "</ul>";
ui.trusted->setText(errorString);
}