From ed5dc7cdfd71cc4d771b0abb713f66209d7b4e33 Mon Sep 17 00:00:00 2001 From: pokamest Date: Sat, 15 Jul 2023 13:00:55 -0700 Subject: [PATCH] Fix for Cloak on iOS [no ci] --- client/protocols/ios_vpnprotocol.mm | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/client/protocols/ios_vpnprotocol.mm b/client/protocols/ios_vpnprotocol.mm index dda32982..f71db34a 100644 --- a/client/protocols/ios_vpnprotocol.mm +++ b/client/protocols/ios_vpnprotocol.mm @@ -547,7 +547,8 @@ void IOSVpnProtocol::launchWireguardTunnel(const QJsonObject &rawConfig) void IOSVpnProtocol::launchCloakTunnel(const QJsonObject &rawConfig) -{ +{ + //TODO move to OpenVpnConfigurator QJsonObject ovpn = rawConfig["openvpn_config_data"].toObject(); QString ovpnConfig = ovpn["config"].toString(); @@ -555,12 +556,17 @@ void IOSVpnProtocol::launchCloakTunnel(const QJsonObject &rawConfig) if(rawConfig["protocol"].toString() == "cloak"){ QJsonObject cloak = rawConfig["cloak_config_data"].toObject(); cloak["NumConn"] = 1; - cloak["RemoteHost"] = cloak["remote"].toString(); - cloak["RemotePort"] = cloak["port"].toString(); + if (cloak.contains("remote")) { + cloak["RemoteHost"] = cloak["remote"].toString(); + } + if (cloak.contains("port")) { + cloak["RemotePort"] = cloak["port"].toString(); + } cloak.remove("remote"); cloak.remove("port"); - + cloak.remove("transport_proto"); + // Convert JSONObject to JSONDocument QJsonObject jsonObject {}; foreach(const QString& key, cloak.keys()) {