summaryrefslogtreecommitdiffhomepage
path: root/gui/src/renderer/redux
diff options
context:
space:
mode:
authorJoakim Hulthe <joakim.hulthe@mullvad.net>2024-09-23 10:06:12 +0200
committerJoakim Hulthe <joakim.hulthe@mullvad.net>2024-09-25 11:44:14 +0200
commitd0b2b24a97e55239ee73e0dc96754bda55f88e63 (patch)
tree1558405f31ea02445c2565b12fb1728c537b5c2b /gui/src/renderer/redux
parent78c7edb64a94dadff4782e57380ec4a69c7c7e34 (diff)
downloadmullvadvpn-d0b2b24a97e55239ee73e0dc96754bda55f88e63.tar.xz
mullvadvpn-d0b2b24a97e55239ee73e0dc96754bda55f88e63.zip
Add setting to leak traffic to apple networks
Co-authored-by: David Lönnhager <david.l@mullvad.net>
Diffstat (limited to 'gui/src/renderer/redux')
-rw-r--r--gui/src/renderer/redux/settings/actions.ts14
-rw-r--r--gui/src/renderer/redux/settings/reducers.ts8
-rw-r--r--gui/src/renderer/redux/userinterface/actions.ts16
-rw-r--r--gui/src/renderer/redux/userinterface/reducers.ts8
4 files changed, 45 insertions, 1 deletions
diff --git a/gui/src/renderer/redux/settings/actions.ts b/gui/src/renderer/redux/settings/actions.ts
index d2a3fb1c4a..80ac3707c1 100644
--- a/gui/src/renderer/redux/settings/actions.ts
+++ b/gui/src/renderer/redux/settings/actions.ts
@@ -93,6 +93,11 @@ export interface IUpdateDnsOptionsAction {
dns: IDnsOptions;
}
+export interface ISetAppleServicesBypass {
+ type: 'SET_APPLE_SERVICES_BYPASS';
+ enabled: boolean;
+}
+
export interface IUpdateSplitTunnelingStateAction {
type: 'UPDATE_SPLIT_TUNNELING_STATE';
enabled: boolean;
@@ -145,6 +150,7 @@ export type SettingsAction =
| IUpdateWireguardDaitaAction
| IUpdateAutoStartAction
| IUpdateDnsOptionsAction
+ | ISetAppleServicesBypass
| IUpdateSplitTunnelingStateAction
| ISetSplitTunnelingApplicationsAction
| ISetObfuscationSettings
@@ -273,6 +279,13 @@ function updateDnsOptions(dns: IDnsOptions): IUpdateDnsOptionsAction {
};
}
+function updateAppleServicesBypass(enabled: boolean): ISetAppleServicesBypass {
+ return {
+ type: 'SET_APPLE_SERVICES_BYPASS',
+ enabled,
+ };
+}
+
function updateSplitTunnelingState(enabled: boolean): IUpdateSplitTunnelingStateAction {
return {
type: 'UPDATE_SPLIT_TUNNELING_STATE',
@@ -343,6 +356,7 @@ export default {
updateWireguardDaita,
updateAutoStart,
updateDnsOptions,
+ updateAppleServicesBypass,
updateSplitTunnelingState,
setSplitTunnelingApplications,
updateObfuscationSettings,
diff --git a/gui/src/renderer/redux/settings/reducers.ts b/gui/src/renderer/redux/settings/reducers.ts
index 6eb595467b..7f806c248c 100644
--- a/gui/src/renderer/redux/settings/reducers.ts
+++ b/gui/src/renderer/redux/settings/reducers.ts
@@ -114,6 +114,7 @@ export interface ISettingsReduxState {
daita?: IDaitaSettings;
};
dns: IDnsOptions;
+ appleServicesBypass: boolean;
splitTunneling: boolean;
splitTunnelingApplications: ISplitTunnelingApplication[];
obfuscationSettings: ObfuscationSettings;
@@ -181,6 +182,7 @@ const initialState: ISettingsReduxState = {
addresses: [],
},
},
+ appleServicesBypass: false,
splitTunneling: false,
splitTunnelingApplications: [],
obfuscationSettings: {
@@ -310,6 +312,12 @@ export default function (
dns: action.dns,
};
+ case 'SET_APPLE_SERVICES_BYPASS':
+ return {
+ ...state,
+ appleServicesBypass: action.enabled,
+ };
+
case 'UPDATE_SPLIT_TUNNELING_STATE':
return {
...state,
diff --git a/gui/src/renderer/redux/userinterface/actions.ts b/gui/src/renderer/redux/userinterface/actions.ts
index 238835318e..a5ee138464 100644
--- a/gui/src/renderer/redux/userinterface/actions.ts
+++ b/gui/src/renderer/redux/userinterface/actions.ts
@@ -61,6 +61,11 @@ export interface ISetIsMacOs13OrNewer {
isMacOs13OrNewer: boolean;
}
+export interface ISetIsMacOs14p6OrNewer {
+ type: 'SET_IS_MACOS14_6_OR_NEWER';
+ isMacOs14p6OrNewer: boolean;
+}
+
export type UserInterfaceAction =
| IUpdateLocaleAction
| IUpdateWindowArrowPositionAction
@@ -73,7 +78,8 @@ export type UserInterfaceAction =
| ISetForceShowChanges
| ISetIsPerformingPostUpgrade
| ISetSelectLocationView
- | ISetIsMacOs13OrNewer;
+ | ISetIsMacOs13OrNewer
+ | ISetIsMacOs14p6OrNewer;
function updateLocale(locale: string): IUpdateLocaleAction {
return {
@@ -160,6 +166,13 @@ function setIsMacOs13OrNewer(isMacOs13OrNewer: boolean): ISetIsMacOs13OrNewer {
};
}
+function setIsMacOs14p6OrNewer(isMacOs14p6OrNewer: boolean): ISetIsMacOs14p6OrNewer {
+ return {
+ type: 'SET_IS_MACOS14_6_OR_NEWER',
+ isMacOs14p6OrNewer,
+ };
+}
+
export default {
updateLocale,
updateWindowArrowPosition,
@@ -173,4 +186,5 @@ export default {
setIsPerformingPostUpgrade,
setSelectLocationView,
setIsMacOs13OrNewer,
+ setIsMacOs14p6OrNewer,
};
diff --git a/gui/src/renderer/redux/userinterface/reducers.ts b/gui/src/renderer/redux/userinterface/reducers.ts
index 89427e9b06..b245522cec 100644
--- a/gui/src/renderer/redux/userinterface/reducers.ts
+++ b/gui/src/renderer/redux/userinterface/reducers.ts
@@ -16,6 +16,7 @@ export interface IUserInterfaceReduxState {
isPerformingPostUpgrade: boolean;
selectLocationView: LocationType;
isMacOs13OrNewer: boolean;
+ isMacOs14p6OrNewer: boolean;
}
const initialState: IUserInterfaceReduxState = {
@@ -30,6 +31,7 @@ const initialState: IUserInterfaceReduxState = {
isPerformingPostUpgrade: false,
selectLocationView: LocationType.exit,
isMacOs13OrNewer: true,
+ isMacOs14p6OrNewer: true,
};
export default function (
@@ -88,6 +90,12 @@ export default function (
isMacOs13OrNewer: action.isMacOs13OrNewer,
};
+ case 'SET_IS_MACOS14_6_OR_NEWER':
+ return {
+ ...state,
+ isMacOs14p6OrNewer: action.isMacOs14p6OrNewer,
+ };
+
default:
return state;
}