fixed native wireguard config import if there is no port in the Endpoint field

This commit is contained in:
vladimir.kuznetsov 2023-08-25 09:20:42 +05:00
parent 259eff3fea
commit 3f7e7f2601
3 changed files with 10 additions and 2 deletions

View file

@ -225,12 +225,17 @@ QJsonObject ImportController::extractWireGuardConfig(const QString &data)
QJsonObject lastConfig;
lastConfig[config_key::config] = data;
const static QRegularExpression hostNameAndPortRegExp("Endpoint = (.*):([0-9]*)");
const static QRegularExpression hostNameAndPortRegExp("Endpoint = (.*)(?::([0-9]*))?");
QRegularExpressionMatch hostNameAndPortMatch = hostNameAndPortRegExp.match(data);
QString hostName;
QString port;
if (hostNameAndPortMatch.hasMatch()) {
if (hostNameAndPortMatch.hasCaptured(1)) {
hostName = hostNameAndPortMatch.captured(1);
} /*else {
qDebug() << "send error?"
}*/
if (hostNameAndPortMatch.hasCaptured(2)) {
port = hostNameAndPortMatch.captured(2);
}

View file

@ -28,8 +28,10 @@ PageController::PageController(const QSharedPointer<ServersModel> &serversModel,
});
#endif
#if defined Q_OS_MACX
connect(this, &PageController::raiseMainWindow, []() { setDockIconVisible(true); });
connect(this, &PageController::hideMainWindow, []() { setDockIconVisible(false); });
#endif
}
QString PageController::getInitialPage()

View file

@ -4,6 +4,7 @@
#include <QStandardPaths>
#include "fileUtilites.h"
#include "utilities.h"
SitesController::SitesController(const std::shared_ptr<Settings> &settings,
const QSharedPointer<VpnConnection> &vpnConnection,