diff options
| author | David Göransson <david.goransson@mullvad.net> | 2025-05-21 11:17:25 +0200 |
|---|---|---|
| committer | David Göransson <david.goransson@mullvad.net> | 2025-05-21 12:42:25 +0200 |
| commit | 7e7d6734b1c53dcc26774aebca60e5c09201152b (patch) | |
| tree | 61ea9b4516348eb12120d33d11b851473da9e88e /android | |
| parent | b708e86feb1235a6241cd12e1b8315cea19a12d5 (diff) | |
| download | mullvadvpn-7e7d6734b1c53dcc26774aebca60e5c09201152b.tar.xz mullvadvpn-7e7d6734b1c53dcc26774aebca60e5c09201152b.zip | |
Supply IP address when using API override
Previously we did a DNS lookup for Stagemole and Devmole however, this
causes problem when starting the app with no internet and is different
from how the app performs in production mode. This commit removes that
logic in order to align closer to what we expect in prod.
Diffstat (limited to 'android')
4 files changed, 11 insertions, 2 deletions
diff --git a/android/lib/endpoint/src/main/kotlin/net/mullvad/mullvadvpn/lib/endpoint/ApiEndpointOverride.kt b/android/lib/endpoint/src/main/kotlin/net/mullvad/mullvadvpn/lib/endpoint/ApiEndpointOverride.kt index 7350aa0d26..3c86b4427a 100644 --- a/android/lib/endpoint/src/main/kotlin/net/mullvad/mullvadvpn/lib/endpoint/ApiEndpointOverride.kt +++ b/android/lib/endpoint/src/main/kotlin/net/mullvad/mullvadvpn/lib/endpoint/ApiEndpointOverride.kt @@ -6,6 +6,7 @@ import kotlinx.parcelize.Parcelize @Parcelize data class ApiEndpointOverride( val hostname: String, + val address: String, val port: Int = CUSTOM_ENDPOINT_HTTPS_PORT, val disableTls: Boolean = false, val forceDirectConnection: Boolean = true, diff --git a/android/service/build.gradle.kts b/android/service/build.gradle.kts index 4fd794c765..004e7a9d7b 100644 --- a/android/service/build.gradle.kts +++ b/android/service/build.gradle.kts @@ -46,14 +46,17 @@ android { isDefault = true // Not used for production builds. buildConfigField("String", "API_ENDPOINT", "\"\"") + buildConfigField("String", "API_IP", "\"\"") } create(Flavors.DEVMOLE) { dimension = FlavorDimensions.INFRASTRUCTURE buildConfigField("String", "API_ENDPOINT", "\"api-app.devmole.eu\"") + buildConfigField("String", "API_IP", "\"185.217.116.4\"") } create(Flavors.STAGEMOLE) { dimension = FlavorDimensions.INFRASTRUCTURE buildConfigField("String", "API_ENDPOINT", "\"api-app.stagemole.eu\"") + buildConfigField("String", "API_IP", "\"185.217.116.132\"") } } diff --git a/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/di/VpnServiceModule.kt b/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/di/VpnServiceModule.kt index 9d4636cf07..c33b8ef518 100644 --- a/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/di/VpnServiceModule.kt +++ b/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/di/VpnServiceModule.kt @@ -63,7 +63,7 @@ val vpnServiceModule = module { cacheDir = get(named(CACHE_DIR_NAMED_ARGUMENT)), apiEndpointOverride = if (BuildConfig.FLAVOR_infrastructure != "prod") { - ApiEndpointOverride(BuildConfig.API_ENDPOINT) + ApiEndpointOverride(BuildConfig.API_ENDPOINT, BuildConfig.API_IP) } else { null }, diff --git a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/MockApiTest.kt b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/MockApiTest.kt index 6327a54757..314aa1f09e 100644 --- a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/MockApiTest.kt +++ b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/MockApiTest.kt @@ -55,6 +55,11 @@ abstract class MockApiTest { } private fun createEndpoint(port: Int): ApiEndpointOverride { - return ApiEndpointOverride(InetAddress.getLocalHost().hostName, port, disableTls = true) + return ApiEndpointOverride( + InetAddress.getLocalHost().hostName, + InetAddress.getLocalHost().hostAddress!!, + port, + disableTls = true, + ) } } |
