diff --git a/client/configurators/awg_configurator.cpp b/client/configurators/awg_configurator.cpp
index b7246c40..f83acb19 100644
--- a/client/configurators/awg_configurator.cpp
+++ b/client/configurators/awg_configurator.cpp
@@ -36,21 +36,24 @@ QString AwgConfigurator::createConfig(const ServerCredentials &credentials, Dock
jsonConfig[config_key::junkPacketMaxSize] = configMap.value(config_key::junkPacketMaxSize);
jsonConfig[config_key::initPacketJunkSize] = configMap.value(config_key::initPacketJunkSize);
jsonConfig[config_key::responsePacketJunkSize] = configMap.value(config_key::responsePacketJunkSize);
- jsonConfig[config_key::cookieReplyPacketJunkSize] = configMap.value(config_key::cookieReplyPacketJunkSize);
- jsonConfig[config_key::transportPacketJunkSize] = configMap.value(config_key::transportPacketJunkSize);
jsonConfig[config_key::initPacketMagicHeader] = configMap.value(config_key::initPacketMagicHeader);
jsonConfig[config_key::responsePacketMagicHeader] = configMap.value(config_key::responsePacketMagicHeader);
jsonConfig[config_key::underloadPacketMagicHeader] = configMap.value(config_key::underloadPacketMagicHeader);
jsonConfig[config_key::transportPacketMagicHeader] = configMap.value(config_key::transportPacketMagicHeader);
- jsonConfig[config_key::specialJunk1] = configMap.value(amnezia::config_key::specialJunk1);
- jsonConfig[config_key::specialJunk2] = configMap.value(amnezia::config_key::specialJunk2);
- jsonConfig[config_key::specialJunk3] = configMap.value(amnezia::config_key::specialJunk3);
- jsonConfig[config_key::specialJunk4] = configMap.value(amnezia::config_key::specialJunk4);
- jsonConfig[config_key::specialJunk5] = configMap.value(amnezia::config_key::specialJunk5);
- jsonConfig[config_key::controlledJunk1] = configMap.value(amnezia::config_key::controlledJunk1);
- jsonConfig[config_key::controlledJunk2] = configMap.value(amnezia::config_key::controlledJunk2);
- jsonConfig[config_key::controlledJunk3] = configMap.value(amnezia::config_key::controlledJunk3);
- jsonConfig[config_key::specialHandshakeTimeout] = configMap.value(amnezia::config_key::specialHandshakeTimeout);
+
+ // jsonConfig[config_key::cookieReplyPacketJunkSize] = configMap.value(config_key::cookieReplyPacketJunkSize);
+ // jsonConfig[config_key::transportPacketJunkSize] = configMap.value(config_key::transportPacketJunkSize);
+
+ // jsonConfig[config_key::specialJunk1] = configMap.value(amnezia::config_key::specialJunk1);
+ // jsonConfig[config_key::specialJunk2] = configMap.value(amnezia::config_key::specialJunk2);
+ // jsonConfig[config_key::specialJunk3] = configMap.value(amnezia::config_key::specialJunk3);
+ // jsonConfig[config_key::specialJunk4] = configMap.value(amnezia::config_key::specialJunk4);
+ // jsonConfig[config_key::specialJunk5] = configMap.value(amnezia::config_key::specialJunk5);
+ // jsonConfig[config_key::controlledJunk1] = configMap.value(amnezia::config_key::controlledJunk1);
+ // jsonConfig[config_key::controlledJunk2] = configMap.value(amnezia::config_key::controlledJunk2);
+ // jsonConfig[config_key::controlledJunk3] = configMap.value(amnezia::config_key::controlledJunk3);
+ // jsonConfig[config_key::specialHandshakeTimeout] = configMap.value(amnezia::config_key::specialHandshakeTimeout);
+
jsonConfig[config_key::mtu] =
containerConfig.value(ProtocolProps::protoToString(Proto::Awg)).toObject().value(config_key::mtu).toString(protocols::awg::defaultMtu);
diff --git a/client/core/controllers/serverController.cpp b/client/core/controllers/serverController.cpp
index b5d35a2f..3c24edea 100644
--- a/client/core/controllers/serverController.cpp
+++ b/client/core/controllers/serverController.cpp
@@ -349,7 +349,7 @@ bool ServerController::isReinstallContainerRequired(DockerContainer container, c
if ((oldProtoConfig.value(config_key::subnet_address).toString(protocols::wireguard::defaultSubnetAddress)
!= newProtoConfig.value(config_key::subnet_address).toString(protocols::wireguard::defaultSubnetAddress))
|| (oldProtoConfig.value(config_key::port).toString(protocols::awg::defaultPort)
- != newProtoConfig.value(config_key::port).toString(protocols::awg::defaultPort))
+ != newProtoConfig.value(config_key::port).toString(protocols::awg::defaultPort))
|| (oldProtoConfig.value(config_key::junkPacketCount).toString(protocols::awg::defaultJunkPacketCount)
!= newProtoConfig.value(config_key::junkPacketCount).toString(protocols::awg::defaultJunkPacketCount))
|| (oldProtoConfig.value(config_key::junkPacketMinSize).toString(protocols::awg::defaultJunkPacketMinSize)
@@ -360,10 +360,6 @@ bool ServerController::isReinstallContainerRequired(DockerContainer container, c
!= newProtoConfig.value(config_key::initPacketJunkSize).toString(protocols::awg::defaultInitPacketJunkSize))
|| (oldProtoConfig.value(config_key::responsePacketJunkSize).toString(protocols::awg::defaultResponsePacketJunkSize)
!= newProtoConfig.value(config_key::responsePacketJunkSize).toString(protocols::awg::defaultResponsePacketJunkSize))
- || (oldProtoConfig.value(config_key::cookieReplyPacketJunkSize).toString(protocols::awg::defaultCookieReplyPacketJunkSize)
- != newProtoConfig.value(config_key::cookieReplyPacketJunkSize).toString(protocols::awg::defaultCookieReplyPacketJunkSize))
- || (oldProtoConfig.value(config_key::transportPacketJunkSize).toString(protocols::awg::defaultTransportPacketJunkSize)
- != newProtoConfig.value(config_key::transportPacketJunkSize).toString(protocols::awg::defaultTransportPacketJunkSize))
|| (oldProtoConfig.value(config_key::initPacketMagicHeader).toString(protocols::awg::defaultInitPacketMagicHeader)
!= newProtoConfig.value(config_key::initPacketMagicHeader).toString(protocols::awg::defaultInitPacketMagicHeader))
|| (oldProtoConfig.value(config_key::responsePacketMagicHeader).toString(protocols::awg::defaultResponsePacketMagicHeader)
@@ -371,25 +367,11 @@ bool ServerController::isReinstallContainerRequired(DockerContainer container, c
|| (oldProtoConfig.value(config_key::underloadPacketMagicHeader).toString(protocols::awg::defaultUnderloadPacketMagicHeader)
!= newProtoConfig.value(config_key::underloadPacketMagicHeader).toString(protocols::awg::defaultUnderloadPacketMagicHeader))
|| (oldProtoConfig.value(config_key::transportPacketMagicHeader).toString(protocols::awg::defaultTransportPacketMagicHeader))
- != newProtoConfig.value(config_key::transportPacketMagicHeader).toString(protocols::awg::defaultTransportPacketMagicHeader))
- // || (oldProtoConfig.value(config_key::specialJunk1).toString(protocols::awg::defaultSpecialJunk1))
- // != newProtoConfig.value(config_key::specialJunk1).toString(protocols::awg::defaultSpecialJunk1)
- // || (oldProtoConfig.value(config_key::specialJunk2).toString(protocols::awg::defaultSpecialJunk2))
- // != newProtoConfig.value(config_key::specialJunk2).toString(protocols::awg::defaultSpecialJunk2)
- // || (oldProtoConfig.value(config_key::specialJunk3).toString(protocols::awg::defaultSpecialJunk3))
- // != newProtoConfig.value(config_key::specialJunk3).toString(protocols::awg::defaultSpecialJunk3)
- // || (oldProtoConfig.value(config_key::specialJunk4).toString(protocols::awg::defaultSpecialJunk4))
- // != newProtoConfig.value(config_key::specialJunk4).toString(protocols::awg::defaultSpecialJunk4)
- // || (oldProtoConfig.value(config_key::specialJunk5).toString(protocols::awg::defaultSpecialJunk5))
- // != newProtoConfig.value(config_key::specialJunk5).toString(protocols::awg::defaultSpecialJunk5)
- // || (oldProtoConfig.value(config_key::controlledJunk1).toString(protocols::awg::defaultControlledJunk1))
- // != newProtoConfig.value(config_key::controlledJunk1).toString(protocols::awg::defaultControlledJunk1)
- // || (oldProtoConfig.value(config_key::controlledJunk2).toString(protocols::awg::defaultControlledJunk2))
- // != newProtoConfig.value(config_key::controlledJunk2).toString(protocols::awg::defaultControlledJunk2)
- // || (oldProtoConfig.value(config_key::controlledJunk3).toString(protocols::awg::defaultControlledJunk3))
- // != newProtoConfig.value(config_key::controlledJunk3).toString(protocols::awg::defaultControlledJunk3)
- // || (oldProtoConfig.value(config_key::specialHandshakeTimeout).toString(protocols::awg::defaultSpecialHandshakeTimeout))
- // != newProtoConfig.value(config_key::specialHandshakeTimeout).toString(protocols::awg::defaultSpecialHandshakeTimeout))
+ != newProtoConfig.value(config_key::transportPacketMagicHeader).toString(protocols::awg::defaultTransportPacketMagicHeader))
+ // || (oldProtoConfig.value(config_key::cookieReplyPacketJunkSize).toString(protocols::awg::defaultCookieReplyPacketJunkSize)
+ // != newProtoConfig.value(config_key::cookieReplyPacketJunkSize).toString(protocols::awg::defaultCookieReplyPacketJunkSize))
+ // || (oldProtoConfig.value(config_key::transportPacketJunkSize).toString(protocols::awg::defaultTransportPacketJunkSize)
+ // != newProtoConfig.value(config_key::transportPacketJunkSize).toString(protocols::awg::defaultTransportPacketJunkSize))
return true;
}
@@ -398,7 +380,7 @@ bool ServerController::isReinstallContainerRequired(DockerContainer container, c
if ((oldProtoConfig.value(config_key::subnet_address).toString(protocols::wireguard::defaultSubnetAddress)
!= newProtoConfig.value(config_key::subnet_address).toString(protocols::wireguard::defaultSubnetAddress))
|| (oldProtoConfig.value(config_key::port).toString(protocols::wireguard::defaultPort)
- != newProtoConfig.value(config_key::port).toString(protocols::wireguard::defaultPort)))
+ != newProtoConfig.value(config_key::port).toString(protocols::wireguard::defaultPort)))
return true;
}
@@ -659,21 +641,13 @@ ServerController::Vars ServerController::genVarsForScript(const ServerCredential
vars.append({ { "$JUNK_PACKET_MAX_SIZE", amneziaWireguarConfig.value(config_key::junkPacketMaxSize).toString() } });
vars.append({ { "$INIT_PACKET_JUNK_SIZE", amneziaWireguarConfig.value(config_key::initPacketJunkSize).toString() } });
vars.append({ { "$RESPONSE_PACKET_JUNK_SIZE", amneziaWireguarConfig.value(config_key::responsePacketJunkSize).toString() } });
- vars.append({ { "$COOKIE_REPLY_PACKET_JUNK_SIZE", amneziaWireguarConfig.value(config_key::cookieReplyPacketJunkSize).toString() } });
- vars.append({ { "$TRANSPORT_PACKET_JUNK_SIZE", amneziaWireguarConfig.value(config_key::transportPacketJunkSize).toString() } });
vars.append({ { "$INIT_PACKET_MAGIC_HEADER", amneziaWireguarConfig.value(config_key::initPacketMagicHeader).toString() } });
vars.append({ { "$RESPONSE_PACKET_MAGIC_HEADER", amneziaWireguarConfig.value(config_key::responsePacketMagicHeader).toString() } });
vars.append({ { "$UNDERLOAD_PACKET_MAGIC_HEADER", amneziaWireguarConfig.value(config_key::underloadPacketMagicHeader).toString() } });
vars.append({ { "$TRANSPORT_PACKET_MAGIC_HEADER", amneziaWireguarConfig.value(config_key::transportPacketMagicHeader).toString() } });
- // vars.append({ { "$SPECIAL_JUNK_1", amneziaWireguarConfig.value(config_key::specialJunk1).toString() } });
- // vars.append({ { "$SPECIAL_JUNK_2", amneziaWireguarConfig.value(config_key::specialJunk2).toString() } });
- // vars.append({ { "$SPECIAL_JUNK_3", amneziaWireguarConfig.value(config_key::specialJunk3).toString() } });
- // vars.append({ { "$SPECIAL_JUNK_4", amneziaWireguarConfig.value(config_key::specialJunk4).toString() } });
- // vars.append({ { "$SPECIAL_JUNK_5", amneziaWireguarConfig.value(config_key::specialJunk5).toString() } });
- // vars.append({ { "$CONTROLLED_JUNK_1", amneziaWireguarConfig.value(config_key::controlledJunk1).toString() } });
- // vars.append({ { "$CONTROLLED_JUNK_2", amneziaWireguarConfig.value(config_key::controlledJunk2).toString() } });
- // vars.append({ { "$CONTROLLED_JUNK_3", amneziaWireguarConfig.value(config_key::controlledJunk3).toString() } });
- // vars.append({ { "$SPECIAL_HANDSHAKE_TIMEOUT", amneziaWireguarConfig.value(config_key::specialHandshakeTimeout).toString() } });
+
+ vars.append({ { "$COOKIE_REPLY_PACKET_JUNK_SIZE", amneziaWireguarConfig.value(config_key::cookieReplyPacketJunkSize).toString() } });
+ vars.append({ { "$TRANSPORT_PACKET_JUNK_SIZE", amneziaWireguarConfig.value(config_key::transportPacketJunkSize).toString() } });
// Socks5 proxy vars
vars.append({ { "$SOCKS5_PROXY_PORT", socks5ProxyConfig.value(config_key::port).toString(protocols::socks5Proxy::defaultPort) } });
diff --git a/client/platforms/macos/daemon/wireguardutilsmacos.cpp b/client/platforms/macos/daemon/wireguardutilsmacos.cpp
index fa147090..cce4afab 100644
--- a/client/platforms/macos/daemon/wireguardutilsmacos.cpp
+++ b/client/platforms/macos/daemon/wireguardutilsmacos.cpp
@@ -138,6 +138,16 @@ bool WireguardUtilsMacos::addInterface(const InterfaceConfig& config) {
out << "h4=" << config.m_transportPacketMagicHeader << "\n";
}
+ for (const QString& key : config.m_specialJunk.keys()) {
+ out << key.toLower() << "=" << config.m_specialJunk.value(key) << "\n";
+ }
+ for (const QString& key : config.m_controlledJunk.keys()) {
+ out << key.toLower() << "=" << config.m_controlledJunk.value(key) << "\n";
+ }
+ if (!config.m_specialHandshakeTimeout.isEmpty()) {
+ out << "itime=" << config.m_specialHandshakeTimeout << "\n";
+ }
+
int err = uapiErrno(uapiCommand(message));
if (err != 0) {
logger.error() << "Interface configuration failed:" << strerror(err);
diff --git a/client/protocols/protocols_defs.h b/client/protocols/protocols_defs.h
index 45696bca..b4cbb6de 100644
--- a/client/protocols/protocols_defs.h
+++ b/client/protocols/protocols_defs.h
@@ -242,7 +242,7 @@ namespace amnezia
constexpr char defaultControlledJunk1[] = "";
constexpr char defaultControlledJunk2[] = "";
constexpr char defaultControlledJunk3[] = "";
- constexpr char defaultSpecialHandshakeTimeout[] = "0";
+ constexpr char defaultSpecialHandshakeTimeout[] = "";
}
namespace socks5Proxy
diff --git a/client/resources.qrc b/client/resources.qrc
index 72eb15c7..54b5846c 100644
--- a/client/resources.qrc
+++ b/client/resources.qrc
@@ -239,6 +239,7 @@
ui/qml/Components/ApiPremV1MigrationDrawer.qml
ui/qml/Components/ApiPremV1SubListDrawer.qml
ui/qml/Components/OtpCodeDrawer.qml
+ ui/qml/Components/AwgTextField.qml
images/flagKit/ZW.svg
diff --git a/client/server_scripts/awg/Dockerfile b/client/server_scripts/awg/Dockerfile
index f4174d47..a6118a84 100644
--- a/client/server_scripts/awg/Dockerfile
+++ b/client/server_scripts/awg/Dockerfile
@@ -1,4 +1,4 @@
-FROM marko1777/awg:latest
+FROM amneziavpn/amnezia-wg:latest
LABEL maintainer="AmneziaVPN"
diff --git a/client/server_scripts/awg/configure_container.sh b/client/server_scripts/awg/configure_container.sh
index 0460934f..e327f080 100644
--- a/client/server_scripts/awg/configure_container.sh
+++ b/client/server_scripts/awg/configure_container.sh
@@ -19,8 +19,6 @@ Jmin = $JUNK_PACKET_MIN_SIZE
Jmax = $JUNK_PACKET_MAX_SIZE
S1 = $INIT_PACKET_JUNK_SIZE
S2 = $RESPONSE_PACKET_JUNK_SIZE
-S3 = $COOKIE_REPLY_PACKET_JUNK_SIZE
-S4 = $TRANSPORT_PACKET_JUNK_SIZE
H1 = $INIT_PACKET_MAGIC_HEADER
H2 = $RESPONSE_PACKET_MAGIC_HEADER
H3 = $UNDERLOAD_PACKET_MAGIC_HEADER
diff --git a/client/server_scripts/awg/template.conf b/client/server_scripts/awg/template.conf
index c136bb9e..79932806 100644
--- a/client/server_scripts/awg/template.conf
+++ b/client/server_scripts/awg/template.conf
@@ -7,8 +7,6 @@ Jmin = $JUNK_PACKET_MIN_SIZE
Jmax = $JUNK_PACKET_MAX_SIZE
S1 = $INIT_PACKET_JUNK_SIZE
S2 = $RESPONSE_PACKET_JUNK_SIZE
-S3 = $COOKIE_REPLY_PACKET_JUNK_SIZE
-S4 = $TRANSPORT_PACKET_JUNK_SIZE
H1 = $INIT_PACKET_MAGIC_HEADER
H2 = $RESPONSE_PACKET_MAGIC_HEADER
H3 = $UNDERLOAD_PACKET_MAGIC_HEADER
diff --git a/client/ui/controllers/api/apiConfigsController.cpp b/client/ui/controllers/api/apiConfigsController.cpp
index 0889ae3b..0b0a9b92 100644
--- a/client/ui/controllers/api/apiConfigsController.cpp
+++ b/client/ui/controllers/api/apiConfigsController.cpp
@@ -162,6 +162,9 @@ namespace
auto serverProtocolConfig = container.value(containerName).toObject();
auto clientProtocolConfig =
QJsonDocument::fromJson(serverProtocolConfig.value(config_key::last_config).toString().toUtf8()).object();
+
+ //TODO looks like this block can be removed after v1 configs EOL
+
serverProtocolConfig[config_key::junkPacketCount] = clientProtocolConfig.value(config_key::junkPacketCount);
serverProtocolConfig[config_key::junkPacketMinSize] = clientProtocolConfig.value(config_key::junkPacketMinSize);
serverProtocolConfig[config_key::junkPacketMaxSize] = clientProtocolConfig.value(config_key::junkPacketMaxSize);
@@ -184,6 +187,8 @@ namespace
serverProtocolConfig[config_key::controlledJunk3] = clientProtocolConfig.value(config_key::controlledJunk3);
serverProtocolConfig[config_key::specialHandshakeTimeout] = clientProtocolConfig.value(config_key::specialHandshakeTimeout);
+ //
+
container[containerName] = serverProtocolConfig;
containers.replace(0, container);
newServerConfig[config_key::containers] = containers;
diff --git a/client/ui/controllers/importController.cpp b/client/ui/controllers/importController.cpp
index ee207d76..ea1d5d8e 100644
--- a/client/ui/controllers/importController.cpp
+++ b/client/ui/controllers/importController.cpp
@@ -52,8 +52,7 @@ namespace
|| (config.contains(amneziaConfigPatternHostName) && config.contains(amneziaConfigPatternUserName)
&& config.contains(amneziaConfigPatternPassword))) {
return ConfigTypes::Amnezia;
- } else if (config.contains(wireguardConfigPatternSectionInterface)
- && config.contains(wireguardConfigPatternSectionPeer)) {
+ } else if (config.contains(wireguardConfigPatternSectionInterface) && config.contains(wireguardConfigPatternSectionPeer)) {
return ConfigTypes::WireGuard;
} else if ((config.contains(xrayConfigPatternInbound)) && (config.contains(xrayConfigPatternOutbound))) {
return ConfigTypes::Xray;
@@ -69,8 +68,7 @@ namespace
#endif
} // namespace
-ImportController::ImportController(const QSharedPointer &serversModel,
- const QSharedPointer &containersModel,
+ImportController::ImportController(const QSharedPointer &serversModel, const QSharedPointer &containersModel,
const std::shared_ptr &settings, QObject *parent)
: QObject(parent), m_serversModel(serversModel), m_containersModel(containersModel), m_settings(settings)
{
@@ -105,42 +103,40 @@ bool ImportController::extractConfigFromData(QString data)
if (config.startsWith("vless://")) {
m_configType = ConfigTypes::Xray;
- m_config = extractXrayConfig(Utils::JsonToString(serialization::vless::Deserialize(config, &prefix, &errormsg),
- QJsonDocument::JsonFormat::Compact),
- prefix);
+ m_config = extractXrayConfig(
+ Utils::JsonToString(serialization::vless::Deserialize(config, &prefix, &errormsg), QJsonDocument::JsonFormat::Compact),
+ prefix);
return m_config.empty() ? false : true;
}
if (config.startsWith("vmess://") && config.contains("@")) {
m_configType = ConfigTypes::Xray;
- m_config =
- extractXrayConfig(Utils::JsonToString(serialization::vmess_new::Deserialize(config, &prefix, &errormsg),
- QJsonDocument::JsonFormat::Compact),
- prefix);
+ m_config = extractXrayConfig(
+ Utils::JsonToString(serialization::vmess_new::Deserialize(config, &prefix, &errormsg), QJsonDocument::JsonFormat::Compact),
+ prefix);
return m_config.empty() ? false : true;
}
if (config.startsWith("vmess://")) {
m_configType = ConfigTypes::Xray;
- m_config = extractXrayConfig(Utils::JsonToString(serialization::vmess::Deserialize(config, &prefix, &errormsg),
- QJsonDocument::JsonFormat::Compact),
- prefix);
+ m_config = extractXrayConfig(
+ Utils::JsonToString(serialization::vmess::Deserialize(config, &prefix, &errormsg), QJsonDocument::JsonFormat::Compact),
+ prefix);
return m_config.empty() ? false : true;
}
if (config.startsWith("trojan://")) {
m_configType = ConfigTypes::Xray;
- m_config = extractXrayConfig(Utils::JsonToString(serialization::trojan::Deserialize(config, &prefix, &errormsg),
- QJsonDocument::JsonFormat::Compact),
- prefix);
+ m_config = extractXrayConfig(
+ Utils::JsonToString(serialization::trojan::Deserialize(config, &prefix, &errormsg), QJsonDocument::JsonFormat::Compact),
+ prefix);
return m_config.empty() ? false : true;
}
if (config.startsWith("ss://") && !config.contains("plugin=")) {
m_configType = ConfigTypes::ShadowSocks;
- m_config = extractXrayConfig(Utils::JsonToString(serialization::ss::Deserialize(config, &prefix, &errormsg),
- QJsonDocument::JsonFormat::Compact),
- prefix);
+ m_config = extractXrayConfig(
+ Utils::JsonToString(serialization::ss::Deserialize(config, &prefix, &errormsg), QJsonDocument::JsonFormat::Compact), prefix);
return m_config.empty() ? false : true;
}
@@ -158,8 +154,7 @@ bool ImportController::extractConfigFromData(QString data)
m_configType = checkConfigFormat(config);
if (m_configType == ConfigTypes::Invalid) {
config.replace("vpn://", "");
- QByteArray ba =
- QByteArray::fromBase64(config.toUtf8(), QByteArray::Base64UrlEncoding | QByteArray::OmitTrailingEquals);
+ QByteArray ba = QByteArray::fromBase64(config.toUtf8(), QByteArray::Base64UrlEncoding | QByteArray::OmitTrailingEquals);
QByteArray baUncompressed = qUncompress(ba);
if (!baUncompressed.isEmpty()) {
ba = baUncompressed;
@@ -276,10 +271,8 @@ void ImportController::processNativeWireGuardConfig()
auto containers = m_config.value(config_key::containers).toArray();
if (!containers.isEmpty()) {
auto container = containers.at(0).toObject();
- auto serverProtocolConfig =
- container.value(ContainerProps::containerTypeToString(DockerContainer::WireGuard)).toObject();
- auto clientProtocolConfig =
- QJsonDocument::fromJson(serverProtocolConfig.value(config_key::last_config).toString().toUtf8()).object();
+ auto serverProtocolConfig = container.value(ContainerProps::containerTypeToString(DockerContainer::WireGuard)).toObject();
+ auto clientProtocolConfig = QJsonDocument::fromJson(serverProtocolConfig.value(config_key::last_config).toString().toUtf8()).object();
QString junkPacketCount = QString::number(QRandomGenerator::global()->bounded(2, 5));
QString junkPacketMinSize = QString::number(10);
@@ -289,21 +282,23 @@ void ImportController::processNativeWireGuardConfig()
clientProtocolConfig[config_key::junkPacketMaxSize] = junkPacketMaxSize;
clientProtocolConfig[config_key::initPacketJunkSize] = "0";
clientProtocolConfig[config_key::responsePacketJunkSize] = "0";
- clientProtocolConfig[config_key::cookieReplyPacketJunkSize] = "0";
- clientProtocolConfig[config_key::transportPacketJunkSize] = "0";
clientProtocolConfig[config_key::initPacketMagicHeader] = "1";
clientProtocolConfig[config_key::responsePacketMagicHeader] = "2";
clientProtocolConfig[config_key::underloadPacketMagicHeader] = "3";
clientProtocolConfig[config_key::transportPacketMagicHeader] = "4";
- clientProtocolConfig[config_key::specialJunk1] = "";
- clientProtocolConfig[config_key::specialJunk2] = "";
- clientProtocolConfig[config_key::specialJunk3] = "";
- clientProtocolConfig[config_key::specialJunk4] = "";
- clientProtocolConfig[config_key::specialJunk5] = "";
- clientProtocolConfig[config_key::controlledJunk1] = "";
- clientProtocolConfig[config_key::controlledJunk2] = "";
- clientProtocolConfig[config_key::controlledJunk3] = "";
- clientProtocolConfig[config_key::specialHandshakeTimeout] = "0";
+
+ // clientProtocolConfig[config_key::cookieReplyPacketJunkSize] = "0";
+ // clientProtocolConfig[config_key::transportPacketJunkSize] = "0";
+
+ // clientProtocolConfig[config_key::specialJunk1] = "";
+ // clientProtocolConfig[config_key::specialJunk2] = "";
+ // clientProtocolConfig[config_key::specialJunk3] = "";
+ // clientProtocolConfig[config_key::specialJunk4] = "";
+ // clientProtocolConfig[config_key::specialJunk5] = "";
+ // clientProtocolConfig[config_key::controlledJunk1] = "";
+ // clientProtocolConfig[config_key::controlledJunk2] = "";
+ // clientProtocolConfig[config_key::controlledJunk3] = "";
+ // clientProtocolConfig[config_key::specialHandshakeTimeout] = "0";
clientProtocolConfig[config_key::isObfuscationEnabled] = true;
@@ -427,8 +422,7 @@ QJsonObject ImportController::extractWireGuardConfig(const QString &data)
lastConfig[config_key::hostName] = hostName;
lastConfig[config_key::port] = port.toInt();
- if (!configMap.value("PrivateKey").isEmpty() && !configMap.value("Address").isEmpty()
- && !configMap.value("PublicKey").isEmpty()) {
+ if (!configMap.value("PrivateKey").isEmpty() && !configMap.value("Address").isEmpty() && !configMap.value("PublicKey").isEmpty()) {
lastConfig[config_key::client_priv_key] = configMap.value("PrivateKey");
lastConfig[config_key::client_ip] = configMap.value("Address");
@@ -465,17 +459,12 @@ QJsonObject ImportController::extractWireGuardConfig(const QString &data)
config_key::responsePacketMagicHeader, config_key::underloadPacketMagicHeader,
config_key::transportPacketMagicHeader };
- const QStringList optionalJunkFields = { config_key::cookieReplyPacketJunkSize,
- config_key::transportPacketJunkSize,
- config_key::specialJunk1,
- config_key::specialJunk2,
- config_key::specialJunk3,
- config_key::specialJunk4,
- config_key::specialJunk5,
- config_key::controlledJunk1,
- config_key::controlledJunk2,
- config_key::controlledJunk3,
- config_key::specialHandshakeTimeout };
+ const QStringList optionalJunkFields = { // config_key::cookieReplyPacketJunkSize,
+ // config_key::transportPacketJunkSize,
+ config_key::specialJunk1, config_key::specialJunk2, config_key::specialJunk3,
+ config_key::specialJunk4, config_key::specialJunk5, config_key::controlledJunk1,
+ config_key::controlledJunk2, config_key::controlledJunk3, config_key::specialHandshakeTimeout
+ };
bool hasAllRequiredFields = std::all_of(requiredJunkFields.begin(), requiredJunkFields.end(),
[&configMap](const QString &field) { return !configMap.value(field).isEmpty(); });
@@ -497,8 +486,7 @@ QJsonObject ImportController::extractWireGuardConfig(const QString &data)
if (!configMap.value("MTU").isEmpty()) {
lastConfig[config_key::mtu] = configMap.value("MTU");
} else {
- lastConfig[config_key::mtu] =
- protocolName == "awg" ? protocols::awg::defaultMtu : protocols::wireguard::defaultMtu;
+ lastConfig[config_key::mtu] = protocolName == "awg" ? protocols::awg::defaultMtu : protocols::wireguard::defaultMtu;
}
QJsonObject wireguardConfig;
@@ -699,23 +687,14 @@ void ImportController::checkForMaliciousStrings(const QJsonObject &serverConfig)
|| (containerName == ContainerProps::containerToString(DockerContainer::Cloak))
|| (containerName == ContainerProps::containerToString(DockerContainer::ShadowSocks))) {
- QString protocolConfig = containerConfig[ProtocolProps::protoToString(Proto::OpenVpn)]
- .toObject()[config_key::last_config]
- .toString();
- QString protocolConfigJson =
- QJsonDocument::fromJson(protocolConfig.toUtf8()).object()[config_key::config].toString();
+ QString protocolConfig =
+ containerConfig[ProtocolProps::protoToString(Proto::OpenVpn)].toObject()[config_key::last_config].toString();
+ QString protocolConfigJson = QJsonDocument::fromJson(protocolConfig.toUtf8()).object()[config_key::config].toString();
// https://github.com/OpenVPN/openvpn/blob/master/doc/man-sections/script-options.rst
- QStringList dangerousTags { "up",
- "tls-verify",
- "ipchange",
- "client-connect",
- "route-up",
- "route-pre-down",
- "client-disconnect",
- "down",
- "learn-address",
- "auth-user-pass-verify" };
+ QStringList dangerousTags {
+ "up", "tls-verify", "ipchange", "client-connect", "route-up", "route-pre-down", "client-disconnect", "down", "learn-address", "auth-user-pass-verify"
+ };
QStringList maliciousStrings;
QStringList lines = protocolConfigJson.split('\n', Qt::SkipEmptyParts);
@@ -729,13 +708,11 @@ void ImportController::checkForMaliciousStrings(const QJsonObject &serverConfig)
}
}
- m_maliciousWarningText =
- tr("This configuration contains an OpenVPN setup. OpenVPN configurations can include malicious "
- "scripts, so only add it if you fully trust the provider of this config. ");
+ m_maliciousWarningText = tr("This configuration contains an OpenVPN setup. OpenVPN configurations can include malicious "
+ "scripts, so only add it if you fully trust the provider of this config. ");
if (!maliciousStrings.isEmpty()) {
- m_maliciousWarningText.push_back(
- tr("
In the imported configuration, potentially dangerous lines were found:"));
+ m_maliciousWarningText.push_back(tr("
In the imported configuration, potentially dangerous lines were found:"));
for (const auto &string : maliciousStrings) {
m_maliciousWarningText.push_back(QString("
%1").arg(string));
}
@@ -758,8 +735,8 @@ void ImportController::processAmneziaConfig(QJsonObject &config)
}
QJsonObject jsonConfig = QJsonDocument::fromJson(protocolConfig.toUtf8()).object();
- jsonConfig[config_key::mtu] = dockerContainer == DockerContainer::Awg ? protocols::awg::defaultMtu
- : protocols::wireguard::defaultMtu;
+ jsonConfig[config_key::mtu] =
+ dockerContainer == DockerContainer::Awg ? protocols::awg::defaultMtu : protocols::wireguard::defaultMtu;
containerConfig[config_key::last_config] = QString(QJsonDocument(jsonConfig).toJson());
diff --git a/client/ui/controllers/installController.cpp b/client/ui/controllers/installController.cpp
index b7f806b8..d7f9dfbc 100755
--- a/client/ui/controllers/installController.cpp
+++ b/client/ui/controllers/installController.cpp
@@ -37,8 +37,7 @@ namespace
}
}
-InstallController::InstallController(const QSharedPointer &serversModel,
- const QSharedPointer &containersModel,
+InstallController::InstallController(const QSharedPointer &serversModel, const QSharedPointer &containersModel,
const QSharedPointer &protocolsModel,
const QSharedPointer &clientManagementModel,
const std::shared_ptr &settings, QObject *parent)
@@ -71,8 +70,7 @@ void InstallController::install(DockerContainer container, int port, TransportPr
if (protocol == mainProto) {
containerConfig.insert(config_key::port, QString::number(port));
- containerConfig.insert(config_key::transport_proto,
- ProtocolProps::transportProtoToString(transportProto, protocol));
+ containerConfig.insert(config_key::transport_proto, ProtocolProps::transportProtoToString(transportProto, protocol));
if (container == DockerContainer::Awg) {
QString junkPacketCount = QString::number(QRandomGenerator::global()->bounded(2, 5));
@@ -81,37 +79,36 @@ void InstallController::install(DockerContainer container, int port, TransportPr
int s1 = QRandomGenerator::global()->bounded(15, 150);
int s2 = QRandomGenerator::global()->bounded(15, 150);
- int s3 = QRandomGenerator::global()->bounded(15, 150);
- int s4 = QRandomGenerator::global()->bounded(15, 150);
+ // int s3 = QRandomGenerator::global()->bounded(15, 150);
+ // int s4 = QRandomGenerator::global()->bounded(15, 150);
// Ensure all values are unique and don't create equal packet sizes
QSet usedValues;
usedValues.insert(s1);
- while (usedValues.contains(s2)
- || s1 + AwgConstant::messageInitiationSize == s2 + AwgConstant::messageResponseSize) {
+ while (usedValues.contains(s2) || s1 + AwgConstant::messageInitiationSize == s2 + AwgConstant::messageResponseSize) {
s2 = QRandomGenerator::global()->bounded(15, 150);
}
usedValues.insert(s2);
- while (usedValues.contains(s3)
- || s1 + AwgConstant::messageInitiationSize == s3 + AwgConstant::messageCookieReplySize
- || s2 + AwgConstant::messageResponseSize == s3 + AwgConstant::messageCookieReplySize) {
- s3 = QRandomGenerator::global()->bounded(15, 150);
- }
- usedValues.insert(s3);
+ // while (usedValues.contains(s3)
+ // || s1 + AwgConstant::messageInitiationSize == s3 + AwgConstant::messageCookieReplySize
+ // || s2 + AwgConstant::messageResponseSize == s3 + AwgConstant::messageCookieReplySize) {
+ // s3 = QRandomGenerator::global()->bounded(15, 150);
+ // }
+ // usedValues.insert(s3);
- while (usedValues.contains(s4)
- || s1 + AwgConstant::messageInitiationSize == s4 + AwgConstant::messageTransportSize
- || s2 + AwgConstant::messageResponseSize == s4 + AwgConstant::messageTransportSize
- || s3 + AwgConstant::messageCookieReplySize == s4 + AwgConstant::messageTransportSize) {
- s4 = QRandomGenerator::global()->bounded(15, 150);
- }
+ // while (usedValues.contains(s4)
+ // || s1 + AwgConstant::messageInitiationSize == s4 + AwgConstant::messageTransportSize
+ // || s2 + AwgConstant::messageResponseSize == s4 + AwgConstant::messageTransportSize
+ // || s3 + AwgConstant::messageCookieReplySize == s4 + AwgConstant::messageTransportSize) {
+ // s4 = QRandomGenerator::global()->bounded(15, 150);
+ // }
QString initPacketJunkSize = QString::number(s1);
QString responsePacketJunkSize = QString::number(s2);
- QString cookieReplyPacketJunkSize = QString::number(s3);
- QString transportPacketJunkSize = QString::number(s4);
+ // QString cookieReplyPacketJunkSize = QString::number(s3);
+ // QString transportPacketJunkSize = QString::number(s4);
QSet headersValue;
while (headersValue.size() != 4) {
@@ -131,14 +128,15 @@ void InstallController::install(DockerContainer container, int port, TransportPr
containerConfig[config_key::junkPacketMaxSize] = junkPacketMaxSize;
containerConfig[config_key::initPacketJunkSize] = initPacketJunkSize;
containerConfig[config_key::responsePacketJunkSize] = responsePacketJunkSize;
- containerConfig[config_key::cookieReplyPacketJunkSize] = cookieReplyPacketJunkSize;
- containerConfig[config_key::transportPacketJunkSize] = transportPacketJunkSize;
containerConfig[config_key::initPacketMagicHeader] = initPacketMagicHeader;
containerConfig[config_key::responsePacketMagicHeader] = responsePacketMagicHeader;
containerConfig[config_key::underloadPacketMagicHeader] = underloadPacketMagicHeader;
containerConfig[config_key::transportPacketMagicHeader] = transportPacketMagicHeader;
// TODO:
+ // containerConfig[config_key::cookieReplyPacketJunkSize] = cookieReplyPacketJunkSize;
+ // containerConfig[config_key::transportPacketJunkSize] = transportPacketJunkSize;
+
// containerConfig[config_key::specialJunk1] = specialJunk1;
// containerConfig[config_key::specialJunk2] = specialJunk2;
// containerConfig[config_key::specialJunk3] = specialJunk3;
@@ -170,8 +168,7 @@ void InstallController::install(DockerContainer container, int port, TransportPr
serverCredentials = m_processedServerCredentials;
} else {
int serverIndex = m_serversModel->getProcessedServerIndex();
- serverCredentials =
- qvariant_cast(m_serversModel->data(serverIndex, ServersModel::Roles::CredentialsRole));
+ serverCredentials = qvariant_cast(m_serversModel->data(serverIndex, ServersModel::Roles::CredentialsRole));
}
QSharedPointer serverController(new ServerController(m_settings));
@@ -197,8 +194,7 @@ void InstallController::install(DockerContainer container, int port, TransportPr
installedContainers.insert(container, config);
finishMessage = tr("%1 installed successfully. ").arg(ContainerProps::containerHumanNames().value(container));
} else {
- finishMessage =
- tr("%1 is already installed on the server. ").arg(ContainerProps::containerHumanNames().value(container));
+ finishMessage = tr("%1 is already installed on the server. ").arg(ContainerProps::containerHumanNames().value(container));
}
if (errorCode) {
@@ -213,10 +209,9 @@ void InstallController::install(DockerContainer container, int port, TransportPr
}
}
-void InstallController::installServer(const DockerContainer container,
- const QMap &installedContainers,
- const ServerCredentials &serverCredentials,
- const QSharedPointer &serverController, QString &finishMessage)
+void InstallController::installServer(const DockerContainer container, const QMap &installedContainers,
+ const ServerCredentials &serverCredentials, const QSharedPointer &serverController,
+ QString &finishMessage)
{
if (installedContainers.size() > 1) {
finishMessage += tr("\nAdded containers that were already installed on the server");
@@ -235,8 +230,8 @@ void InstallController::installServer(const DockerContainer container,
auto containerConfig = iterator.value();
if (ContainerProps::isSupportedByCurrentPlatform(container)) {
- auto errorCode = vpnConfigurationController.createProtocolConfigForContainer(
- m_processedServerCredentials, iterator.key(), containerConfig);
+ auto errorCode = vpnConfigurationController.createProtocolConfigForContainer(m_processedServerCredentials, iterator.key(),
+ containerConfig);
if (errorCode) {
emit installationErrorOccurred(errorCode);
return;
@@ -244,8 +239,7 @@ void InstallController::installServer(const DockerContainer container,
containerConfigs.append(containerConfig);
errorCode = m_clientManagementModel->appendClient(iterator.key(), serverCredentials, containerConfig,
- QString("Admin [%1]").arg(QSysInfo::prettyProductName()),
- serverController);
+ QString("Admin [%1]").arg(QSysInfo::prettyProductName()), serverController);
if (errorCode) {
emit installationErrorOccurred(errorCode);
return;
@@ -263,8 +257,7 @@ void InstallController::installServer(const DockerContainer container,
emit installServerFinished(finishMessage);
}
-void InstallController::installContainer(const DockerContainer container,
- const QMap &installedContainers,
+void InstallController::installContainer(const DockerContainer container, const QMap &installedContainers,
const ServerCredentials &serverCredentials,
const QSharedPointer &serverController, QString &finishMessage)
{
@@ -277,17 +270,16 @@ void InstallController::installContainer(const DockerContainer container,
containerConfig = iterator.value();
if (ContainerProps::isSupportedByCurrentPlatform(container)) {
- auto errorCode = vpnConfigurationController.createProtocolConfigForContainer(
- serverCredentials, iterator.key(), containerConfig);
+ auto errorCode =
+ vpnConfigurationController.createProtocolConfigForContainer(serverCredentials, iterator.key(), containerConfig);
if (errorCode) {
emit installationErrorOccurred(errorCode);
return;
}
m_serversModel->addContainerConfig(iterator.key(), containerConfig);
- errorCode = m_clientManagementModel->appendClient(
- iterator.key(), serverCredentials, containerConfig,
- QString("Admin [%1]").arg(QSysInfo::prettyProductName()), serverController);
+ errorCode = m_clientManagementModel->appendClient(iterator.key(), serverCredentials, containerConfig,
+ QString("Admin [%1]").arg(QSysInfo::prettyProductName()), serverController);
if (errorCode) {
emit installationErrorOccurred(errorCode);
return;
@@ -315,8 +307,7 @@ bool InstallController::isServerAlreadyExists()
auto modelIndex = m_serversModel->index(i);
const ServerCredentials credentials =
qvariant_cast(m_serversModel->data(modelIndex, ServersModel::Roles::CredentialsRole));
- if (m_processedServerCredentials.hostName == credentials.hostName
- && m_processedServerCredentials.port == credentials.port) {
+ if (m_processedServerCredentials.hostName == credentials.hostName && m_processedServerCredentials.port == credentials.port) {
emit serverAlreadyExists(i);
return true;
}
@@ -345,17 +336,17 @@ void InstallController::scanServerForInstalledContainers()
containerConfig = iterator.value();
if (ContainerProps::isSupportedByCurrentPlatform(container)) {
- auto errorCode = vpnConfigurationController.createProtocolConfigForContainer(
- serverCredentials, container, containerConfig);
+ auto errorCode =
+ vpnConfigurationController.createProtocolConfigForContainer(serverCredentials, container, containerConfig);
if (errorCode) {
emit installationErrorOccurred(errorCode);
return;
}
m_serversModel->addContainerConfig(container, containerConfig);
- errorCode = m_clientManagementModel->appendClient(
- container, serverCredentials, containerConfig,
- QString("Admin [%1]").arg(QSysInfo::prettyProductName()), serverController);
+ errorCode = m_clientManagementModel->appendClient(container, serverCredentials, containerConfig,
+ QString("Admin [%1]").arg(QSysInfo::prettyProductName()),
+ serverController);
if (errorCode) {
emit installationErrorOccurred(errorCode);
return;
@@ -419,8 +410,8 @@ ErrorCode InstallController::getAlreadyInstalledContainers(const ServerCredentia
containerConfig.insert(config_key::transport_proto, transportProto);
if (protocol == Proto::Awg) {
- QString serverConfig = serverController->getTextFileFromContainer(
- container, credentials, protocols::awg::serverConfigPath, errorCode);
+ QString serverConfig = serverController->getTextFileFromContainer(container, credentials,
+ protocols::awg::serverConfigPath, errorCode);
QMap serverConfigMap;
auto serverConfigLines = serverConfig.split("\n");
@@ -438,40 +429,33 @@ ErrorCode InstallController::getAlreadyInstalledContainers(const ServerCredentia
containerConfig[config_key::subnet_address] = serverConfigMap.value("Address").remove("/24");
containerConfig[config_key::junkPacketCount] = serverConfigMap.value(config_key::junkPacketCount);
- containerConfig[config_key::junkPacketMinSize] =
- serverConfigMap.value(config_key::junkPacketMinSize);
- containerConfig[config_key::junkPacketMaxSize] =
- serverConfigMap.value(config_key::junkPacketMaxSize);
- containerConfig[config_key::initPacketJunkSize] =
- serverConfigMap.value(config_key::initPacketJunkSize);
- containerConfig[config_key::responsePacketJunkSize] =
- serverConfigMap.value(config_key::responsePacketJunkSize);
- containerConfig[config_key::cookieReplyPacketJunkSize] =
- serverConfigMap.value(config_key::cookieReplyPacketJunkSize);
- containerConfig[config_key::transportPacketJunkSize] =
- serverConfigMap.value(config_key::transportPacketJunkSize);
- containerConfig[config_key::initPacketMagicHeader] =
- serverConfigMap.value(config_key::initPacketMagicHeader);
- containerConfig[config_key::responsePacketMagicHeader] =
- serverConfigMap.value(config_key::responsePacketMagicHeader);
+ containerConfig[config_key::junkPacketMinSize] = serverConfigMap.value(config_key::junkPacketMinSize);
+ containerConfig[config_key::junkPacketMaxSize] = serverConfigMap.value(config_key::junkPacketMaxSize);
+ containerConfig[config_key::initPacketJunkSize] = serverConfigMap.value(config_key::initPacketJunkSize);
+ containerConfig[config_key::responsePacketJunkSize] = serverConfigMap.value(config_key::responsePacketJunkSize);
+ containerConfig[config_key::initPacketMagicHeader] = serverConfigMap.value(config_key::initPacketMagicHeader);
+ containerConfig[config_key::responsePacketMagicHeader] = serverConfigMap.value(config_key::responsePacketMagicHeader);
containerConfig[config_key::underloadPacketMagicHeader] =
serverConfigMap.value(config_key::underloadPacketMagicHeader);
containerConfig[config_key::transportPacketMagicHeader] =
serverConfigMap.value(config_key::transportPacketMagicHeader);
- containerConfig[config_key::specialJunk1] = serverConfigMap.value(config_key::specialJunk1);
- containerConfig[config_key::specialJunk2] = serverConfigMap.value(config_key::specialJunk2);
- containerConfig[config_key::specialJunk3] = serverConfigMap.value(config_key::specialJunk3);
- containerConfig[config_key::specialJunk4] = serverConfigMap.value(config_key::specialJunk4);
- containerConfig[config_key::specialJunk5] = serverConfigMap.value(config_key::specialJunk5);
- containerConfig[config_key::controlledJunk1] = serverConfigMap.value(config_key::controlledJunk1);
- containerConfig[config_key::controlledJunk2] = serverConfigMap.value(config_key::controlledJunk2);
- containerConfig[config_key::controlledJunk3] = serverConfigMap.value(config_key::controlledJunk3);
- containerConfig[config_key::specialHandshakeTimeout] =
- serverConfigMap.value(config_key::specialHandshakeTimeout);
+
+ // containerConfig[config_key::cookieReplyPacketJunkSize] = serverConfigMap.value(config_key::cookieReplyPacketJunkSize);
+ // containerConfig[config_key::transportPacketJunkSize] = serverConfigMap.value(config_key::transportPacketJunkSize);
+
+ // containerConfig[config_key::specialJunk1] = serverConfigMap.value(config_key::specialJunk1);
+ // containerConfig[config_key::specialJunk2] = serverConfigMap.value(config_key::specialJunk2);
+ // containerConfig[config_key::specialJunk3] = serverConfigMap.value(config_key::specialJunk3);
+ // containerConfig[config_key::specialJunk4] = serverConfigMap.value(config_key::specialJunk4);
+ // containerConfig[config_key::specialJunk5] = serverConfigMap.value(config_key::specialJunk5);
+ // containerConfig[config_key::controlledJunk1] = serverConfigMap.value(config_key::controlledJunk1);
+ // containerConfig[config_key::controlledJunk2] = serverConfigMap.value(config_key::controlledJunk2);
+ // containerConfig[config_key::controlledJunk3] = serverConfigMap.value(config_key::controlledJunk3);
+ // containerConfig[config_key::specialHandshakeTimeout] = serverConfigMap.value(config_key::specialHandshakeTimeout);
} else if (protocol == Proto::WireGuard) {
- QString serverConfig = serverController->getTextFileFromContainer(
- container, credentials, protocols::wireguard::serverConfigPath, errorCode);
+ QString serverConfig = serverController->getTextFileFromContainer(container, credentials,
+ protocols::wireguard::serverConfigPath, errorCode);
QMap serverConfigMap;
auto serverConfigLines = serverConfig.split("\n");
@@ -491,8 +475,7 @@ ErrorCode InstallController::getAlreadyInstalledContainers(const ServerCredentia
stdOut.clear();
script = QString("sudo docker inspect --format '{{.Config.Cmd}}' %1").arg(name);
- ErrorCode errorCode =
- serverController->runScript(credentials, script, cbReadStdOut, cbReadStdErr);
+ ErrorCode errorCode = serverController->runScript(credentials, script, cbReadStdOut, cbReadStdErr);
if (errorCode != ErrorCode::NoError) {
return errorCode;
}
@@ -509,8 +492,8 @@ ErrorCode InstallController::getAlreadyInstalledContainers(const ServerCredentia
containerConfig.insert(config_key::userName, userName);
containerConfig.insert(config_key::password, password);
} else if (protocol == Proto::Socks5Proxy) {
- QString proxyConfig = serverController->getTextFileFromContainer(
- container, credentials, protocols::socks5Proxy::proxyConfigPath, errorCode);
+ QString proxyConfig = serverController->getTextFileFromContainer(container, credentials,
+ protocols::socks5Proxy::proxyConfigPath, errorCode);
const static QRegularExpression usernameAndPasswordRegExp("users (\\w+):CL:(\\w+)");
QRegularExpressionMatch usernameAndPasswordMatch = usernameAndPasswordRegExp.match(proxyConfig);
@@ -595,8 +578,7 @@ ErrorCode InstallController::getAlreadyInstalledContainers(const ServerCredentia
stdOut.clear();
script = QString("sudo docker exec -i %1 sh -c 'cat /var/lib/tor/hidden_service/hostname'").arg(name);
- ErrorCode errorCode =
- serverController->runScript(credentials, script, cbReadStdOut, cbReadStdErr);
+ ErrorCode errorCode = serverController->runScript(credentials, script, cbReadStdOut, cbReadStdErr);
if (errorCode != ErrorCode::NoError) {
return errorCode;
}
@@ -635,8 +617,7 @@ void InstallController::updateContainer(QJsonObject config)
if (isUpdateDockerContainerRequired(container, oldContainerConfig, config)) {
QSharedPointer serverController(new ServerController(m_settings));
connect(serverController.get(), &ServerController::serverIsBusy, this, &InstallController::serverIsBusy);
- connect(this, &InstallController::cancelInstallation, serverController.get(),
- &ServerController::cancelInstallation);
+ connect(this, &InstallController::cancelInstallation, serverController.get(), &ServerController::cancelInstallation);
errorCode = serverController->updateContainer(serverCredentials, container, oldContainerConfig, config);
clearCachedProfile(serverController);
@@ -646,8 +627,7 @@ void InstallController::updateContainer(QJsonObject config)
m_serversModel->updateContainerConfig(container, config);
m_protocolModel->updateModel(config);
- auto defaultContainer = qvariant_cast(
- m_serversModel->data(serverIndex, ServersModel::Roles::DefaultContainerRole));
+ auto defaultContainer = qvariant_cast(m_serversModel->data(serverIndex, ServersModel::Roles::DefaultContainerRole));
if ((serverIndex == m_serversModel->getDefaultServerIndex()) && (container == defaultContainer)) {
emit currentContainerUpdated();
} else {
@@ -709,8 +689,7 @@ void InstallController::removeProcessedContainer()
ErrorCode errorCode = m_serversModel->removeContainer(serverController, container);
if (errorCode == ErrorCode::NoError) {
- emit removeProcessedContainerFinished(
- tr("%1 has been removed from the server '%2'").arg(containerName, serverName));
+ emit removeProcessedContainerFinished(tr("%1 has been removed from the server '%2'").arg(containerName, serverName));
return;
}
emit installationErrorOccurred(errorCode);
@@ -754,8 +733,7 @@ QRegularExpression InstallController::ipAddressRegExp()
return NetworkUtilities::ipAddressRegExp();
}
-void InstallController::setProcessedServerCredentials(const QString &hostName, const QString &userName,
- const QString &secretData)
+void InstallController::setProcessedServerCredentials(const QString &hostName, const QString &userName, const QString &secretData)
{
m_processedServerCredentials.hostName = hostName;
if (m_processedServerCredentials.hostName.contains(":")) {
@@ -790,8 +768,7 @@ void InstallController::mountSftpDrive(const QString &port, const QString &passw
cmd = "C:\\Program Files\\SSHFS-Win\\bin\\sshfs.exe";
#elif defined AMNEZIA_DESKTOP
- mountPath =
- QString("%1/sftp:%2:%3").arg(QStandardPaths::writableLocation(QStandardPaths::HomeLocation), hostname, port);
+ mountPath = QString("%1/sftp:%2:%3").arg(QStandardPaths::writableLocation(QStandardPaths::HomeLocation), hostname, port);
QDir dir(mountPath);
if (!dir.exists()) {
dir.mkpath(mountPath);
@@ -855,8 +832,7 @@ bool InstallController::checkSshConnection(QSharedPointer serv
ErrorCode errorCode = ErrorCode::NoError;
m_privateKeyPassphrase = "";
- if (m_processedServerCredentials.secretData.contains("BEGIN")
- && m_processedServerCredentials.secretData.contains("PRIVATE KEY")) {
+ if (m_processedServerCredentials.secretData.contains("BEGIN") && m_processedServerCredentials.secretData.contains("PRIVATE KEY")) {
auto passphraseCallback = [this]() {
emit passphraseRequestStarted();
QEventLoop loop;
@@ -867,8 +843,7 @@ bool InstallController::checkSshConnection(QSharedPointer serv
};
QString decryptedPrivateKey;
- errorCode = serverController->getDecryptedPrivateKey(m_processedServerCredentials, decryptedPrivateKey,
- passphraseCallback);
+ errorCode = serverController->getDecryptedPrivateKey(m_processedServerCredentials, decryptedPrivateKey, passphraseCallback);
if (errorCode == ErrorCode::NoError) {
m_processedServerCredentials.secretData = decryptedPrivateKey;
} else {
@@ -929,8 +904,7 @@ bool InstallController::isConfigValid()
return false;
}
- DockerContainer container =
- qvariant_cast(m_serversModel->data(serverIndex, ServersModel::Roles::DefaultContainerRole));
+ DockerContainer container = qvariant_cast(m_serversModel->data(serverIndex, ServersModel::Roles::DefaultContainerRole));
if (container == DockerContainer::None) {
emit installationErrorOccurred(ErrorCode::NoInstalledContainersError);
@@ -950,10 +924,8 @@ bool InstallController::isConfigValid()
auto isProtocolConfigExists = [](const QJsonObject &containerConfig, const DockerContainer container) {
for (Proto protocol : ContainerProps::protocolsForContainer(container)) {
- QString protocolConfig = containerConfig.value(ProtocolProps::protoToString(protocol))
- .toObject()
- .value(config_key::last_config)
- .toString();
+ QString protocolConfig =
+ containerConfig.value(ProtocolProps::protoToString(protocol)).toObject().value(config_key::last_config).toString();
if (protocolConfig.isEmpty()) {
return false;
@@ -964,16 +936,14 @@ bool InstallController::isConfigValid()
if (!isProtocolConfigExists(containerConfig, container)) {
VpnConfigurationsController vpnConfigurationController(m_settings, serverController);
- errorCode =
- vpnConfigurationController.createProtocolConfigForContainer(credentials, container, containerConfig);
+ errorCode = vpnConfigurationController.createProtocolConfigForContainer(credentials, container, containerConfig);
if (errorCode != ErrorCode::NoError) {
return errorCode;
}
m_serversModel->updateContainerConfig(container, containerConfig);
errorCode = m_clientManagementModel->appendClient(container, credentials, containerConfig,
- QString("Admin [%1]").arg(QSysInfo::prettyProductName()),
- serverController);
+ QString("Admin [%1]").arg(QSysInfo::prettyProductName()), serverController);
if (errorCode != ErrorCode::NoError) {
return errorCode;
}
diff --git a/client/ui/models/protocols/awgConfigModel.cpp b/client/ui/models/protocols/awgConfigModel.cpp
index f8f5f097..e14a3152 100644
--- a/client/ui/models/protocols/awgConfigModel.cpp
+++ b/client/ui/models/protocols/awgConfigModel.cpp
@@ -25,67 +25,34 @@ bool AwgConfigModel::setData(const QModelIndex &index, const QVariant &value, in
case Roles::PortRole: m_serverProtocolConfig.insert(config_key::port, value.toString()); break;
case Roles::ClientMtuRole: m_clientProtocolConfig.insert(config_key::mtu, value.toString()); break;
- case Roles::ClientJunkPacketCountRole:
- m_clientProtocolConfig.insert(config_key::junkPacketCount, value.toString());
- break;
- case Roles::ClientJunkPacketMinSizeRole:
- m_clientProtocolConfig.insert(config_key::junkPacketMinSize, value.toString());
- break;
- case Roles::ClientJunkPacketMaxSizeRole:
- m_clientProtocolConfig.insert(config_key::junkPacketMaxSize, value.toString());
- break;
- case Roles::ClientSpecialJunk1Role:
- m_clientProtocolConfig.insert(config_key::specialJunk1, value.toString());
- break;
- case Roles::ClientSpecialJunk2Role:
- m_clientProtocolConfig.insert(config_key::specialJunk2, value.toString());
- break;
- case Roles::ClientSpecialJunk3Role:
- m_clientProtocolConfig.insert(config_key::specialJunk3, value.toString());
- break;
- case Roles::ClientSpecialJunk4Role:
- m_clientProtocolConfig.insert(config_key::specialJunk4, value.toString());
- break;
- case Roles::ClientSpecialJunk5Role:
- m_clientProtocolConfig.insert(config_key::specialJunk5, value.toString());
- break;
- case Roles::ClientControlledJunk1Role:
- m_clientProtocolConfig.insert(config_key::controlledJunk1, value.toString());
- break;
- case Roles::ClientControlledJunk2Role:
- m_clientProtocolConfig.insert(config_key::controlledJunk2, value.toString());
- break;
- case Roles::ClientControlledJunk3Role:
- m_clientProtocolConfig.insert(config_key::controlledJunk3, value.toString());
- break;
+ case Roles::ClientJunkPacketCountRole: m_clientProtocolConfig.insert(config_key::junkPacketCount, value.toString()); break;
+ case Roles::ClientJunkPacketMinSizeRole: m_clientProtocolConfig.insert(config_key::junkPacketMinSize, value.toString()); break;
+ case Roles::ClientJunkPacketMaxSizeRole: m_clientProtocolConfig.insert(config_key::junkPacketMaxSize, value.toString()); break;
+ case Roles::ClientSpecialJunk1Role: m_clientProtocolConfig.insert(config_key::specialJunk1, value.toString()); break;
+ case Roles::ClientSpecialJunk2Role: m_clientProtocolConfig.insert(config_key::specialJunk2, value.toString()); break;
+ case Roles::ClientSpecialJunk3Role: m_clientProtocolConfig.insert(config_key::specialJunk3, value.toString()); break;
+ case Roles::ClientSpecialJunk4Role: m_clientProtocolConfig.insert(config_key::specialJunk4, value.toString()); break;
+ case Roles::ClientSpecialJunk5Role: m_clientProtocolConfig.insert(config_key::specialJunk5, value.toString()); break;
+ case Roles::ClientControlledJunk1Role: m_clientProtocolConfig.insert(config_key::controlledJunk1, value.toString()); break;
+ case Roles::ClientControlledJunk2Role: m_clientProtocolConfig.insert(config_key::controlledJunk2, value.toString()); break;
+ case Roles::ClientControlledJunk3Role: m_clientProtocolConfig.insert(config_key::controlledJunk3, value.toString()); break;
case Roles::ClientSpecialHandshakeTimeoutRole:
m_clientProtocolConfig.insert(config_key::specialHandshakeTimeout, value.toString());
break;
-
- case Roles::ServerJunkPacketCountRole:
- m_serverProtocolConfig.insert(config_key::junkPacketCount, value.toString());
- break;
- case Roles::ServerJunkPacketMinSizeRole:
- m_serverProtocolConfig.insert(config_key::junkPacketMinSize, value.toString());
- break;
- case Roles::ServerJunkPacketMaxSizeRole:
- m_serverProtocolConfig.insert(config_key::junkPacketMaxSize, value.toString());
- break;
- case Roles::ServerInitPacketJunkSizeRole:
- m_serverProtocolConfig.insert(config_key::initPacketJunkSize, value.toString());
- break;
+ case Roles::ServerJunkPacketCountRole: m_serverProtocolConfig.insert(config_key::junkPacketCount, value.toString()); break;
+ case Roles::ServerJunkPacketMinSizeRole: m_serverProtocolConfig.insert(config_key::junkPacketMinSize, value.toString()); break;
+ case Roles::ServerJunkPacketMaxSizeRole: m_serverProtocolConfig.insert(config_key::junkPacketMaxSize, value.toString()); break;
+ case Roles::ServerInitPacketJunkSizeRole: m_serverProtocolConfig.insert(config_key::initPacketJunkSize, value.toString()); break;
case Roles::ServerResponsePacketJunkSizeRole:
m_serverProtocolConfig.insert(config_key::responsePacketJunkSize, value.toString());
break;
- case Roles::ServerCookieReplyPacketJunkSizeRole:
- m_serverProtocolConfig.insert(config_key::cookieReplyPacketJunkSize, value.toString());
- break;
- case Roles::ServerTransportPacketJunkSizeRole:
- m_serverProtocolConfig.insert(config_key::transportPacketJunkSize, value.toString());
- break;
- case Roles::ServerInitPacketMagicHeaderRole:
- m_serverProtocolConfig.insert(config_key::initPacketMagicHeader, value.toString());
- break;
+ // case Roles::ServerCookieReplyPacketJunkSizeRole:
+ // m_serverProtocolConfig.insert(config_key::cookieReplyPacketJunkSize, value.toString());
+ // break;
+ // case Roles::ServerTransportPacketJunkSizeRole:
+ // m_serverProtocolConfig.insert(config_key::transportPacketJunkSize, value.toString());
+ // break;
+ case Roles::ServerInitPacketMagicHeaderRole: m_serverProtocolConfig.insert(config_key::initPacketMagicHeader, value.toString()); break;
case Roles::ServerResponsePacketMagicHeaderRole:
m_serverProtocolConfig.insert(config_key::responsePacketMagicHeader, value.toString());
break;
@@ -123,26 +90,19 @@ QVariant AwgConfigModel::data(const QModelIndex &index, int role) const
case Roles::ClientControlledJunk1Role: return m_clientProtocolConfig.value(config_key::controlledJunk1);
case Roles::ClientControlledJunk2Role: return m_clientProtocolConfig.value(config_key::controlledJunk2);
case Roles::ClientControlledJunk3Role: return m_clientProtocolConfig.value(config_key::controlledJunk3);
- case Roles::ClientSpecialHandshakeTimeoutRole:
- return m_clientProtocolConfig.value(config_key::specialHandshakeTimeout);
+ case Roles::ClientSpecialHandshakeTimeoutRole: return m_clientProtocolConfig.value(config_key::specialHandshakeTimeout);
case Roles::ServerJunkPacketCountRole: return m_serverProtocolConfig.value(config_key::junkPacketCount);
case Roles::ServerJunkPacketMinSizeRole: return m_serverProtocolConfig.value(config_key::junkPacketMinSize);
case Roles::ServerJunkPacketMaxSizeRole: return m_serverProtocolConfig.value(config_key::junkPacketMaxSize);
case Roles::ServerInitPacketJunkSizeRole: return m_serverProtocolConfig.value(config_key::initPacketJunkSize);
- case Roles::ServerResponsePacketJunkSizeRole:
- return m_serverProtocolConfig.value(config_key::responsePacketJunkSize);
- case Roles::ServerCookieReplyPacketJunkSizeRole:
- return m_serverProtocolConfig.value(config_key::cookieReplyPacketJunkSize);
- case Roles::ServerTransportPacketJunkSizeRole:
- return m_serverProtocolConfig.value(config_key::transportPacketJunkSize);
+ case Roles::ServerResponsePacketJunkSizeRole: return m_serverProtocolConfig.value(config_key::responsePacketJunkSize);
+ // case Roles::ServerCookieReplyPacketJunkSizeRole: return m_serverProtocolConfig.value(config_key::cookieReplyPacketJunkSize);
+ // case Roles::ServerTransportPacketJunkSizeRole: return m_serverProtocolConfig.value(config_key::transportPacketJunkSize);
case Roles::ServerInitPacketMagicHeaderRole: return m_serverProtocolConfig.value(config_key::initPacketMagicHeader);
- case Roles::ServerResponsePacketMagicHeaderRole:
- return m_serverProtocolConfig.value(config_key::responsePacketMagicHeader);
- case Roles::ServerUnderloadPacketMagicHeaderRole:
- return m_serverProtocolConfig.value(config_key::underloadPacketMagicHeader);
- case Roles::ServerTransportPacketMagicHeaderRole:
- return m_serverProtocolConfig.value(config_key::transportPacketMagicHeader);
+ case Roles::ServerResponsePacketMagicHeaderRole: return m_serverProtocolConfig.value(config_key::responsePacketMagicHeader);
+ case Roles::ServerUnderloadPacketMagicHeaderRole: return m_serverProtocolConfig.value(config_key::underloadPacketMagicHeader);
+ case Roles::ServerTransportPacketMagicHeaderRole: return m_serverProtocolConfig.value(config_key::transportPacketMagicHeader);
}
return QVariant();
@@ -157,15 +117,13 @@ void AwgConfigModel::updateModel(const QJsonObject &config)
QJsonObject serverProtocolConfig = config.value(config_key::awg).toObject();
- auto defaultTransportProto =
- ProtocolProps::transportProtoToString(ProtocolProps::defaultTransportProto(Proto::Awg), Proto::Awg);
+ auto defaultTransportProto = ProtocolProps::transportProtoToString(ProtocolProps::defaultTransportProto(Proto::Awg), Proto::Awg);
m_serverProtocolConfig.insert(config_key::transport_proto,
serverProtocolConfig.value(config_key::transport_proto).toString(defaultTransportProto));
m_serverProtocolConfig[config_key::last_config] = serverProtocolConfig.value(config_key::last_config);
m_serverProtocolConfig[config_key::subnet_address] =
serverProtocolConfig.value(config_key::subnet_address).toString(protocols::wireguard::defaultSubnetAddress);
- m_serverProtocolConfig[config_key::port] =
- serverProtocolConfig.value(config_key::port).toString(protocols::awg::defaultPort);
+ m_serverProtocolConfig[config_key::port] = serverProtocolConfig.value(config_key::port).toString(protocols::awg::defaultPort);
m_serverProtocolConfig[config_key::junkPacketCount] =
serverProtocolConfig.value(config_key::junkPacketCount).toString(protocols::awg::defaultJunkPacketCount);
m_serverProtocolConfig[config_key::junkPacketMinSize] =
@@ -175,39 +133,29 @@ void AwgConfigModel::updateModel(const QJsonObject &config)
m_serverProtocolConfig[config_key::initPacketJunkSize] =
serverProtocolConfig.value(config_key::initPacketJunkSize).toString(protocols::awg::defaultInitPacketJunkSize);
m_serverProtocolConfig[config_key::responsePacketJunkSize] =
- serverProtocolConfig.value(config_key::responsePacketJunkSize)
- .toString(protocols::awg::defaultResponsePacketJunkSize);
- m_serverProtocolConfig[config_key::cookieReplyPacketJunkSize] =
- serverProtocolConfig.value(config_key::cookieReplyPacketJunkSize)
- .toString(protocols::awg::defaultCookieReplyPacketJunkSize);
- m_serverProtocolConfig[config_key::transportPacketJunkSize] =
- serverProtocolConfig.value(config_key::transportPacketJunkSize)
- .toString(protocols::awg::defaultTransportPacketJunkSize);
+ serverProtocolConfig.value(config_key::responsePacketJunkSize).toString(protocols::awg::defaultResponsePacketJunkSize);
+ // m_serverProtocolConfig[config_key::cookieReplyPacketJunkSize] =
+ // serverProtocolConfig.value(config_key::cookieReplyPacketJunkSize).toString(protocols::awg::defaultCookieReplyPacketJunkSize);
+ // m_serverProtocolConfig[config_key::transportPacketJunkSize] =
+ // serverProtocolConfig.value(config_key::transportPacketJunkSize).toString(protocols::awg::defaultTransportPacketJunkSize);
m_serverProtocolConfig[config_key::initPacketMagicHeader] =
- serverProtocolConfig.value(config_key::initPacketMagicHeader)
- .toString(protocols::awg::defaultInitPacketMagicHeader);
+ serverProtocolConfig.value(config_key::initPacketMagicHeader).toString(protocols::awg::defaultInitPacketMagicHeader);
m_serverProtocolConfig[config_key::responsePacketMagicHeader] =
- serverProtocolConfig.value(config_key::responsePacketMagicHeader)
- .toString(protocols::awg::defaultResponsePacketMagicHeader);
+ serverProtocolConfig.value(config_key::responsePacketMagicHeader).toString(protocols::awg::defaultResponsePacketMagicHeader);
m_serverProtocolConfig[config_key::underloadPacketMagicHeader] =
- serverProtocolConfig.value(config_key::underloadPacketMagicHeader)
- .toString(protocols::awg::defaultUnderloadPacketMagicHeader);
+ serverProtocolConfig.value(config_key::underloadPacketMagicHeader).toString(protocols::awg::defaultUnderloadPacketMagicHeader);
m_serverProtocolConfig[config_key::transportPacketMagicHeader] =
- serverProtocolConfig.value(config_key::transportPacketMagicHeader)
- .toString(protocols::awg::defaultTransportPacketMagicHeader);
+ serverProtocolConfig.value(config_key::transportPacketMagicHeader).toString(protocols::awg::defaultTransportPacketMagicHeader);
auto lastConfig = m_serverProtocolConfig.value(config_key::last_config).toString();
QJsonObject clientProtocolConfig = QJsonDocument::fromJson(lastConfig.toUtf8()).object();
m_clientProtocolConfig[config_key::mtu] = clientProtocolConfig[config_key::mtu].toString(protocols::awg::defaultMtu);
m_clientProtocolConfig[config_key::junkPacketCount] =
- clientProtocolConfig.value(config_key::junkPacketCount)
- .toString(m_serverProtocolConfig[config_key::junkPacketCount].toString());
+ clientProtocolConfig.value(config_key::junkPacketCount).toString(m_serverProtocolConfig[config_key::junkPacketCount].toString());
m_clientProtocolConfig[config_key::junkPacketMinSize] =
- clientProtocolConfig.value(config_key::junkPacketMinSize)
- .toString(m_serverProtocolConfig[config_key::junkPacketMinSize].toString());
+ clientProtocolConfig.value(config_key::junkPacketMinSize).toString(m_serverProtocolConfig[config_key::junkPacketMinSize].toString());
m_clientProtocolConfig[config_key::junkPacketMaxSize] =
- clientProtocolConfig.value(config_key::junkPacketMaxSize)
- .toString(m_serverProtocolConfig[config_key::junkPacketMaxSize].toString());
+ clientProtocolConfig.value(config_key::junkPacketMaxSize).toString(m_serverProtocolConfig[config_key::junkPacketMaxSize].toString());
m_clientProtocolConfig[config_key::specialJunk1] =
clientProtocolConfig.value(config_key::specialJunk1).toString(protocols::awg::defaultSpecialJunk1);
m_clientProtocolConfig[config_key::specialJunk2] =
@@ -225,8 +173,7 @@ void AwgConfigModel::updateModel(const QJsonObject &config)
m_clientProtocolConfig[config_key::controlledJunk3] =
clientProtocolConfig.value(config_key::controlledJunk3).toString(protocols::awg::defaultControlledJunk3);
m_clientProtocolConfig[config_key::specialHandshakeTimeout] =
- clientProtocolConfig.value(config_key::specialHandshakeTimeout)
- .toString(protocols::awg::defaultSpecialHandshakeTimeout);
+ clientProtocolConfig.value(config_key::specialHandshakeTimeout).toString(protocols::awg::defaultSpecialHandshakeTimeout);
endResetModel();
}
@@ -266,17 +213,22 @@ bool AwgConfigModel::isHeadersEqual(const QString &h1, const QString &h2, const
return (h1 == h2) || (h1 == h3) || (h1 == h4) || (h2 == h3) || (h2 == h4) || (h3 == h4);
}
-bool AwgConfigModel::isPacketSizeEqual(const int s1, const int s2, const int s3, const int s4)
+bool AwgConfigModel::isPacketSizeEqual(const int s1, const int s2)
{
- int initSize = AwgConstant::messageInitiationSize + s1;
- int responseSize = AwgConstant::messageResponseSize + s2;
- int cookieSize = AwgConstant::messageCookieReplySize + s3;
- int transportSize = AwgConstant::messageTransportSize + s4;
-
- return (initSize == responseSize || initSize == cookieSize || initSize == transportSize
- || responseSize == cookieSize || responseSize == transportSize || cookieSize == transportSize);
+ return (AwgConstant::messageInitiationSize + s1 == AwgConstant::messageResponseSize + s2);
}
+// bool AwgConfigModel::isPacketSizeEqual(const int s1, const int s2, const int s3, const int s4)
+// {
+// int initSize = AwgConstant::messageInitiationSize + s1;
+// int responseSize = AwgConstant::messageResponseSize + s2;
+// int cookieSize = AwgConstant::messageCookieReplySize + s3;
+// int transportSize = AwgConstant::messageTransportSize + s4;
+
+// return (initSize == responseSize || initSize == cookieSize || initSize == transportSize || responseSize == cookieSize
+// || responseSize == transportSize || cookieSize == transportSize);
+// }
+
bool AwgConfigModel::isServerSettingsEqual()
{
const AwgConfig oldConfig(m_fullConfig.value(config_key::awg).toObject());
@@ -327,67 +279,49 @@ AwgConfig::AwgConfig(const QJsonObject &serverProtocolConfig)
auto lastConfig = serverProtocolConfig.value(config_key::last_config).toString();
QJsonObject clientProtocolConfig = QJsonDocument::fromJson(lastConfig.toUtf8()).object();
clientMtu = clientProtocolConfig[config_key::mtu].toString(protocols::awg::defaultMtu);
- clientJunkPacketCount =
- clientProtocolConfig.value(config_key::junkPacketCount).toString(protocols::awg::defaultJunkPacketCount);
- clientJunkPacketMinSize =
- clientProtocolConfig.value(config_key::junkPacketMinSize).toString(protocols::awg::defaultJunkPacketMinSize);
- clientJunkPacketMaxSize =
- clientProtocolConfig.value(config_key::junkPacketMaxSize).toString(protocols::awg::defaultJunkPacketMaxSize);
- clientSpecialJunk1 =
- clientProtocolConfig.value(config_key::specialJunk1).toString(protocols::awg::defaultSpecialJunk1);
- clientSpecialJunk2 =
- clientProtocolConfig.value(config_key::specialJunk2).toString(protocols::awg::defaultSpecialJunk2);
- clientSpecialJunk3 =
- clientProtocolConfig.value(config_key::specialJunk3).toString(protocols::awg::defaultSpecialJunk3);
- clientSpecialJunk4 =
- clientProtocolConfig.value(config_key::specialJunk4).toString(protocols::awg::defaultSpecialJunk4);
- clientSpecialJunk5 =
- clientProtocolConfig.value(config_key::specialJunk5).toString(protocols::awg::defaultSpecialJunk5);
- clientControlledJunk1 =
- clientProtocolConfig.value(config_key::controlledJunk1).toString(protocols::awg::defaultControlledJunk1);
- clientControlledJunk2 =
- clientProtocolConfig.value(config_key::controlledJunk2).toString(protocols::awg::defaultControlledJunk2);
- clientControlledJunk3 =
- clientProtocolConfig.value(config_key::controlledJunk3).toString(protocols::awg::defaultControlledJunk3);
- clientSpecialHandshakeTimeout = clientProtocolConfig.value(config_key::specialHandshakeTimeout)
- .toString(protocols::awg::defaultSpecialHandshakeTimeout);
+ clientJunkPacketCount = clientProtocolConfig.value(config_key::junkPacketCount).toString(protocols::awg::defaultJunkPacketCount);
+ clientJunkPacketMinSize = clientProtocolConfig.value(config_key::junkPacketMinSize).toString(protocols::awg::defaultJunkPacketMinSize);
+ clientJunkPacketMaxSize = clientProtocolConfig.value(config_key::junkPacketMaxSize).toString(protocols::awg::defaultJunkPacketMaxSize);
+ clientSpecialJunk1 = clientProtocolConfig.value(config_key::specialJunk1).toString(protocols::awg::defaultSpecialJunk1);
+ clientSpecialJunk2 = clientProtocolConfig.value(config_key::specialJunk2).toString(protocols::awg::defaultSpecialJunk2);
+ clientSpecialJunk3 = clientProtocolConfig.value(config_key::specialJunk3).toString(protocols::awg::defaultSpecialJunk3);
+ clientSpecialJunk4 = clientProtocolConfig.value(config_key::specialJunk4).toString(protocols::awg::defaultSpecialJunk4);
+ clientSpecialJunk5 = clientProtocolConfig.value(config_key::specialJunk5).toString(protocols::awg::defaultSpecialJunk5);
+ clientControlledJunk1 = clientProtocolConfig.value(config_key::controlledJunk1).toString(protocols::awg::defaultControlledJunk1);
+ clientControlledJunk2 = clientProtocolConfig.value(config_key::controlledJunk2).toString(protocols::awg::defaultControlledJunk2);
+ clientControlledJunk3 = clientProtocolConfig.value(config_key::controlledJunk3).toString(protocols::awg::defaultControlledJunk3);
+ clientSpecialHandshakeTimeout =
+ clientProtocolConfig.value(config_key::specialHandshakeTimeout).toString(protocols::awg::defaultSpecialHandshakeTimeout);
- subnetAddress =
- serverProtocolConfig.value(config_key::subnet_address).toString(protocols::wireguard::defaultSubnetAddress);
+ subnetAddress = serverProtocolConfig.value(config_key::subnet_address).toString(protocols::wireguard::defaultSubnetAddress);
port = serverProtocolConfig.value(config_key::port).toString(protocols::awg::defaultPort);
- serverJunkPacketCount =
- serverProtocolConfig.value(config_key::junkPacketCount).toString(protocols::awg::defaultJunkPacketCount);
- serverJunkPacketMinSize =
- serverProtocolConfig.value(config_key::junkPacketMinSize).toString(protocols::awg::defaultJunkPacketMinSize);
- serverJunkPacketMaxSize =
- serverProtocolConfig.value(config_key::junkPacketMaxSize).toString(protocols::awg::defaultJunkPacketMaxSize);
- serverInitPacketJunkSize =
- serverProtocolConfig.value(config_key::initPacketJunkSize).toString(protocols::awg::defaultInitPacketJunkSize);
- serverResponsePacketJunkSize = serverProtocolConfig.value(config_key::responsePacketJunkSize)
- .toString(protocols::awg::defaultResponsePacketJunkSize);
- serverCookieReplyPacketJunkSize = serverProtocolConfig.value(config_key::responsePacketJunkSize)
- .toString(protocols::awg::defaultCookieReplyPacketJunkSize);
- serverTransportPacketJunkSize = serverProtocolConfig.value(config_key::responsePacketJunkSize)
- .toString(protocols::awg::defaultTransportPacketJunkSize);
- serverInitPacketMagicHeader = serverProtocolConfig.value(config_key::initPacketMagicHeader)
- .toString(protocols::awg::defaultInitPacketMagicHeader);
- serverResponsePacketMagicHeader = serverProtocolConfig.value(config_key::responsePacketMagicHeader)
- .toString(protocols::awg::defaultResponsePacketMagicHeader);
- serverUnderloadPacketMagicHeader = serverProtocolConfig.value(config_key::underloadPacketMagicHeader)
- .toString(protocols::awg::defaultUnderloadPacketMagicHeader);
- serverTransportPacketMagicHeader = serverProtocolConfig.value(config_key::transportPacketMagicHeader)
- .toString(protocols::awg::defaultTransportPacketMagicHeader);
+ serverJunkPacketCount = serverProtocolConfig.value(config_key::junkPacketCount).toString(protocols::awg::defaultJunkPacketCount);
+ serverJunkPacketMinSize = serverProtocolConfig.value(config_key::junkPacketMinSize).toString(protocols::awg::defaultJunkPacketMinSize);
+ serverJunkPacketMaxSize = serverProtocolConfig.value(config_key::junkPacketMaxSize).toString(protocols::awg::defaultJunkPacketMaxSize);
+ serverInitPacketJunkSize = serverProtocolConfig.value(config_key::initPacketJunkSize).toString(protocols::awg::defaultInitPacketJunkSize);
+ serverResponsePacketJunkSize =
+ serverProtocolConfig.value(config_key::responsePacketJunkSize).toString(protocols::awg::defaultResponsePacketJunkSize);
+ // serverCookieReplyPacketJunkSize =
+ // serverProtocolConfig.value(config_key::cookieReplyPacketJunkSize).toString(protocols::awg::defaultCookieReplyPacketJunkSize);
+ // serverTransportPacketJunkSize =
+ // serverProtocolConfig.value(config_key::transportPacketJunkSize).toString(protocols::awg::defaultTransportPacketJunkSize);
+ serverInitPacketMagicHeader =
+ serverProtocolConfig.value(config_key::initPacketMagicHeader).toString(protocols::awg::defaultInitPacketMagicHeader);
+ serverResponsePacketMagicHeader =
+ serverProtocolConfig.value(config_key::responsePacketMagicHeader).toString(protocols::awg::defaultResponsePacketMagicHeader);
+ serverUnderloadPacketMagicHeader =
+ serverProtocolConfig.value(config_key::underloadPacketMagicHeader).toString(protocols::awg::defaultUnderloadPacketMagicHeader);
+ serverTransportPacketMagicHeader =
+ serverProtocolConfig.value(config_key::transportPacketMagicHeader).toString(protocols::awg::defaultTransportPacketMagicHeader);
}
bool AwgConfig::hasEqualServerSettings(const AwgConfig &other) const
{
if (subnetAddress != other.subnetAddress || port != other.port || serverJunkPacketCount != other.serverJunkPacketCount
- || serverJunkPacketMinSize != other.serverJunkPacketMinSize
- || serverJunkPacketMaxSize != other.serverJunkPacketMaxSize
- || serverInitPacketJunkSize != other.serverInitPacketJunkSize
- || serverResponsePacketJunkSize != other.serverResponsePacketJunkSize
- || serverCookieReplyPacketJunkSize != other.serverCookieReplyPacketJunkSize
- || serverTransportPacketJunkSize != other.serverTransportPacketJunkSize
+ || serverJunkPacketMinSize != other.serverJunkPacketMinSize || serverJunkPacketMaxSize != other.serverJunkPacketMaxSize
+ || serverInitPacketJunkSize != other.serverInitPacketJunkSize || serverResponsePacketJunkSize != other.serverResponsePacketJunkSize
+ // || serverCookieReplyPacketJunkSize != other.serverCookieReplyPacketJunkSize
+ // || serverTransportPacketJunkSize != other.serverTransportPacketJunkSize
|| serverInitPacketMagicHeader != other.serverInitPacketMagicHeader
|| serverResponsePacketMagicHeader != other.serverResponsePacketMagicHeader
|| serverUnderloadPacketMagicHeader != other.serverUnderloadPacketMagicHeader
@@ -400,12 +334,11 @@ bool AwgConfig::hasEqualServerSettings(const AwgConfig &other) const
bool AwgConfig::hasEqualClientSettings(const AwgConfig &other) const
{
if (clientMtu != other.clientMtu || clientJunkPacketCount != other.clientJunkPacketCount
- || clientJunkPacketMinSize != other.clientJunkPacketMinSize
- || clientJunkPacketMaxSize != other.clientJunkPacketMaxSize || clientSpecialJunk1 != other.clientSpecialJunk1
- || clientSpecialJunk2 != other.clientSpecialJunk2 || clientSpecialJunk3 != other.clientSpecialJunk3
- || clientSpecialJunk4 != other.clientSpecialJunk4 || clientSpecialJunk5 != other.clientSpecialJunk5
- || clientControlledJunk1 != other.clientControlledJunk1 || clientControlledJunk2 != other.clientControlledJunk2
- || clientControlledJunk3 != other.clientControlledJunk3
+ || clientJunkPacketMinSize != other.clientJunkPacketMinSize || clientJunkPacketMaxSize != other.clientJunkPacketMaxSize
+ || clientSpecialJunk1 != other.clientSpecialJunk1 || clientSpecialJunk2 != other.clientSpecialJunk2
+ || clientSpecialJunk3 != other.clientSpecialJunk3 || clientSpecialJunk4 != other.clientSpecialJunk4
+ || clientSpecialJunk5 != other.clientSpecialJunk5 || clientControlledJunk1 != other.clientControlledJunk1
+ || clientControlledJunk2 != other.clientControlledJunk2 || clientControlledJunk3 != other.clientControlledJunk3
|| clientSpecialHandshakeTimeout != other.clientSpecialHandshakeTimeout) {
return false;
}
diff --git a/client/ui/models/protocols/awgConfigModel.h b/client/ui/models/protocols/awgConfigModel.h
index f32f4de6..0c2374fc 100644
--- a/client/ui/models/protocols/awgConfigModel.h
+++ b/client/ui/models/protocols/awgConfigModel.h
@@ -100,7 +100,7 @@ public slots:
QJsonObject getConfig();
bool isHeadersEqual(const QString &h1, const QString &h2, const QString &h3, const QString &h4);
- bool isPacketSizeEqual(const int s1, const int s2, const int s3, const int s4);
+ bool isPacketSizeEqual(const int s1, const int s2/*, const int s3, const int s4*/);
bool isServerSettingsEqual();
diff --git a/client/ui/qml/Components/AwgTextField.qml b/client/ui/qml/Components/AwgTextField.qml
new file mode 100644
index 00000000..87b023d9
--- /dev/null
+++ b/client/ui/qml/Components/AwgTextField.qml
@@ -0,0 +1,15 @@
+pragma ComponentBehavior: Bound
+
+import QtQuick
+import QtQuick.Layouts
+
+import "../Controls2"
+
+TextFieldWithHeaderType {
+ Layout.fillWidth: true
+ Layout.topMargin: 16
+
+ textField.validator: IntValidator { bottom: 0 }
+
+ checkEmptyText: true
+}
diff --git a/client/ui/qml/Pages2/PageProtocolAwgClientSettings.qml b/client/ui/qml/Pages2/PageProtocolAwgClientSettings.qml
index 3206c4b9..d97d09e8 100644
--- a/client/ui/qml/Pages2/PageProtocolAwgClientSettings.qml
+++ b/client/ui/qml/Pages2/PageProtocolAwgClientSettings.qml
@@ -115,14 +115,10 @@ PageType {
KeyNavigation.tab: junkPacketCountTextField.textField
}
- TextFieldWithHeaderType {
+ AwgTextField {
id: junkPacketCountTextField
- Layout.fillWidth: true
- Layout.topMargin: 16
-
headerText: "Jc - Junk packet count"
textField.text: clientJunkPacketCount
- textField.validator: IntValidator { bottom: 0 }
textField.onEditingFinished: {
if (textField.text !== clientJunkPacketCount) {
@@ -130,19 +126,13 @@ PageType {
}
}
- checkEmptyText: true
-
KeyNavigation.tab: junkPacketMinSizeTextField.textField
}
- TextFieldWithHeaderType {
+ AwgTextField {
id: junkPacketMinSizeTextField
- Layout.fillWidth: true
- Layout.topMargin: 16
-
headerText: "Jmin - Junk packet minimum size"
textField.text: clientJunkPacketMinSize
- textField.validator: IntValidator { bottom: 0 }
textField.onEditingFinished: {
if (textField.text !== clientJunkPacketMinSize) {
@@ -150,36 +140,27 @@ PageType {
}
}
- checkEmptyText: true
-
KeyNavigation.tab: junkPacketMaxSizeTextField.textField
}
- TextFieldWithHeaderType {
+ AwgTextField {
id: junkPacketMaxSizeTextField
- Layout.fillWidth: true
- Layout.topMargin: 16
-
headerText: "Jmax - Junk packet maximum size"
textField.text: clientJunkPacketMaxSize
- textField.validator: IntValidator { bottom: 0 }
textField.onEditingFinished: {
if (textField.text !== clientJunkPacketMaxSize) {
clientJunkPacketMaxSize = textField.text
}
}
-
- checkEmptyText: true
}
- TextFieldWithHeaderType {
+ AwgTextField {
id: specialJunk1TextField
- Layout.fillWidth: true
- Layout.topMargin: 16
-
headerText: qsTr("I1 - First special junk packet")
textField.text: clientSpecialJunk1
+ textField.validator: null
+ checkEmptyText: false
textField.onEditingFinished: {
if (textField.text !== clientSpecialJunk1) {
@@ -188,13 +169,12 @@ PageType {
}
}
- TextFieldWithHeaderType {
+ AwgTextField {
id: specialJunk2TextField
- Layout.fillWidth: true
- Layout.topMargin: 16
-
headerText: qsTr("I2 - Second special junk packet")
textField.text: clientSpecialJunk2
+ textField.validator: null
+ checkEmptyText: false
textField.onEditingFinished: {
if (textField.text !== clientSpecialJunk2) {
@@ -203,13 +183,12 @@ PageType {
}
}
- TextFieldWithHeaderType {
+ AwgTextField {
id: specialJunk3TextField
- Layout.fillWidth: true
- Layout.topMargin: 16
-
headerText: qsTr("I3 - Third special junk packet")
textField.text: clientSpecialJunk3
+ textField.validator: null
+ checkEmptyText: false
textField.onEditingFinished: {
if (textField.text !== clientSpecialJunk3) {
@@ -218,13 +197,12 @@ PageType {
}
}
- TextFieldWithHeaderType {
+ AwgTextField {
id: specialJunk4TextField
- Layout.fillWidth: true
- Layout.topMargin: 16
-
headerText: qsTr("I4 - Fourth special junk packet")
textField.text: clientSpecialJunk4
+ textField.validator: null
+ checkEmptyText: false
textField.onEditingFinished: {
if (textField.text !== clientSpecialJunk4) {
@@ -233,13 +211,12 @@ PageType {
}
}
- TextFieldWithHeaderType {
+ AwgTextField {
id: specialJunk5TextField
- Layout.fillWidth: true
- Layout.topMargin: 16
-
headerText: qsTr("I5 - Fifth special junk packet")
textField.text: clientSpecialJunk5
+ textField.validator: null
+ checkEmptyText: false
textField.onEditingFinished: {
if (textField.text !== clientSpecialJunk5 ) {
@@ -248,13 +225,12 @@ PageType {
}
}
- TextFieldWithHeaderType {
+ AwgTextField {
id: controlledJunk1TextField
- Layout.fillWidth: true
- Layout.topMargin: 16
-
headerText: qsTr("J1 - First controlled junk packet")
textField.text: clientControlledJunk1
+ textField.validator: null
+ checkEmptyText: false
textField.onEditingFinished: {
if (textField.text !== clientControlledJunk1) {
@@ -263,13 +239,12 @@ PageType {
}
}
- TextFieldWithHeaderType {
+ AwgTextField {
id: controlledJunk2TextField
- Layout.fillWidth: true
- Layout.topMargin: 16
-
headerText: qsTr("J2 - Second controlled junk packet")
textField.text: clientControlledJunk2
+ textField.validator: null
+ checkEmptyText: false
textField.onEditingFinished: {
if (textField.text !== clientControlledJunk2) {
@@ -278,13 +253,12 @@ PageType {
}
}
- TextFieldWithHeaderType {
+ AwgTextField {
id: controlledJunk3TextField
- Layout.fillWidth: true
- Layout.topMargin: 16
-
headerText: qsTr("J3 - Third controlled junk packet")
textField.text: clientControlledJunk3
+ textField.validator: null
+ checkEmptyText: false
textField.onEditingFinished: {
if (textField.text !== clientControlledJunk3) {
@@ -293,14 +267,11 @@ PageType {
}
}
- TextFieldWithHeaderType {
+ AwgTextField {
id: iTimeTextField
- Layout.fillWidth: true
- Layout.topMargin: 16
-
headerText: qsTr("Itime - Special handshake timeout")
textField.text: clientSpecialHandshakeTimeout
- textField.validator: IntValidator { bottom: 0 }
+ checkEmptyText: false
textField.onEditingFinished: {
if (textField.text !== clientSpecialHandshakeTimeout) {
@@ -316,99 +287,72 @@ PageType {
text: qsTr("Server settings")
}
- TextFieldWithHeaderType {
+ AwgTextField {
id: portTextField
- Layout.fillWidth: true
- Layout.topMargin: 8
-
enabled: false
headerText: qsTr("Port")
textField.text: port
}
- TextFieldWithHeaderType {
+ AwgTextField {
id: initPacketJunkSizeTextField
- Layout.fillWidth: true
- Layout.topMargin: 16
-
enabled: false
headerText: "S1 - Init packet junk size"
textField.text: serverInitPacketJunkSize
}
- TextFieldWithHeaderType {
+ AwgTextField {
id: responsePacketJunkSizeTextField
- Layout.fillWidth: true
- Layout.topMargin: 16
-
enabled: false
headerText: "S2 - Response packet junk size"
textField.text: serverResponsePacketJunkSize
}
- TextFieldWithHeaderType {
- id: cookieReplyPacketJunkSizeTextField
- Layout.fillWidth: true
- Layout.topMargin: 16
+ // AwgTextField {
+ // id: cookieReplyPacketJunkSizeTextField
+ // enabled: false
- enabled: false
+ // headerText: "S3 - Cookie Reply packet junk size"
+ // textField.text: serverCookieReplyPacketJunkSize
+ // }
- headerText: "S3 - Cookie Reply packet junk size"
- textField.text: serverCookieReplyPacketJunkSize
- }
+ // AwgTextField {
+ // id: transportPacketJunkSizeTextField
+ // enabled: false
- TextFieldWithHeaderType {
- id: transportPacketJunkSizeTextField
- Layout.fillWidth: true
- Layout.topMargin: 16
+ // headerText: "S4 - Transport packet junk size"
+ // textField.text: serverTransportPacketJunkSize
+ // }
- enabled: false
-
- headerText: "S4 - Transport packet junk size"
- textField.text: serverTransportPacketJunkSize
- }
-
- TextFieldWithHeaderType {
+ AwgTextField {
id: initPacketMagicHeaderTextField
- Layout.fillWidth: true
- Layout.topMargin: 16
-
enabled: false
headerText: "H1 - Init packet magic header"
textField.text: serverInitPacketMagicHeader
}
- TextFieldWithHeaderType {
+ AwgTextField {
id: responsePacketMagicHeaderTextField
- Layout.fillWidth: true
- Layout.topMargin: 16
-
enabled: false
headerText: "H2 - Response packet magic header"
textField.text: serverResponsePacketMagicHeader
}
- TextFieldWithHeaderType {
+ AwgTextField {
id: underloadPacketMagicHeaderTextField
- Layout.fillWidth: true
- Layout.topMargin: 16
-
enabled: false
headerText: "H3 - Underload packet magic header"
textField.text: serverUnderloadPacketMagicHeader
}
- TextFieldWithHeaderType {
+ AwgTextField {
id: transportPacketMagicHeaderTextField
- Layout.fillWidth: true
- Layout.topMargin: 16
-
enabled: false
headerText: "H4 - Transport packet magic header"
diff --git a/client/ui/qml/Pages2/PageProtocolAwgSettings.qml b/client/ui/qml/Pages2/PageProtocolAwgSettings.qml
index a9e8b28a..699ae724 100644
--- a/client/ui/qml/Pages2/PageProtocolAwgSettings.qml
+++ b/client/ui/qml/Pages2/PageProtocolAwgSettings.qml
@@ -138,230 +138,136 @@ PageType {
checkEmptyText: true
}
- TextFieldWithHeaderType {
+ AwgTextField {
id: junkPacketCountTextField
- Layout.fillWidth: true
- Layout.topMargin: 16
-
headerText: qsTr("Jc - Junk packet count")
textField.text: serverJunkPacketCount
- textField.validator: IntValidator { bottom: 0 }
textField.onEditingFinished: {
- if (textField.text === "") {
- textField.text = "0"
- }
-
if (textField.text !== serverJunkPacketCount) {
serverJunkPacketCount = textField.text
}
}
-
- checkEmptyText: true
}
- TextFieldWithHeaderType {
+ AwgTextField {
id: junkPacketMinSizeTextField
- Layout.fillWidth: true
- Layout.topMargin: 16
-
headerText: qsTr("Jmin - Junk packet minimum size")
textField.text: serverJunkPacketMinSize
- textField.validator: IntValidator { bottom: 0 }
textField.onEditingFinished: {
if (textField.text !== serverJunkPacketMinSize) {
serverJunkPacketMinSize = textField.text
}
}
-
- checkEmptyText: true
}
- TextFieldWithHeaderType {
+ AwgTextField {
id: junkPacketMaxSizeTextField
- Layout.fillWidth: true
- Layout.topMargin: 16
-
headerText: qsTr("Jmax - Junk packet maximum size")
textField.text: serverJunkPacketMaxSize
- textField.validator: IntValidator { bottom: 0 }
textField.onEditingFinished: {
if (textField.text !== serverJunkPacketMaxSize) {
serverJunkPacketMaxSize = textField.text
}
}
-
- checkEmptyText: true
}
- TextFieldWithHeaderType {
+ AwgTextField {
id: initPacketJunkSizeTextField
- Layout.fillWidth: true
- Layout.topMargin: 16
-
headerText: qsTr("S1 - Init packet junk size")
textField.text: serverInitPacketJunkSize
- textField.validator: IntValidator { bottom: 0 }
textField.onEditingFinished: {
if (textField.text !== serverInitPacketJunkSize) {
serverInitPacketJunkSize = textField.text
}
}
-
- checkEmptyText: true
-
- onActiveFocusChanged: {
- if(activeFocus) {
- listview.positionViewAtEnd()
- }
- }
}
- TextFieldWithHeaderType {
+ AwgTextField {
id: responsePacketJunkSizeTextField
- Layout.fillWidth: true
- Layout.topMargin: 16
-
headerText: qsTr("S2 - Response packet junk size")
textField.text: serverResponsePacketJunkSize
- textField.validator: IntValidator { bottom: 0 }
textField.onEditingFinished: {
if (textField.text !== serverResponsePacketJunkSize) {
serverResponsePacketJunkSize = textField.text
}
}
-
- checkEmptyText: true
-
- onActiveFocusChanged: {
- if(activeFocus) {
- listview.positionViewAtEnd()
- }
- }
}
- TextFieldWithHeaderType {
- id: cookieReplyPacketJunkSizeTextField
- Layout.fillWidth: true
- Layout.topMargin: 16
+ // AwgTextField {
+ // id: cookieReplyPacketJunkSizeTextField
+ // headerText: qsTr("S3 - Cookie reply packet junk size")
+ // textField.text: serverCookieReplyPacketJunkSize
- headerText: qsTr("S3 - Cookie reply packet junk size")
- textField.text: serverCookieReplyPacketJunkSize
- textField.validator: IntValidator { bottom: 0 }
+ // textField.onEditingFinished: {
+ // if (textField.text !== serverCookieReplyPacketJunkSize) {
+ // serverCookieReplyPacketJunkSize = textField.text
+ // }
+ // }
+ // }
- textField.onEditingFinished: {
- if (textField.text !== serverCookieReplyPacketJunkSize) {
- serverCookieReplyPacketJunkSize = textField.text
- }
- }
+ // AwgTextField {
+ // id: transportPacketJunkSizeTextField
+ // headerText: qsTr("S4 - Transport packet junk size")
+ // textField.text: serverTransportPacketJunkSize
- checkEmptyText: true
+ // textField.onEditingFinished: {
+ // if (textField.text !== serverTransportPacketJunkSize) {
+ // serverTransportPacketJunkSize = textField.text
+ // }
+ // }
+ // }
- onActiveFocusChanged: {
- if(activeFocus) {
- listview.positionViewAtEnd()
- }
- }
- }
-
- TextFieldWithHeaderType {
- id: transportPacketJunkSizeTextField
- Layout.fillWidth: true
- Layout.topMargin: 16
-
- headerText: qsTr("S4 - Transport packet junk size")
- textField.text: serverTransportPacketJunkSize
- textField.validator: IntValidator { bottom: 0 }
-
- textField.onEditingFinished: {
- if (textField.text !== serverTransportPacketJunkSize) {
- serverTransportPacketJunkSize = textField.text
- }
- }
-
- checkEmptyText: true
-
- onActiveFocusChanged: {
- if(activeFocus) {
- listview.positionViewAtEnd()
- }
- }
- }
-
- TextFieldWithHeaderType {
+ AwgTextField {
id: initPacketMagicHeaderTextField
- Layout.fillWidth: true
- Layout.topMargin: 16
-
headerText: qsTr("H1 - Init packet magic header")
textField.text: serverInitPacketMagicHeader
- textField.validator: IntValidator { bottom: 0 }
textField.onEditingFinished: {
if (textField.text !== serverInitPacketMagicHeader) {
serverInitPacketMagicHeader = textField.text
}
}
-
- checkEmptyText: true
}
- TextFieldWithHeaderType {
+ AwgTextField {
id: responsePacketMagicHeaderTextField
- Layout.fillWidth: true
- Layout.topMargin: 16
-
headerText: qsTr("H2 - Response packet magic header")
textField.text: serverResponsePacketMagicHeader
- textField.validator: IntValidator { bottom: 0 }
textField.onEditingFinished: {
if (textField.text !== serverResponsePacketMagicHeader) {
serverResponsePacketMagicHeader = textField.text
}
}
-
- checkEmptyText: true
}
- TextFieldWithHeaderType {
+ AwgTextField {
id: underloadPacketMagicHeaderTextField
- Layout.fillWidth: true
- Layout.topMargin: 16
-
headerText: qsTr("H3 - Underload packet magic header")
textField.text: serverUnderloadPacketMagicHeader
- textField.validator: IntValidator { bottom: 0 }
textField.onEditingFinished: {
if (textField.text !== serverUnderloadPacketMagicHeader) {
serverUnderloadPacketMagicHeader = textField.text
}
}
-
- checkEmptyText: true
}
- TextFieldWithHeaderType {
+ AwgTextField {
id: transportPacketMagicHeaderTextField
- Layout.fillWidth: true
- Layout.topMargin: 16
-
headerText: qsTr("H4 - Transport packet magic header")
textField.text: serverTransportPacketMagicHeader
- textField.validator: IntValidator { bottom: 0 }
textField.onEditingFinished: {
if (textField.text !== serverTransportPacketMagicHeader) {
serverTransportPacketMagicHeader = textField.text
}
}
-
- checkEmptyText: true
}
@@ -377,21 +283,12 @@ PageType {
responsePacketMagicHeaderTextField.errorText === "" &&
initPacketMagicHeaderTextField.errorText === "" &&
responsePacketJunkSizeTextField.errorText === "" &&
- cookieReplyHeaderJunkTextField.errorText === "" &&
- transportHeaderJunkTextField.errorText === "" &&
+ // cookieReplyHeaderJunkTextField.errorText === "" &&
+ // transportHeaderJunkTextField.errorText === "" &&
initPacketJunkSizeTextField.errorText === "" &&
junkPacketMaxSizeTextField.errorText === "" &&
junkPacketMinSizeTextField.errorText === "" &&
junkPacketCountTextField.errorText === "" &&
- // specialJunk1TextField.errorText === "" &&
- // specialJunk2TextField.errorText === "" &&
- // specialJunk3TextField.errorText === "" &&
- // specialJunk4TextField.errorText === "" &&
- // specialJunk5TextField.errorText === "" &&
- // controlledJunk1TextField.errorText === "" &&
- // controlledJunk2TextField.errorText === "" &&
- // controlledJunk3TextField.errorText === "" &&
- // iTimeTextField.errorText === "" &&
portTextField.errorText === "" &&
vpnAddressSubnetTextField.errorText === ""
@@ -416,12 +313,17 @@ PageType {
}
if (AwgConfigModel.isPacketSizeEqual(parseInt(initPacketJunkSizeTextField.textField.text),
- parseInt(responsePacketJunkSizeTextField.textField.text),
- parseInt(cookieReplyPacketJunkSizeTextField.textField.text),
- parseInt(transportPacketJunkSizeTextField.textField.text))) {
- PageController.showErrorMessage(qsTr("The value of the field S1 + message initiation size (148) must not equal S2 + message response size (92) + S3 + cookie reply size (64) + S4 + transport packet size (32)"))
+ parseInt(responsePacketJunkSizeTextField.textField.text))) {
+ PageController.showErrorMessage(qsTr("The value of the field S1 + message initiation size (148) must not equal S2 + message response size (92)"))
return
}
+ // if (AwgConfigModel.isPacketSizeEqual(parseInt(initPacketJunkSizeTextField.textField.text),
+ // parseInt(responsePacketJunkSizeTextField.textField.text),
+ // parseInt(cookieReplyPacketJunkSizeTextField.textField.text),
+ // parseInt(transportPacketJunkSizeTextField.textField.text))) {
+ // PageController.showErrorMessage(qsTr("The value of the field S1 + message initiation size (148) must not equal S2 + message response size (92) + S3 + cookie reply size (64) + S4 + transport packet size (32)"))
+ // return
+ // }
}
var headerText = qsTr("Save settings?")