add test macros AMNEZIA_QR_PAIRING_ALLOW_DUPLICATE_VPN_KEY & disable ApiConfigAlreadyAdded

This commit is contained in:
dranik
2026-05-07 20:44:35 +03:00
parent 5583c0a2a9
commit 5beae954c7
2 changed files with 25 additions and 0 deletions
+4
View File
@@ -208,6 +208,10 @@ if(AMNEZIA_LOCAL_GATEWAY)
target_compile_definitions(${PROJECT} PRIVATE AMNEZIA_LOCAL_GATEWAY)
endif()
if(AMNEZIA_QR_PAIRING_ALLOW_DUPLICATE_VPN_KEY)
target_compile_definitions(${PROJECT} PRIVATE AMNEZIA_QR_PAIRING_ALLOW_DUPLICATE_VPN_KEY)
endif()
target_sources(${PROJECT} PRIVATE ${SOURCES} ${HEADERS} ${RESOURCES} ${QRC} ${I18NQRC})
# Finalize the executable so Qt can gather/deploy QML modules and plugins correctly (Android needs this).
@@ -1,5 +1,6 @@
#include "subscriptionController.h"
#include <QCoreApplication>
#include <QDebug>
#include <QDateTime>
#include <QEventLoop>
@@ -338,7 +339,9 @@ ErrorCode SubscriptionController::importServerFromQrPairingResponse(const QStrin
if (duplicateServerIndex) {
*duplicateServerIndex = i;
}
#ifndef AMNEZIA_QR_PAIRING_ALLOW_DUPLICATE_VPN_KEY
return ErrorCode::ApiConfigAlreadyAdded;
#endif
}
}
@@ -384,6 +387,24 @@ ErrorCode SubscriptionController::importServerFromQrPairingResponse(const QStrin
apiV2->apiConfig.vpnKey = fullKey;
}
#ifdef AMNEZIA_QR_PAIRING_ALLOW_DUPLICATE_VPN_KEY
static int existingSameKeyCount = 0;
if (apiV2) {
++existingSameKeyCount;
const QString suffix = QCoreApplication::translate("SubscriptionController", " (paired copy %1)")
.arg(existingSameKeyCount);
if (!apiV2->name.isEmpty()) {
apiV2->name += suffix;
} else if (!apiV2->description.isEmpty()) {
apiV2->description += suffix;
} else {
apiV2->name = QCoreApplication::translate("SubscriptionController", "Paired subscription %1")
.arg(existingSameKeyCount);
}
}
#endif
m_serversRepository->addServer(serverConfigModel);
serverConfig = serverConfigModel;
return ErrorCode::NoError;