summaryrefslogtreecommitdiffhomepage
path: root/gui/src/renderer
diff options
context:
space:
mode:
Diffstat (limited to 'gui/src/renderer')
-rw-r--r--gui/src/renderer/app.tsx1
-rw-r--r--gui/src/renderer/redux/settings/actions.ts23
-rw-r--r--gui/src/renderer/redux/settings/reducers.ts14
3 files changed, 36 insertions, 2 deletions
diff --git a/gui/src/renderer/app.tsx b/gui/src/renderer/app.tsx
index d7d5b8bf29..c24874b9a6 100644
--- a/gui/src/renderer/app.tsx
+++ b/gui/src/renderer/app.tsx
@@ -611,6 +611,7 @@ export default class AppRenderer {
reduxSettings.updateOpenVpnMssfix(newSettings.tunnelOptions.openvpn.mssfix);
reduxSettings.updateWireguardMtu(newSettings.tunnelOptions.wireguard.mtu);
reduxSettings.updateBridgeState(newSettings.bridgeState);
+ reduxSettings.updateDnsOptions(newSettings.tunnelOptions.dns);
this.setRelaySettings(newSettings.relaySettings);
this.setBridgeSettings(newSettings.bridgeSettings);
diff --git a/gui/src/renderer/redux/settings/actions.ts b/gui/src/renderer/redux/settings/actions.ts
index d1f564bccd..6428badde8 100644
--- a/gui/src/renderer/redux/settings/actions.ts
+++ b/gui/src/renderer/redux/settings/actions.ts
@@ -1,4 +1,9 @@
-import { BridgeState, IWireguardPublicKey, KeygenEvent } from '../../../shared/daemon-rpc-types';
+import {
+ BridgeState,
+ IDnsOptions,
+ IWireguardPublicKey,
+ KeygenEvent,
+} from '../../../shared/daemon-rpc-types';
import { IGuiSettingsState } from '../../../shared/gui-settings-state';
import { BridgeSettingsRedux, IRelayLocationRedux, IWgKey, RelaySettingsRedux } from './reducers';
@@ -97,6 +102,11 @@ export interface IWireguardKeyVerifiedAction {
verified?: boolean;
}
+export interface IUpdateDnsOptionsAction {
+ type: 'UPDATE_DNS_OPTIONS';
+ dns: IDnsOptions;
+}
+
export type SettingsAction =
| IUpdateGuiSettingsAction
| IUpdateRelayAction
@@ -116,7 +126,8 @@ export type SettingsAction =
| IWireguardGenerateKey
| IWireguardReplaceKey
| IWireguardKeygenEvent
- | IWireguardKeyVerifiedAction;
+ | IWireguardKeyVerifiedAction
+ | IUpdateDnsOptionsAction;
function updateGuiSettings(guiSettings: IGuiSettingsState): IUpdateGuiSettingsAction {
return {
@@ -261,6 +272,13 @@ function completeWireguardKeyVerification(verified?: boolean): IWireguardKeyVeri
};
}
+function updateDnsOptions(dns: IDnsOptions): IUpdateDnsOptionsAction {
+ return {
+ type: 'UPDATE_DNS_OPTIONS',
+ dns,
+ };
+}
+
export default {
updateGuiSettings,
updateRelay,
@@ -281,4 +299,5 @@ export default {
replaceWireguardKey,
verifyWireguardKey,
completeWireguardKeyVerification,
+ updateDnsOptions,
};
diff --git a/gui/src/renderer/redux/settings/reducers.ts b/gui/src/renderer/redux/settings/reducers.ts
index 6f24e871b6..980eea6cd5 100644
--- a/gui/src/renderer/redux/settings/reducers.ts
+++ b/gui/src/renderer/redux/settings/reducers.ts
@@ -133,6 +133,10 @@ export interface ISettingsReduxState {
wireguard: {
mtu?: number;
};
+ dns: {
+ custom: boolean;
+ addresses: string[];
+ };
wireguardKeyState: WgKeyState;
}
@@ -173,6 +177,10 @@ const initialState: ISettingsReduxState = {
wireguardKeyState: {
type: 'key-not-set',
},
+ dns: {
+ custom: false,
+ addresses: [],
+ },
};
export default function (
@@ -300,6 +308,12 @@ export default function (
},
};
+ case 'UPDATE_DNS_OPTIONS':
+ return {
+ ...state,
+ dns: action.dns,
+ };
+
default:
return state;
}