aboutsummaryrefslogtreecommitdiff
path: root/src/geminiclient.cpp
diff options
context:
space:
mode:
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();