From 7b34ae9b974074e5f4879ebc39ab514d08cc2151 Mon Sep 17 00:00:00 2001 From: QxQ <59914293+U-v-U@users.noreply.github.com> Date: Sun, 4 Oct 2020 16:20:58 +0800 Subject: [PATCH] add: added disableSystemRoot global option --- makespec/BUILDVERSION | 2 +- src/base/models/QvSettingsObject.hpp | 3 ++- src/ui/widgets/windows/w_PreferencesWindow.cpp | 7 +++++++ src/ui/widgets/windows/w_PreferencesWindow.hpp | 2 ++ src/ui/widgets/windows/w_PreferencesWindow.ui | 14 ++++++++++++++ 5 files changed, 26 insertions(+), 2 deletions(-) diff --git a/makespec/BUILDVERSION b/makespec/BUILDVERSION index be95a16d..d3d97531 100644 --- a/makespec/BUILDVERSION +++ b/makespec/BUILDVERSION @@ -1 +1 @@ -5957 +5959 diff --git a/src/base/models/QvSettingsObject.hpp b/src/base/models/QvSettingsObject.hpp index fad5a8e2..05b03e05 100644 --- a/src/base/models/QvSettingsObject.hpp +++ b/src/base/models/QvSettingsObject.hpp @@ -117,7 +117,8 @@ namespace Qv2ray::base::config bool setAllowInsecure = false; bool setSessionResumption = false; bool testLatencyPeriodcally = false; - JSONSTRUCT_REGISTER(Qv2rayConfig_Advanced, F(setAllowInsecure, setSessionResumption, testLatencyPeriodcally)) + bool disableSystemRoot = false; + JSONSTRUCT_REGISTER(Qv2rayConfig_Advanced, F(setAllowInsecure, setSessionResumption, testLatencyPeriodcally, disableSystemRoot)) }; enum Qv2rayLatencyTestingMethod diff --git a/src/ui/widgets/windows/w_PreferencesWindow.cpp b/src/ui/widgets/windows/w_PreferencesWindow.cpp index db6b3d67..141313f4 100644 --- a/src/ui/widgets/windows/w_PreferencesWindow.cpp +++ b/src/ui/widgets/windows/w_PreferencesWindow.cpp @@ -180,6 +180,7 @@ PreferencesWindow::PreferencesWindow(QWidget *parent) : QvDialog(parent), Curren setAllowInsecureCB->setChecked(CurrentConfig.advancedConfig.setAllowInsecure); setSessionResumptionCB->setChecked(CurrentConfig.advancedConfig.setSessionResumption); setTestLatenctCB->setChecked(CurrentConfig.advancedConfig.testLatencyPeriodcally); + disableSystemRootCB->setChecked(CurrentConfig.advancedConfig.disableSystemRoot); } // { @@ -1102,3 +1103,9 @@ void PreferencesWindow::on_bypassPrivateCb_clicked(bool checked) NEEDRESTART CurrentConfig.defaultRouteConfig.connectionConfig.bypassLAN = checked; } + +void PreferencesWindow::on_disableSystemRootCB_stateChanged(int arg1) +{ + LOADINGCHECK + CurrentConfig.advancedConfig.disableSystemRoot = arg1 == Qt::Checked; +} diff --git a/src/ui/widgets/windows/w_PreferencesWindow.hpp b/src/ui/widgets/windows/w_PreferencesWindow.hpp index fe599774..32ddd092 100644 --- a/src/ui/widgets/windows/w_PreferencesWindow.hpp +++ b/src/ui/widgets/windows/w_PreferencesWindow.hpp @@ -127,6 +127,8 @@ class PreferencesWindow void on_bypassPrivateCb_clicked(bool checked); + void on_disableSystemRootCB_stateChanged(int arg1); + private: // DnsSettingsWidget *dnsSettingsWidget; diff --git a/src/ui/widgets/windows/w_PreferencesWindow.ui b/src/ui/widgets/windows/w_PreferencesWindow.ui index 687c4fe7..9a0677f5 100644 --- a/src/ui/widgets/windows/w_PreferencesWindow.ui +++ b/src/ui/widgets/windows/w_PreferencesWindow.ui @@ -633,6 +633,20 @@ But could damage your server if improperly used. + + + + Disable System Root Certificates + + + + + + + Enabled + + +