summaryrefslogtreecommitdiffhomepage
path: root/gui/src/shared
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2021-09-13 13:35:20 +0200
committerOskar Nyberg <oskar@mullvad.net>2021-09-13 13:35:20 +0200
commitb8930db15b76d1866ab18cd58cdf9936dbe0ffa2 (patch)
tree6e6e0f647050d3bfc08758283ed6137b62cbe67f /gui/src/shared
parent343fd4ff64150920f14de07c66385f5bb3fff9ed (diff)
parent268644e1193789539b6226eb04704a7a6f29d938 (diff)
downloadmullvadvpn-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.ts3
-rw-r--r--gui/src/shared/relay-settings-builder.ts12
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;