diff options
| author | Felix (xq) Queißner <git@mq32.de> | 2020-06-19 21:13:32 +0200 |
|---|---|---|
| committer | Felix (xq) Queißner <git@mq32.de> | 2020-06-19 21:13:32 +0200 |
| commit | bfdc7d39485bbef90a65b79f6c3b0986133f530d (patch) | |
| tree | 7a50b6c9dc372cb302f064940c25826d0e1e07a1 /src/geminiclient.cpp | |
| parent | 63103aa8c7f5b56720da097c73aa99da25841d45 (diff) | |
| download | kristall-bfdc7d39485bbef90a65b79f6c3b0986133f530d.tar.gz | |
Reworks TLS trust to enable symmetry between HTTPS and Gemini
Diffstat (limited to 'src/geminiclient.cpp')
| -rw-r--r-- | src/geminiclient.cpp | 17 |
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; } |
