diff options
| author | Oskar Nyberg <oskar@mullvad.net> | 2020-03-09 20:12:46 +0100 |
|---|---|---|
| committer | Oskar Nyberg <oskar@mullvad.net> | 2020-03-10 17:20:29 +0100 |
| commit | c2018a0c960990bfdc428dd9c2c3eb3c7e21e1ba (patch) | |
| tree | babcb93232c867d889406e19895ab4503deae33f /gui/src | |
| parent | 548a2c025da264ab2d929f1ac1e255950a8e2cdf (diff) | |
| download | mullvadvpn-c2018a0c960990bfdc428dd9c2c3eb3c7e21e1ba.tar.xz mullvadvpn-c2018a0c960990bfdc428dd9c2c3eb3c7e21e1ba.zip | |
Add wireguard mtu call
Diffstat (limited to 'gui/src')
| -rw-r--r-- | gui/src/main/daemon-rpc.ts | 4 | ||||
| -rw-r--r-- | gui/src/main/index.ts | 3 | ||||
| -rw-r--r-- | gui/src/renderer/app.tsx | 7 | ||||
| -rw-r--r-- | gui/src/renderer/redux/settings/actions.ts | 14 | ||||
| -rw-r--r-- | gui/src/renderer/redux/settings/reducers.ts | 13 | ||||
| -rw-r--r-- | gui/src/shared/ipc-event-channel.ts | 5 |
6 files changed, 46 insertions, 0 deletions
diff --git a/gui/src/main/daemon-rpc.ts b/gui/src/main/daemon-rpc.ts index 00201f7505..8fb299ebaa 100644 --- a/gui/src/main/daemon-rpc.ts +++ b/gui/src/main/daemon-rpc.ts @@ -484,6 +484,10 @@ export class DaemonRpc { await this.transport.send('set_openvpn_mssfix', [mssfix]); } + public async setWireguardMtu(mtu?: number): Promise<void> { + await this.transport.send('set_wireguard_mtu', [mtu]); + } + public async setAutoConnect(autoConnect: boolean): Promise<void> { await this.transport.send('set_auto_connect', [autoConnect]); } diff --git a/gui/src/main/index.ts b/gui/src/main/index.ts index 3b13231e69..6e325156f3 100644 --- a/gui/src/main/index.ts +++ b/gui/src/main/index.ts @@ -939,6 +939,9 @@ class ApplicationMain { IpcMainEventChannel.settings.handleOpenVpnMssfix((mssfix?: number) => this.daemonRpc.setOpenVpnMssfix(mssfix), ); + IpcMainEventChannel.settings.handleWireguardMtu((mtu?: number) => + this.daemonRpc.setWireguardMtu(mtu), + ); IpcMainEventChannel.settings.handleUpdateRelaySettings((update: RelaySettingsUpdate) => this.daemonRpc.updateRelaySettings(update), ); diff --git a/gui/src/renderer/app.tsx b/gui/src/renderer/app.tsx index 9eabd147b5..cabddb5fb3 100644 --- a/gui/src/renderer/app.tsx +++ b/gui/src/renderer/app.tsx @@ -335,6 +335,12 @@ export default class AppRenderer { await IpcRendererEventChannel.settings.setOpenVpnMssfix(mssfix); } + public async setWireguardMtu(mtu?: number) { + const actions = this.reduxActions; + actions.settings.updateWireguardMtu(mtu); + await IpcRendererEventChannel.settings.setWireguardMtu(mtu); + } + public setAutoConnect(autoConnect: boolean) { IpcRendererEventChannel.guiSettings.setAutoConnect(autoConnect); } @@ -572,6 +578,7 @@ export default class AppRenderer { reduxSettings.updateEnableIpv6(newSettings.tunnelOptions.generic.enableIpv6); reduxSettings.updateBlockWhenDisconnected(newSettings.blockWhenDisconnected); reduxSettings.updateOpenVpnMssfix(newSettings.tunnelOptions.openvpn.mssfix); + reduxSettings.updateWireguardMtu(newSettings.tunnelOptions.wireguard.mtu); reduxSettings.updateBridgeState(newSettings.bridgeState); this.setRelaySettings(newSettings.relaySettings); diff --git a/gui/src/renderer/redux/settings/actions.ts b/gui/src/renderer/redux/settings/actions.ts index 6fee072cfd..dbc1407bbd 100644 --- a/gui/src/renderer/redux/settings/actions.ts +++ b/gui/src/renderer/redux/settings/actions.ts @@ -52,6 +52,11 @@ export interface IUpdateOpenVpnMssfixAction { mssfix?: number; } +export interface IUpdateWireguardMtuAction { + type: 'UPDATE_WIREGUARD_MTU'; + mtu?: number; +} + export interface IUpdateAutoStartAction { type: 'UPDATE_AUTO_START'; autoStart: boolean; @@ -98,6 +103,7 @@ export type SettingsAction = | IUpdateBridgeSettingsAction | IUpdateBridgeStateAction | IUpdateOpenVpnMssfixAction + | IUpdateWireguardMtuAction | IUpdateAutoStartAction | IWireguardSetKey | IWireguardVerifyKey @@ -180,6 +186,13 @@ function updateOpenVpnMssfix(mssfix?: number): IUpdateOpenVpnMssfixAction { }; } +function updateWireguardMtu(mtu?: number): IUpdateWireguardMtuAction { + return { + type: 'UPDATE_WIREGUARD_MTU', + mtu, + }; +} + function updateAutoStart(autoStart: boolean): IUpdateAutoStartAction { return { type: 'UPDATE_AUTO_START', @@ -246,6 +259,7 @@ export default { updateBridgeSettings, updateBridgeState, updateOpenVpnMssfix, + updateWireguardMtu, updateAutoStart, setWireguardKey, setWireguardKeygenEvent, diff --git a/gui/src/renderer/redux/settings/reducers.ts b/gui/src/renderer/redux/settings/reducers.ts index ac86f25a29..6038a2be28 100644 --- a/gui/src/renderer/redux/settings/reducers.ts +++ b/gui/src/renderer/redux/settings/reducers.ts @@ -129,6 +129,9 @@ export interface ISettingsReduxState { openVpn: { mssfix?: number; }; + wireguard: { + mtu?: number; + }; wireguardKeyState: WgKeyState; } @@ -164,6 +167,7 @@ const initialState: ISettingsReduxState = { bridgeState: 'auto', blockWhenDisconnected: false, openVpn: {}, + wireguard: {}, wireguardKeyState: { type: 'key-not-set', }, @@ -225,6 +229,15 @@ export default function( }, }; + case 'UPDATE_WIREGUARD_MTU': + return { + ...state, + wireguard: { + ...state.wireguard, + mtu: action.mtu, + }, + }; + case 'UPDATE_AUTO_START': return { ...state, diff --git a/gui/src/shared/ipc-event-channel.ts b/gui/src/shared/ipc-event-channel.ts index c01c8ced89..3a24d3f46e 100644 --- a/gui/src/shared/ipc-event-channel.ts +++ b/gui/src/shared/ipc-event-channel.ts @@ -71,6 +71,7 @@ interface ISettingsMethods extends IReceiver<ISettings> { setBlockWhenDisconnected(block: boolean): Promise<void>; setBridgeState(state: BridgeState): Promise<void>; setOpenVpnMssfix(mssfix?: number): Promise<void>; + setWireguardMtu(mtu?: number): Promise<void>; updateRelaySettings(update: RelaySettingsUpdate): Promise<void>; updateBridgeSettings(bridgeSettings: BridgeSettings): Promise<void>; } @@ -81,6 +82,7 @@ interface ISettingsHandlers extends ISender<ISettings> { handleBlockWhenDisconnected(fn: (block: boolean) => Promise<void>): void; handleBridgeState(fn: (state: BridgeState) => Promise<void>): void; handleOpenVpnMssfix(fn: (mssfix?: number) => Promise<void>): void; + handleWireguardMtu(fn: (mtu?: number) => Promise<void>): void; handleUpdateRelaySettings(fn: (update: RelaySettingsUpdate) => Promise<void>): void; handleUpdateBridgeSettings(fn: (bridgeSettings: BridgeSettings) => Promise<void>): void; } @@ -160,6 +162,7 @@ const SET_ENABLE_IPV6 = 'set-enable-ipv6'; const SET_BLOCK_WHEN_DISCONNECTED = 'set-block-when-disconnected'; const SET_BRIDGE_STATE = 'set-bridge-state'; const SET_OPENVPN_MSSFIX = 'set-openvpn-mssfix'; +const SET_WIREGUARD_MTU = 'set-wireguard-mtu'; const UPDATE_RELAY_SETTINGS = 'update-relay-settings'; const UPDATE_BRIDGE_SETTINGS = 'update-bridge-location'; @@ -236,6 +239,7 @@ export class IpcRendererEventChannel { setBlockWhenDisconnected: requestSender(SET_BLOCK_WHEN_DISCONNECTED), setBridgeState: requestSender(SET_BRIDGE_STATE), setOpenVpnMssfix: requestSender(SET_OPENVPN_MSSFIX), + setWireguardMtu: requestSender(SET_WIREGUARD_MTU), updateRelaySettings: requestSender(UPDATE_RELAY_SETTINGS), updateBridgeSettings: requestSender(UPDATE_BRIDGE_SETTINGS), }; @@ -333,6 +337,7 @@ export class IpcMainEventChannel { handleBlockWhenDisconnected: requestHandler(SET_BLOCK_WHEN_DISCONNECTED), handleBridgeState: requestHandler(SET_BRIDGE_STATE), handleOpenVpnMssfix: requestHandler(SET_OPENVPN_MSSFIX), + handleWireguardMtu: requestHandler(SET_WIREGUARD_MTU), handleUpdateRelaySettings: requestHandler(UPDATE_RELAY_SETTINGS), handleUpdateBridgeSettings: requestHandler(UPDATE_BRIDGE_SETTINGS), }; |
