From cd81fd5cfab29734449bef6c9ccf97d287167fa0 Mon Sep 17 00:00:00 2001
From: Taras Smakula <tarassmakula@gmail.com>
Date: Tue, 22 Aug 2023 17:25:38 +0300
Subject: [PATCH] Add BSSPEKE_ALGORITHM_BACKUP constant

---
 .../org/matrix/android/sdk/api/crypto/CryptoConstants.kt   | 2 ++
 .../crypto/keysbackup/model/rest/KeysAlgorithmAndData.kt   | 7 ++++++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/crypto/CryptoConstants.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/crypto/CryptoConstants.kt
index 44c6970e..2acc69d5 100644
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/crypto/CryptoConstants.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/crypto/CryptoConstants.kt
@@ -33,6 +33,8 @@ const val MXCRYPTO_ALGORITHM_MEGOLM_BACKUP = "m.megolm_backup.v1.curve25519-aes-
 
 const val BCRYPT_ALGORITHM_BACKUP = "org.futo.bcrypt"
 
+const val BSSPEKE_ALGORITHM_BACKUP = "org.futo.bsspeke-ecc"
+
 /**
  * Secured Shared Storage algorithm constant.
  */
diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/KeysAlgorithmAndData.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/KeysAlgorithmAndData.kt
index 6459c801..51ef6a4d 100644
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/KeysAlgorithmAndData.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/KeysAlgorithmAndData.kt
@@ -17,6 +17,7 @@
 package org.matrix.android.sdk.internal.crypto.keysbackup.model.rest
 
 import org.matrix.android.sdk.api.crypto.BCRYPT_ALGORITHM_BACKUP
+import org.matrix.android.sdk.api.crypto.BSSPEKE_ALGORITHM_BACKUP
 import org.matrix.android.sdk.api.crypto.MXCRYPTO_ALGORITHM_MEGOLM_BACKUP
 import org.matrix.android.sdk.api.session.crypto.keysbackup.MegolmBackupAuthData
 import org.matrix.android.sdk.api.util.JsonDict
@@ -56,7 +57,11 @@ internal interface KeysAlgorithmAndData {
      */
     fun getAuthDataAsMegolmBackupAuthData(): MegolmBackupAuthData? {
         return MoshiProvider.providesMoshi()
-                .takeIf { algorithm == MXCRYPTO_ALGORITHM_MEGOLM_BACKUP || algorithm == BCRYPT_ALGORITHM_BACKUP }
+                .takeIf {
+                    algorithm == MXCRYPTO_ALGORITHM_MEGOLM_BACKUP
+                            || algorithm == BCRYPT_ALGORITHM_BACKUP
+                            || algorithm == BSSPEKE_ALGORITHM_BACKUP
+                }
                 ?.adapter(MegolmBackupAuthData::class.java)
                 ?.fromJsonValue(authData)
     }
-- 
GitLab