diff --git a/dependencies.gradle.kts b/dependencies.gradle.kts index 06312abaf7..66d1c8dca5 100644 --- a/dependencies.gradle.kts +++ b/dependencies.gradle.kts @@ -15,7 +15,7 @@ dependencyResolutionManagement { version("exoplayer", "2.19.0") version("glide", "4.15.1") version("kotlin", "1.9.20") - version("libsignal-client", "0.46.0") + version("libsignal-client", "0.47.0") version("mp4parser", "1.9.39") version("android-gradle-plugin", "8.4.0") version("accompanist", "0.28.0") diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index f2106a0b8c..f66cbada28 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -7400,20 +7400,20 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - + + + - - + + - - - + + + - - + + diff --git a/libsignal-service/src/main/java/org/whispersystems/signalservice/api/svr/SecureValueRecoveryV3.kt b/libsignal-service/src/main/java/org/whispersystems/signalservice/api/svr/SecureValueRecoveryV3.kt index 78b12d4ed9..d095cf2b06 100644 --- a/libsignal-service/src/main/java/org/whispersystems/signalservice/api/svr/SecureValueRecoveryV3.kt +++ b/libsignal-service/src/main/java/org/whispersystems/signalservice/api/svr/SecureValueRecoveryV3.kt @@ -57,13 +57,13 @@ class SecureValueRecoveryV3( return try { val result = network.svr3().restore(normalizedPin, shareSet, enclaveAuth).get() - val masterKey = MasterKey(result) + val masterKey = MasterKey(result.value) RestoreResponse.Success(masterKey, authorization) } catch (e: ExecutionException) { when (val cause = e.cause) { - is NetworkException -> RestoreResponse.NetworkError(IOException(cause)) // TODO [svr3] Update when we get to IOException + is NetworkException -> RestoreResponse.NetworkError(cause) is DataMissingException -> RestoreResponse.Missing - is RestoreFailedException -> RestoreResponse.PinMismatch(1) // TODO [svr3] Get proper API for this + is RestoreFailedException -> RestoreResponse.PinMismatch(cause.triesRemaining) is AttestationFailedException -> RestoreResponse.ApplicationError(cause) is SgxCommunicationFailureException -> RestoreResponse.ApplicationError(cause) is IOException -> RestoreResponse.NetworkError(cause) @@ -126,7 +126,7 @@ class SecureValueRecoveryV3( BackupResponse.Success(masterKey, rawAuth) } catch (e: ExecutionException) { when (val cause = e.cause) { - is NetworkException -> BackupResponse.NetworkError(IOException(cause)) // TODO [svr] Update when we move to IOException + is NetworkException -> BackupResponse.NetworkError(cause) is AttestationFailedException -> BackupResponse.ApplicationError(cause) is SgxCommunicationFailureException -> BackupResponse.ApplicationError(cause) is IOException -> BackupResponse.NetworkError(cause)