diff options
| author | David Lönnhager <david.l@mullvad.net> | 2024-02-15 21:23:46 +0100 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2024-02-16 16:33:45 +0100 |
| commit | b6a428d6f444bbdedae3a9a7d7bd0419c3de1fe5 (patch) | |
| tree | 3e1ed0b91357db2aa0ac302f4e9f737b25679f6f | |
| parent | 1a6cc86b6197e299999bf46a007df44a65986315 (diff) | |
| download | mullvadvpn-b6a428d6f444bbdedae3a9a7d7bd0419c3de1fe5.tar.xz mullvadvpn-b6a428d6f444bbdedae3a9a7d7bd0419c3de1fe5.zip | |
Only force direct mode by default when overriding the API host/addr
| -rw-r--r-- | mullvad-api/src/lib.rs | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/mullvad-api/src/lib.rs b/mullvad-api/src/lib.rs index d714d5ee3f..dad6cdf706 100644 --- a/mullvad-api/src/lib.rs +++ b/mullvad-api/src/lib.rs @@ -146,8 +146,8 @@ pub struct ApiEndpoint { /// # Note /// /// By default, `force_direct` will be `true` if the `api-override` feature - /// is enabled. This is supposedely less error prone, as common targets such - /// as Devmole might be unreachable from behind a bridge server. + /// is enabled and overrides are in use. This is supposedly less error prone, as + /// common targets such as Devmole might be unreachable from behind a bridge server. /// /// To disable `force_direct`, set the environment variable /// `MULLVAD_API_FORCE_DIRECT=0` before starting the daemon. @@ -175,11 +175,11 @@ impl ApiEndpoint { let mut api = ApiEndpoint { host: None, address: None, - disable_address_cache: true, + disable_address_cache: host_var.is_some() || address_var.is_some(), disable_tls: false, force_direct: force_direct - .map(|force_direct_env| force_direct_env.to_lowercase() != "0") - .unwrap_or(true), + .map(|force_direct| force_direct != "0") + .unwrap_or_else(|| host_var.is_some() || address_var.is_some()), }; match (host_var, address_var) { @@ -229,14 +229,15 @@ impl ApiEndpoint { .unwrap_or(api.disable_tls); log::debug!( - "Overriding API. Using {host} at {scheme}{addr}", + "Overriding API. Using {host} at {scheme}{addr} (force direct={direct})", host = api.host(), addr = api.address(), scheme = if api.disable_tls { "http://" } else { "https://" - } + }, + direct = api.force_direct, ); } api |
