summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorBug Magnet <marco.nikic@mullvad.net>2024-03-06 15:36:44 +0100
committerBug Magnet <marco.nikic@mullvad.net>2024-03-07 08:33:04 +0100
commit2b94c70220b428aa1835e89d5d629f2036601796 (patch)
tree3906f0310aa202fc9874d9ce02175c39d9604229
parentb64950dfc3a9b31c13c4b703ada71a71169a54ec (diff)
downloadmullvadvpn-2b94c70220b428aa1835e89d5d629f2036601796.tar.xz
mullvadvpn-2b94c70220b428aa1835e89d5d629f2036601796.zip
Add comments explaining decisions
-rw-r--r--ios/MullvadVPNUITests/MullvadApi.swift3
-rw-r--r--mullvad-api/src/ffi/mod.rs2
2 files changed, 5 insertions, 0 deletions
diff --git a/ios/MullvadVPNUITests/MullvadApi.swift b/ios/MullvadVPNUITests/MullvadApi.swift
index 6fc8446d3e..3c23f8209d 100644
--- a/ios/MullvadVPNUITests/MullvadApi.swift
+++ b/ios/MullvadVPNUITests/MullvadApi.swift
@@ -32,6 +32,9 @@ struct InitMutableBufferError: Error {
let description = "Failed to allocate memory for mutable buffer"
}
+/// - Warning: Do not change the `apiAddress` or the `hostname` after the time `MullvadApi.init` has been invoked
+/// The Mullvad API crate is using a global static variable to store those. They will be initialized only once.
+///
class MullvadApi {
private var clientContext = MullvadApiClient()
diff --git a/mullvad-api/src/ffi/mod.rs b/mullvad-api/src/ffi/mod.rs
index ceb1039f6e..82f96be2d8 100644
--- a/mullvad-api/src/ffi/mod.rs
+++ b/mullvad-api/src/ffi/mod.rs
@@ -68,6 +68,8 @@ impl FfiClient {
)
})?;
+ // The call site guarantees that
+ // api_hostname and api_address will never change after the first call to new.
std::env::set_var(crate::env::API_HOST_VAR, &api_hostname);
std::env::set_var(crate::env::API_ADDR_VAR, &addr_str);
std::env::set_var(crate::env::API_FORCE_DIRECT_VAR, "0");