summaryrefslogtreecommitdiffhomepage
path: root/gui/src
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2020-03-09 20:12:46 +0100
committerOskar Nyberg <oskar@mullvad.net>2020-03-10 17:20:29 +0100
commitc2018a0c960990bfdc428dd9c2c3eb3c7e21e1ba (patch)
treebabcb93232c867d889406e19895ab4503deae33f /gui/src
parent548a2c025da264ab2d929f1ac1e255950a8e2cdf (diff)
downloadmullvadvpn-c2018a0c960990bfdc428dd9c2c3eb3c7e21e1ba.tar.xz
mullvadvpn-c2018a0c960990bfdc428dd9c2c3eb3c7e21e1ba.zip
Add wireguard mtu call
Diffstat (limited to 'gui/src')
-rw-r--r--gui/src/main/daemon-rpc.ts4
-rw-r--r--gui/src/main/index.ts3
-rw-r--r--gui/src/renderer/app.tsx7
-rw-r--r--gui/src/renderer/redux/settings/actions.ts14
-rw-r--r--gui/src/renderer/redux/settings/reducers.ts13
-rw-r--r--gui/src/shared/ipc-event-channel.ts5
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),
};