diff options
| author | Oskar Nyberg <oskar@mullvad.net> | 2021-09-13 13:35:20 +0200 |
|---|---|---|
| committer | Oskar Nyberg <oskar@mullvad.net> | 2021-09-13 13:35:20 +0200 |
| commit | b8930db15b76d1866ab18cd58cdf9936dbe0ffa2 (patch) | |
| tree | 6e6e0f647050d3bfc08758283ed6137b62cbe67f /gui/src/shared | |
| parent | 343fd4ff64150920f14de07c66385f5bb3fff9ed (diff) | |
| parent | 268644e1193789539b6226eb04704a7a6f29d938 (diff) | |
| download | mullvadvpn-b8930db15b76d1866ab18cd58cdf9936dbe0ffa2.tar.xz mullvadvpn-b8930db15b76d1866ab18cd58cdf9936dbe0ffa2.zip | |
Merge branch 'add-ip-version-setting'
Diffstat (limited to 'gui/src/shared')
| -rw-r--r-- | gui/src/shared/daemon-rpc-types.ts | 3 | ||||
| -rw-r--r-- | gui/src/shared/relay-settings-builder.ts | 12 |
2 files changed, 15 insertions, 0 deletions
diff --git a/gui/src/shared/daemon-rpc-types.ts b/gui/src/shared/daemon-rpc-types.ts index 0ce24bf8a2..8e42147f43 100644 --- a/gui/src/shared/daemon-rpc-types.ts +++ b/gui/src/shared/daemon-rpc-types.ts @@ -130,10 +130,13 @@ export interface IOpenVpnConstraints { export interface IWireguardConstraints { port: Constraint<number>; + ipVersion: Constraint<IpVersion>; } export type TunnelProtocol = 'wireguard' | 'openvpn'; +export type IpVersion = 'ipv4' | 'ipv6'; + interface IRelaySettingsNormal<OpenVpn, Wireguard> { location: Constraint<RelayLocation>; tunnelProtocol: Constraint<TunnelProtocol>; diff --git a/gui/src/shared/relay-settings-builder.ts b/gui/src/shared/relay-settings-builder.ts index 182e44063f..418de10888 100644 --- a/gui/src/shared/relay-settings-builder.ts +++ b/gui/src/shared/relay-settings-builder.ts @@ -1,6 +1,7 @@ import { Constraint, IOpenVpnConstraints, + IpVersion, IWireguardConstraints, RelayProtocol, RelaySettingsNormalUpdate, @@ -21,6 +22,7 @@ interface IOpenVPNConfigurator { interface IWireguardConfigurator { port: IExactOrAny<number, IWireguardConfigurator>; + ipVersion: IExactOrAny<IpVersion, IWireguardConfigurator>; } interface ITunnelProtocolConfigurator { @@ -125,6 +127,16 @@ class NormalRelaySettingsBuilder { any: () => apply('any'), }; }, + get ipVersion() { + const apply = (ipVersion: Constraint<IpVersion>) => { + updateWireguard({ ipVersion }); + return this; + }; + return { + exact: (value: IpVersion) => apply({ only: value }), + any: () => apply('any'), + }; + }, }; configurator(wireguardBuilder); return this; |
