summaryrefslogtreecommitdiffhomepage
path: root/gui/src/renderer/containers
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2022-07-25 11:40:24 +0200
committerOskar Nyberg <oskar@mullvad.net>2022-07-25 11:40:24 +0200
commitd7d89095619d0bc66c2abc8e382c44969ab57bdf (patch)
treee4a942d5a17278c47d255bb2eba53b8d662fcdc7 /gui/src/renderer/containers
parent9fa4063cfba1bd9bf44ad54bce650284522d6ebb (diff)
parentb570bf5ff968edd915c05747b8711461cd31945a (diff)
downloadmullvadvpn-d7d89095619d0bc66c2abc8e382c44969ab57bdf.tar.xz
mullvadvpn-d7d89095619d0bc66c2abc8e382c44969ab57bdf.zip
Merge branch 'refactor-remaining-settings-views'
Diffstat (limited to 'gui/src/renderer/containers')
-rw-r--r--gui/src/renderer/containers/OpenVPNSettingsPage.tsx136
-rw-r--r--gui/src/renderer/containers/WireguardSettingsPage.tsx115
2 files changed, 0 insertions, 251 deletions
diff --git a/gui/src/renderer/containers/OpenVPNSettingsPage.tsx b/gui/src/renderer/containers/OpenVPNSettingsPage.tsx
deleted file mode 100644
index ab42f4a137..0000000000
--- a/gui/src/renderer/containers/OpenVPNSettingsPage.tsx
+++ /dev/null
@@ -1,136 +0,0 @@
-import { connect } from 'react-redux';
-
-import { BridgeState, RelayProtocol } from '../../shared/daemon-rpc-types';
-import log from '../../shared/logging';
-import RelaySettingsBuilder from '../../shared/relay-settings-builder';
-import OpenVPNSettings, { BridgeModeAvailability } from '../components/OpenVPNSettings';
-import withAppContext, { IAppContext } from '../context';
-import { IHistoryProps, withHistory } from '../lib/history';
-import { RelaySettingsRedux } from '../redux/settings/reducers';
-import { IReduxState, ReduxDispatch } from '../redux/store';
-
-const mapStateToProps = (state: IReduxState) => {
- const protocolAndPort = mapRelaySettingsToProtocolAndPort(state.settings.relaySettings);
-
- let bridgeModeAvailablity = BridgeModeAvailability.available;
- if (mapRelaySettingsToProtocol(state.settings.relaySettings) !== 'openvpn') {
- bridgeModeAvailablity = BridgeModeAvailability.blockedDueToTunnelProtocol;
- } else if (protocolAndPort.openvpn.protocol === 'udp') {
- bridgeModeAvailablity = BridgeModeAvailability.blockedDueToTransportProtocol;
- }
-
- return {
- bridgeModeAvailablity,
- mssfix: state.settings.openVpn.mssfix,
- bridgeState: state.settings.bridgeState,
- ...protocolAndPort,
- };
-};
-
-const mapRelaySettingsToProtocol = (relaySettings: RelaySettingsRedux) => {
- if ('normal' in relaySettings) {
- const { tunnelProtocol } = relaySettings.normal;
- return tunnelProtocol === 'any' ? undefined : tunnelProtocol;
- // since the GUI doesn't display custom settings, just display the default ones.
- // If the user sets any settings, then those will be applied.
- } else if ('customTunnelEndpoint' in relaySettings) {
- return undefined;
- } else {
- throw new Error('Unknown type of relay settings.');
- }
-};
-
-const mapRelaySettingsToProtocolAndPort = (relaySettings: RelaySettingsRedux) => {
- if ('normal' in relaySettings) {
- const { openvpn } = relaySettings.normal;
- return {
- openvpn: {
- protocol: openvpn.protocol === 'any' ? undefined : openvpn.protocol,
- port: openvpn.port === 'any' ? undefined : openvpn.port,
- },
- };
- // since the GUI doesn't display custom settings, just display the default ones.
- // If the user sets any settings, then those will be applied.
- } else if ('customTunnelEndpoint' in relaySettings) {
- return {
- openvpn: {
- protocol: undefined,
- port: undefined,
- },
- };
- } else {
- throw new Error('Unknown type of relay settings.');
- }
-};
-
-const mapDispatchToProps = (_dispatch: ReduxDispatch, props: IHistoryProps & IAppContext) => {
- return {
- onClose: () => {
- props.history.pop();
- },
- setOpenVpnRelayProtocolAndPort: async (protocol?: RelayProtocol, port?: number) => {
- const relayUpdate = RelaySettingsBuilder.normal()
- .tunnel.openvpn((openvpn) => {
- if (protocol) {
- openvpn.protocol.exact(protocol);
- } else {
- openvpn.protocol.any();
- }
-
- if (port) {
- openvpn.port.exact(port);
- } else {
- openvpn.port.any();
- }
- })
- .build();
-
- try {
- await props.app.updateRelaySettings(relayUpdate);
- } catch (e) {
- const error = e as Error;
- log.error('Failed to update relay settings', error.message);
- }
- },
-
- setWireguardRelayPort: async (port?: number) => {
- const relayUpdate = RelaySettingsBuilder.normal()
- .tunnel.wireguard((wireguard) => {
- if (port) {
- wireguard.port.exact(port);
- } else {
- wireguard.port.any();
- }
- })
- .build();
- try {
- await props.app.updateRelaySettings(relayUpdate);
- } catch (e) {
- const error = e as Error;
- log.error('Failed to update relay settings', error.message);
- }
- },
-
- setBridgeState: async (bridgeState: BridgeState) => {
- try {
- await props.app.setBridgeState(bridgeState);
- } catch (e) {
- const error = e as Error;
- log.error(`Failed to update bridge state: ${error.message}`);
- }
- },
-
- setOpenVpnMssfix: async (mssfix?: number) => {
- try {
- await props.app.setOpenVpnMssfix(mssfix);
- } catch (e) {
- const error = e as Error;
- log.error('Failed to update mssfix value', error.message);
- }
- },
- };
-};
-
-export default withAppContext(
- withHistory(connect(mapStateToProps, mapDispatchToProps)(OpenVPNSettings)),
-);
diff --git a/gui/src/renderer/containers/WireguardSettingsPage.tsx b/gui/src/renderer/containers/WireguardSettingsPage.tsx
deleted file mode 100644
index 6217c723d2..0000000000
--- a/gui/src/renderer/containers/WireguardSettingsPage.tsx
+++ /dev/null
@@ -1,115 +0,0 @@
-import { connect } from 'react-redux';
-
-import { IpVersion } from '../../shared/daemon-rpc-types';
-import log from '../../shared/logging';
-import WireguardSettings from '../components/WireguardSettings';
-import withAppContext, { IAppContext } from '../context';
-import { createWireguardRelayUpdater } from '../lib/constraint-updater';
-import { IHistoryProps, withHistory } from '../lib/history';
-import { RelaySettingsRedux } from '../redux/settings/reducers';
-import { IReduxState, ReduxDispatch } from '../redux/store';
-
-const mapStateToProps = (state: IReduxState, props: IAppContext) => {
- const protocolAndPort = mapRelaySettingsToProtocolAndPort(state.settings.relaySettings);
-
- let wireguardMultihop = false;
- if ('normal' in state.settings.relaySettings) {
- wireguardMultihop = state.settings.relaySettings.normal.wireguard.useMultihop;
- }
-
- return {
- wireguardMtu: state.settings.wireguard.mtu,
- wireguardMultihop,
- ...protocolAndPort,
-
- setWireguardPort: async (port?: number) => {
- const relayUpdate = createWireguardRelayUpdater(state.settings.relaySettings)
- .tunnel.wireguard((wireguard) => {
- if (port) {
- wireguard.port.exact(port);
- } else {
- wireguard.port.any();
- }
- })
- .build();
- try {
- await props.app.updateRelaySettings(relayUpdate);
- } catch (e) {
- const error = e as Error;
- log.error('Failed to update relay settings', error.message);
- }
- },
-
- setWireguardIpVersion: async (ipVersion?: IpVersion) => {
- const relayUpdate = createWireguardRelayUpdater(state.settings.relaySettings)
- .tunnel.wireguard((wireguard) => {
- if (ipVersion) {
- wireguard.ipVersion.exact(ipVersion);
- } else {
- wireguard.ipVersion.any();
- }
- })
- .build();
- try {
- await props.app.updateRelaySettings(relayUpdate);
- } catch (e) {
- const error = e as Error;
- log.error('Failed to update relay settings', error.message);
- }
- },
-
- setWireguardMultihop: async (enabled: boolean) => {
- const relayUpdate = createWireguardRelayUpdater(state.settings.relaySettings)
- .tunnel.wireguard((wireguard) => wireguard.useMultihop(enabled))
- .build();
- try {
- await props.app.updateRelaySettings(relayUpdate);
- } catch (e) {
- const error = e as Error;
- log.error('Failed to update WireGuard multihop settings', error.message);
- }
- },
- };
-};
-
-const mapRelaySettingsToProtocolAndPort = (relaySettings: RelaySettingsRedux) => {
- if ('normal' in relaySettings) {
- const port = relaySettings.normal.wireguard.port;
- const ipVersion = relaySettings.normal.wireguard.ipVersion;
- return {
- wireguard: {
- port: port === 'any' ? undefined : port,
- ipVersion: ipVersion === 'any' ? undefined : ipVersion,
- },
- };
- // since the GUI doesn't display custom settings, just display the default ones.
- // If the user sets any settings, then those will be applied.
- } else if ('customTunnelEndpoint' in relaySettings) {
- return {
- wireguard: { port: undefined },
- };
- } else {
- throw new Error('Unknown type of relay settings.');
- }
-};
-
-const mapDispatchToProps = (_dispatch: ReduxDispatch, props: IHistoryProps & IAppContext) => {
- return {
- onClose: () => {
- props.history.pop();
- },
-
- setWireguardMtu: async (mtu?: number) => {
- try {
- await props.app.setWireguardMtu(mtu);
- } catch (e) {
- const error = e as Error;
- log.error('Failed to update mtu value', error.message);
- }
- },
- };
-};
-
-export default withAppContext(
- withHistory(connect(mapStateToProps, mapDispatchToProps)(WireguardSettings)),
-);