Merge pull request #1516 from amnezia-vpn/feature/openvpn-warning
feature: warning when importing openvpn configurations
This commit is contained in:
commit
b9a47f2f50
1 changed files with 8 additions and 2 deletions
|
|
@ -56,7 +56,7 @@ namespace
|
||||||
} else if ((config.contains(xrayConfigPatternInbound)) && (config.contains(xrayConfigPatternOutbound))) {
|
} else if ((config.contains(xrayConfigPatternInbound)) && (config.contains(xrayConfigPatternOutbound))) {
|
||||||
return ConfigTypes::Xray;
|
return ConfigTypes::Xray;
|
||||||
} else if (config.contains(openVpnConfigPatternCli)
|
} else if (config.contains(openVpnConfigPatternCli)
|
||||||
&& (config.contains(openVpnConfigPatternDriver1) || config.contains(openVpnConfigPatternDriver2))) {
|
&& (config.contains(openVpnConfigPatternDriver1) || config.contains(openVpnConfigPatternDriver2))) {
|
||||||
return ConfigTypes::OpenVpn;
|
return ConfigTypes::OpenVpn;
|
||||||
}
|
}
|
||||||
return ConfigTypes::Invalid;
|
return ConfigTypes::Invalid;
|
||||||
|
|
@ -94,6 +94,8 @@ bool ImportController::extractConfigFromFile(const QString &fileName)
|
||||||
|
|
||||||
bool ImportController::extractConfigFromData(QString data)
|
bool ImportController::extractConfigFromData(QString data)
|
||||||
{
|
{
|
||||||
|
m_maliciousWarningText.clear();
|
||||||
|
|
||||||
QString config = data;
|
QString config = data;
|
||||||
QString prefix;
|
QString prefix;
|
||||||
QString errormsg;
|
QString errormsg;
|
||||||
|
|
@ -658,6 +660,7 @@ void ImportController::checkForMaliciousStrings(const QJsonObject &serverConfig)
|
||||||
if ((containerName == ContainerProps::containerToString(DockerContainer::OpenVpn))
|
if ((containerName == ContainerProps::containerToString(DockerContainer::OpenVpn))
|
||||||
|| (containerName == ContainerProps::containerToString(DockerContainer::Cloak))
|
|| (containerName == ContainerProps::containerToString(DockerContainer::Cloak))
|
||||||
|| (containerName == ContainerProps::containerToString(DockerContainer::ShadowSocks))) {
|
|| (containerName == ContainerProps::containerToString(DockerContainer::ShadowSocks))) {
|
||||||
|
|
||||||
QString protocolConfig =
|
QString protocolConfig =
|
||||||
containerConfig[ProtocolProps::protoToString(Proto::OpenVpn)].toObject()[config_key::last_config].toString();
|
containerConfig[ProtocolProps::protoToString(Proto::OpenVpn)].toObject()[config_key::last_config].toString();
|
||||||
QString protocolConfigJson = QJsonDocument::fromJson(protocolConfig.toUtf8()).object()[config_key::config].toString();
|
QString protocolConfigJson = QJsonDocument::fromJson(protocolConfig.toUtf8()).object()[config_key::config].toString();
|
||||||
|
|
@ -679,8 +682,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. ");
|
||||||
|
|
||||||
if (maliciousStrings.size() >= dangerousTagsMaxCount) {
|
if (maliciousStrings.size() >= dangerousTagsMaxCount) {
|
||||||
m_maliciousWarningText = tr("In the imported configuration, potentially dangerous lines were found:");
|
m_maliciousWarningText.push_back(tr("<br>In the imported configuration, potentially dangerous lines were found:"));
|
||||||
for (const auto &string : maliciousStrings) {
|
for (const auto &string : maliciousStrings) {
|
||||||
m_maliciousWarningText.push_back(QString("<br><i>%1</i>").arg(string));
|
m_maliciousWarningText.push_back(QString("<br><i>%1</i>").arg(string));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue