aboutsummaryrefslogtreecommitdiff
path: root/src/geminiclient.cpp
diff options
context:
space:
mode:
authorFelix (xq) Queißner <git@mq32.de>2020-06-16 23:32:15 +0200
committerFelix (xq) Queißner <git@mq32.de>2020-06-16 23:32:15 +0200
commit62005f23ba21f1246c1f7768e60f401b2083da90 (patch)
tree6f98a373746e78fb1f9a8681a7693bfabf2af741 /src/geminiclient.cpp
parent94dbe30902e36cedb30cb89ea3bd7ecd6c5a03f2 (diff)
downloadkristall-62005f23ba21f1246c1f7768e60f401b2083da90.tar.gz
Improves SSL handling a tad.
Diffstat (limited to 'src/geminiclient.cpp')
-rw-r--r--src/geminiclient.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/geminiclient.cpp b/src/geminiclient.cpp
index c8a9642..a21eea4 100644
--- a/src/geminiclient.cpp
+++ b/src/geminiclient.cpp
@@ -16,11 +16,6 @@ GeminiClient::GeminiClient() : ProtocolHandler(nullptr)
#else
connect(&socket, QOverload<QAbstractSocket::SocketError>::of(&QTcpSocket::error), this, &GeminiClient::socketError);
#endif
-
- QSslConfiguration ssl_config;
- ssl_config.setProtocol(QSsl::TlsV1_2);
- ssl_config.setCaCertificates(QList<QSslCertificate> { });
- socket.setSslConfiguration(ssl_config);
}
GeminiClient::~GeminiClient()
@@ -41,6 +36,14 @@ bool GeminiClient::startRequest(const QUrl &url)
if(socket.isOpen())
return false;
+ QSslConfiguration ssl_config;
+ ssl_config.setProtocol(QSsl::TlsV1_2);
+ if(not global_trust.enable_ca)
+ ssl_config.setCaCertificates(QList<QSslCertificate> { });
+ else
+ ssl_config.setCaCertificates(QSslConfiguration::systemCaCertificates());
+ socket.setSslConfiguration(ssl_config);
+
socket.connectToHostEncrypted(url.host(), url.port(1965));
buffer.clear();