diff options
| author | David Lönnhager <david.l@mullvad.net> | 2021-12-14 15:54:16 +0100 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2022-01-03 17:20:20 +0100 |
| commit | 9f26425fedadaf472ba868889a1e4b012181b7d6 (patch) | |
| tree | 70d0fe31c8239456c956bd8540330d11cc43d8e6 | |
| parent | a9ff5f393bd165f57bfd7f225c79710373559364 (diff) | |
| download | mullvadvpn-9f26425fedadaf472ba868889a1e4b012181b7d6.tar.xz mullvadvpn-9f26425fedadaf472ba868889a1e4b012181b7d6.zip | |
Stop forcing OpenVPN to be used when the bridge state is set to 'on'
| -rw-r--r-- | mullvad-daemon/src/relays.rs | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/mullvad-daemon/src/relays.rs b/mullvad-daemon/src/relays.rs index 803deac988..1c0249ba44 100644 --- a/mullvad-daemon/src/relays.rs +++ b/mullvad-daemon/src/relays.rs @@ -352,17 +352,13 @@ impl RelaySelector { retry_attempt: u32, wg_key_exists: bool, ) -> RelayConstraints { - let (preferred_port, preferred_protocol, preferred_tunnel) = - if bridge_state != BridgeState::On { - self.preferred_tunnel_constraints( - retry_attempt, - &original_constraints.location, - &original_constraints.providers, - wg_key_exists, - ) - } else { - (Constraint::Any, TransportProtocol::Tcp, TunnelType::OpenVpn) - }; + let (preferred_port, preferred_protocol, preferred_tunnel) = self + .preferred_tunnel_constraints( + retry_attempt, + &original_constraints.location, + &original_constraints.providers, + wg_key_exists, + ); let mut relay_constraints = original_constraints.clone(); relay_constraints.openvpn_constraints = Default::default(); @@ -372,9 +368,14 @@ impl RelaySelector { match original_constraints.tunnel_protocol { // If no tunnel protocol is selected, use preferred constraints Constraint::Any => { - if original_constraints.openvpn_constraints.port.is_any() - || bridge_state == BridgeState::On - { + if bridge_state == BridgeState::On { + relay_constraints.openvpn_constraints = OpenVpnConstraints { + port: Constraint::Only(TransportPort { + protocol: TransportProtocol::Tcp, + port: Constraint::Any, + }), + }; + } else if original_constraints.openvpn_constraints.port.is_any() { relay_constraints.openvpn_constraints = OpenVpnConstraints { port: Constraint::Only(TransportPort { protocol: preferred_protocol, @@ -400,7 +401,6 @@ impl RelaySelector { let openvpn_constraints = &mut relay_constraints.openvpn_constraints; *openvpn_constraints = original_constraints.openvpn_constraints; if bridge_state == BridgeState::On && openvpn_constraints.port.is_any() { - // FIXME: This is temporary while talpid-core only supports TCP proxies openvpn_constraints.port = Constraint::Only(TransportPort { protocol: TransportProtocol::Tcp, port: Constraint::Any, |
