diff options
| author | Oskar Nyberg <oskar@mullvad.net> | 2021-07-19 11:45:38 +0200 |
|---|---|---|
| committer | Oskar Nyberg <oskar@mullvad.net> | 2021-08-17 08:40:52 +0200 |
| commit | ac6e37692d40f2209191b0bb8d2bcac4b51de377 (patch) | |
| tree | 965ad218649ff070a4eafa1843272946ee1f73cd | |
| parent | 7995fe3a3a042b1fcde04d72b4d8cea0e5f93984 (diff) | |
| download | mullvadvpn-ac6e37692d40f2209191b0bb8d2bcac4b51de377.tar.xz mullvadvpn-ac6e37692d40f2209191b0bb8d2bcac4b51de377.zip | |
Add provider to daemon rpc types
| -rw-r--r-- | gui/src/main/daemon-rpc.ts | 11 | ||||
| -rw-r--r-- | gui/src/main/index.ts | 2 | ||||
| -rw-r--r-- | gui/src/shared/bridge-settings-builder.ts | 1 | ||||
| -rw-r--r-- | gui/src/shared/daemon-rpc-types.ts | 4 |
4 files changed, 18 insertions, 0 deletions
diff --git a/gui/src/main/daemon-rpc.ts b/gui/src/main/daemon-rpc.ts index 28b8e651dc..1c3e9a67ba 100644 --- a/gui/src/main/daemon-rpc.ts +++ b/gui/src/main/daemon-rpc.ts @@ -293,6 +293,12 @@ export class DaemonRpc { ); } + if (settingsUpdate.providers) { + const providerUpdate = new grpcTypes.ProviderUpdate(); + providerUpdate.setProvidersList(settingsUpdate.providers); + normalUpdate.setProviders(providerUpdate); + } + grpcRelaySettings.setNormal(normalUpdate); await this.call<grpcTypes.RelaySettingsUpdate, Empty>( this.client.updateRelaySettings, @@ -924,6 +930,7 @@ function convertFromRelaySettings( ? { only: convertFromLocation(grpcLocation.toObject()) } : 'any'; const tunnelProtocol = convertFromTunnelTypeConstraint(normal.getTunnelType()!); + const providers = normal.getProvidersList(); const openvpnConstraints = convertFromOpenVpnConstraints(normal.getOpenvpnConstraints()!); const wireguardConstraints = convertFromWireguardConstraints( normal.getWireguardConstraints()!, @@ -933,6 +940,7 @@ function convertFromRelaySettings( normal: { location, tunnelProtocol, + providers, wireguardConstraints, openvpnConstraints, }, @@ -951,9 +959,11 @@ function convertFromBridgeSettings( if (normalSettings) { const grpcLocation = normalSettings.location; const location = grpcLocation ? { only: convertFromLocation(grpcLocation) } : 'any'; + const providers = normalSettings.providersList; return { normal: { location, + providers, }, }; } @@ -1177,6 +1187,7 @@ function convertToNormalBridgeSettings( ): grpcTypes.BridgeSettings.BridgeConstraints { const normalBridgeSettings = new grpcTypes.BridgeSettings.BridgeConstraints(); normalBridgeSettings.setLocation(convertToLocation(liftConstraint(constraints.location))); + normalBridgeSettings.setProvidersList(constraints.providers); return normalBridgeSettings; } diff --git a/gui/src/main/index.ts b/gui/src/main/index.ts index a81324fd27..95771c5878 100644 --- a/gui/src/main/index.ts +++ b/gui/src/main/index.ts @@ -136,6 +136,7 @@ class ApplicationMain { normal: { location: 'any', tunnelProtocol: 'any', + providers: [], openvpnConstraints: { port: 'any', protocol: 'any', @@ -148,6 +149,7 @@ class ApplicationMain { bridgeSettings: { normal: { location: 'any', + providers: [], }, }, bridgeState: 'auto', diff --git a/gui/src/shared/bridge-settings-builder.ts b/gui/src/shared/bridge-settings-builder.ts index 28e701ec0a..fc4eeaa682 100644 --- a/gui/src/shared/bridge-settings-builder.ts +++ b/gui/src/shared/bridge-settings-builder.ts @@ -9,6 +9,7 @@ export default class BridgeSettingsBuilder { return { normal: { location: this.payload.location, + providers: this.payload.providers ?? [], }, }; } else { diff --git a/gui/src/shared/daemon-rpc-types.ts b/gui/src/shared/daemon-rpc-types.ts index 4c806b11b8..0ce24bf8a2 100644 --- a/gui/src/shared/daemon-rpc-types.ts +++ b/gui/src/shared/daemon-rpc-types.ts @@ -14,6 +14,7 @@ export interface ILocation { mullvadExitIp: boolean; hostname?: string; bridgeHostname?: string; + provider?: string; } export type FirewallPolicyError = @@ -136,6 +137,7 @@ export type TunnelProtocol = 'wireguard' | 'openvpn'; interface IRelaySettingsNormal<OpenVpn, Wireguard> { location: Constraint<RelayLocation>; tunnelProtocol: Constraint<TunnelProtocol>; + providers: string[]; openvpnConstraints: OpenVpn; wireguardConstraints: Wireguard; } @@ -213,6 +215,7 @@ export interface IRelayListCity { export interface IRelayListHostname { hostname: string; + provider: string; ipv4AddrIn: string; includeInCountry: boolean; active: boolean; @@ -340,6 +343,7 @@ export type SplitTunnelSettings = { export interface IBridgeConstraints { location: Constraint<RelayLocation>; + providers: string[]; } export type BridgeSettings = { normal: IBridgeConstraints } | { custom: ProxySettings }; |
