From 16969bc39bed4db58e62880fb0c4a284d2ec7dbf Mon Sep 17 00:00:00 2001 From: "vladimir.kuznetsov" Date: Mon, 6 Feb 2023 08:39:56 +0300 Subject: [PATCH] added conversion of the local_port and server_port fields from string to number when saving the shadowsocks config --- client/protocols/shadowsocksvpnprotocol.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/client/protocols/shadowsocksvpnprotocol.cpp b/client/protocols/shadowsocksvpnprotocol.cpp index 7e55b6f3..c200df24 100644 --- a/client/protocols/shadowsocksvpnprotocol.cpp +++ b/client/protocols/shadowsocksvpnprotocol.cpp @@ -118,5 +118,17 @@ QString ShadowSocksVpnProtocol::shadowSocksExecPath() void ShadowSocksVpnProtocol::readShadowSocksConfiguration(const QJsonObject &configuration) { - m_shadowSocksConfig = configuration.value(ProtocolProps::key_proto_config_data(Proto::ShadowSocks)).toObject(); + QJsonObject shadowSocksConfig = configuration.value(ProtocolProps::key_proto_config_data(Proto::ShadowSocks)).toObject(); + bool isLocalPortConvertOk = false; + bool isServerPortConvertOk = false; + int localPort = shadowSocksConfig.value("local_port").toString().toInt(&isLocalPortConvertOk); + int serverPort = shadowSocksConfig.value("server_port").toString().toInt(&isServerPortConvertOk); + if (!isLocalPortConvertOk) { + qDebug() << "Error when converting local_port field in ShadowSocks config"; + } else if (!isServerPortConvertOk) { + qDebug() << "Error when converting server_port field in ShadowSocks config"; + } + shadowSocksConfig["local_port"] = localPort; + shadowSocksConfig["server_port"] = serverPort; + m_shadowSocksConfig = shadowSocksConfig; }