summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2024-02-15 21:23:46 +0100
committerDavid Lönnhager <david.l@mullvad.net>2024-02-16 16:33:45 +0100
commitb6a428d6f444bbdedae3a9a7d7bd0419c3de1fe5 (patch)
tree3e1ed0b91357db2aa0ac302f4e9f737b25679f6f
parent1a6cc86b6197e299999bf46a007df44a65986315 (diff)
downloadmullvadvpn-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.rs15
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