diff options
| author | Oskar Nyberg <oskar@mullvad.net> | 2022-07-25 11:40:24 +0200 |
|---|---|---|
| committer | Oskar Nyberg <oskar@mullvad.net> | 2022-07-25 11:40:24 +0200 |
| commit | d7d89095619d0bc66c2abc8e382c44969ab57bdf (patch) | |
| tree | e4a942d5a17278c47d255bb2eba53b8d662fcdc7 /gui/src/renderer/containers | |
| parent | 9fa4063cfba1bd9bf44ad54bce650284522d6ebb (diff) | |
| parent | b570bf5ff968edd915c05747b8711461cd31945a (diff) | |
| download | mullvadvpn-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.tsx | 136 | ||||
| -rw-r--r-- | gui/src/renderer/containers/WireguardSettingsPage.tsx | 115 |
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)), -); |
