summaryrefslogtreecommitdiffhomepage
path: root/android/lib/daemon-grpc/src
diff options
context:
space:
mode:
authorDavid Göransson <david.goransson@mullvad.net>2024-11-07 15:09:21 +0100
committerDavid Göransson <david.goransson@mullvad.net>2024-11-12 14:39:34 +0100
commitfa6cacdf9e25bce1efab9b5987bafeb3d7a3ba76 (patch)
treef58c01091e1a252f1465a7ce47341b177a21ce87 /android/lib/daemon-grpc/src
parente1567cf4721b6d677196bb4523d1fa337c1efb24 (diff)
downloadmullvadvpn-fa6cacdf9e25bce1efab9b5987bafeb3d7a3ba76.tar.xz
mullvadvpn-fa6cacdf9e25bce1efab9b5987bafeb3d7a3ba76.zip
Fix incorrect parsing of auth failed error
Diffstat (limited to 'android/lib/daemon-grpc/src')
-rw-r--r--android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/mapper/ToDomain.kt16
1 files changed, 15 insertions, 1 deletions
diff --git a/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/mapper/ToDomain.kt b/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/mapper/ToDomain.kt
index fc4c64942f..9c54bc5bc5 100644
--- a/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/mapper/ToDomain.kt
+++ b/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/mapper/ToDomain.kt
@@ -19,6 +19,7 @@ import net.mullvad.mullvadvpn.lib.model.ApiAccessMethodName
import net.mullvad.mullvadvpn.lib.model.ApiAccessMethodSetting
import net.mullvad.mullvadvpn.lib.model.AppId
import net.mullvad.mullvadvpn.lib.model.AppVersionInfo
+import net.mullvad.mullvadvpn.lib.model.AuthFailedError
import net.mullvad.mullvadvpn.lib.model.Cipher
import net.mullvad.mullvadvpn.lib.model.Constraint
import net.mullvad.mullvadvpn.lib.model.CustomDnsOptions
@@ -202,7 +203,7 @@ internal fun ManagementInterface.ErrorState.toDomain(): ErrorState =
cause =
when (cause!!) {
ManagementInterface.ErrorState.Cause.AUTH_FAILED ->
- ErrorStateCause.AuthFailed(authFailedError.name)
+ ErrorStateCause.AuthFailed(authFailedError.toDomain())
ManagementInterface.ErrorState.Cause.IPV6_UNAVAILABLE ->
ErrorStateCause.Ipv6Unavailable
ManagementInterface.ErrorState.Cause.SET_FIREWALL_POLICY_ERROR ->
@@ -225,6 +226,19 @@ internal fun ManagementInterface.ErrorState.toDomain(): ErrorState =
isBlocking = !hasBlockingError(),
)
+private fun ManagementInterface.ErrorState.AuthFailedError.toDomain(): AuthFailedError =
+ when (this) {
+ ManagementInterface.ErrorState.AuthFailedError.UNKNOWN -> AuthFailedError.Unknown
+ ManagementInterface.ErrorState.AuthFailedError.INVALID_ACCOUNT ->
+ AuthFailedError.InvalidAccount
+ ManagementInterface.ErrorState.AuthFailedError.EXPIRED_ACCOUNT ->
+ AuthFailedError.ExpiredAccount
+ ManagementInterface.ErrorState.AuthFailedError.TOO_MANY_CONNECTIONS ->
+ AuthFailedError.TooManyConnections
+ ManagementInterface.ErrorState.AuthFailedError.UNRECOGNIZED ->
+ throw IllegalArgumentException("Unrecognized auth failed error")
+ }
+
internal fun ManagementInterface.ErrorState.FirewallPolicyError.toDomain():
ErrorStateCause.FirewallPolicyError =
when (type!!) {