+
+ if(server.useProxy) {
+ QNetworkProxy proxy((QNetworkProxy::ProxyType)server.proxyType, server.proxyHost, server.proxyPort, server.proxyUser, server.proxyPass);
+ socket.setProxy(proxy);
+ } else {
+ socket.setProxy(QNetworkProxy::NoProxy);
+ }
+
+#ifdef HAVE_SSL
+ socket.setProtocol((QSsl::SslProtocol)server.sslVersion);
+ if(server.useSsl) {
+ CoreIdentity *identity = identityPtr();
+ if(identity) {
+ socket.setLocalCertificate(identity->sslCert());
+ socket.setPrivateKey(identity->sslKey());
+ }
+ socket.connectToHostEncrypted(server.host, server.port);
+ } else {
+ socket.connectToHost(server.host, server.port);
+ }
+#else