aboutsummaryrefslogtreecommitdiff
path: root/src/geminiclient.cpp
diff options
context:
space:
mode:
authorFelix (xq) Queißner <git@mq32.de>2020-06-19 21:13:32 +0200
committerFelix (xq) Queißner <git@mq32.de>2020-06-19 21:13:32 +0200
commitbfdc7d39485bbef90a65b79f6c3b0986133f530d (patch)
tree7a50b6c9dc372cb302f064940c25826d0e1e07a1 /src/geminiclient.cpp
parent63103aa8c7f5b56720da097c73aa99da25841d45 (diff)
downloadkristall-bfdc7d39485bbef90a65b79f6c3b0986133f530d.tar.gz
Reworks TLS trust to enable symmetry between HTTPS and Gemini
Diffstat (limited to 'src/geminiclient.cpp')
-rw-r--r--src/geminiclient.cpp17
1 files changed, 3 insertions, 14 deletions
diff --git a/src/geminiclient.cpp b/src/geminiclient.cpp
index 8bd8fe0..1f4acfb 100644
--- a/src/geminiclient.cpp
+++ b/src/geminiclient.cpp
@@ -49,7 +49,7 @@ bool GeminiClient::startRequest(const QUrl &url, RequestOptions options)
QSslConfiguration ssl_config = socket.sslConfiguration();
ssl_config.setProtocol(QSsl::TlsV1_2);
- if(not global_trust.enable_ca)
+ if(not global_gemini_trust.enable_ca)
ssl_config.setCaCertificates(QList<QSslCertificate> { });
else
ssl_config.setCaCertificates(QSslConfiguration::systemCaCertificates());
@@ -291,17 +291,6 @@ void GeminiClient::socketDisconnected()
}
}
-static bool isTrustRelated(QSslError::SslError err)
-{
- switch(err)
- {
- case QSslError::CertificateUntrusted: return true;
- case QSslError::SelfSignedCertificate: return true;
- case QSslError::UnableToGetLocalIssuerCertificate: return true;
- default: return false;
- }
-}
-
void GeminiClient::sslErrors(QList<QSslError> const & errors)
{
if(options & IgnoreTlsErrors) {
@@ -318,9 +307,9 @@ void GeminiClient::sslErrors(QList<QSslError> const & errors)
auto const & err = remaining_errors.at(i);
bool ignore = false;
- if(isTrustRelated(err.error()))
+ if(SslTrust::isTrustRelated(err.error()))
{
- if(global_trust.isTrusted(target_url, socket.peerCertificate()))
+ if(global_gemini_trust.isTrusted(target_url, socket.peerCertificate()))
{
ignore = true;
}