Skip to content

Commit 204244b

Browse files
authored
Merge pull request #8838 from element-hq/feature/bca/bump_crypto_sdk_0.4.1
Bump rust sdk crypto to 0.4.1
2 parents 4acbe4e + 0bf3350 commit 204244b

File tree

6 files changed

+22
-11
lines changed

6 files changed

+22
-11
lines changed

changelog.d/8838.misc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Update Rust crypto SDK to version 0.4.1

matrix-sdk-android/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ dependencies {
215215

216216
implementation libs.google.phonenumber
217217

218-
implementation("org.matrix.rustcomponents:crypto-android:0.3.16")
218+
implementation("org.matrix.rustcomponents:crypto-android:0.4.1")
219219
// api project(":library:rustCrypto")
220220

221221
testImplementation libs.tests.junit

matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/Device.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ import org.matrix.android.sdk.internal.crypto.verification.SasVerification
3131
import org.matrix.android.sdk.internal.crypto.verification.VerificationRequest
3232
import org.matrix.android.sdk.internal.crypto.verification.prepareMethods
3333
import org.matrix.rustcomponents.sdk.crypto.CryptoStoreException
34-
import org.matrix.rustcomponents.sdk.crypto.LocalTrust
3534
import org.matrix.rustcomponents.sdk.crypto.SignatureException
35+
import uniffi.matrix_sdk_crypto.LocalTrust
3636
import org.matrix.rustcomponents.sdk.crypto.Device as InnerDevice
3737

3838
/** Class representing a device that supports E2EE in the Matrix world

matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/OlmMachine.kt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@ import org.matrix.rustcomponents.sdk.crypto.DeviceLists
7575
import org.matrix.rustcomponents.sdk.crypto.EncryptionSettings
7676
import org.matrix.rustcomponents.sdk.crypto.KeyRequestPair
7777
import org.matrix.rustcomponents.sdk.crypto.KeysImportResult
78-
import org.matrix.rustcomponents.sdk.crypto.LocalTrust
7978
import org.matrix.rustcomponents.sdk.crypto.Logger
8079
import org.matrix.rustcomponents.sdk.crypto.MegolmV1BackupKey
8180
import org.matrix.rustcomponents.sdk.crypto.Request
@@ -86,6 +85,7 @@ import org.matrix.rustcomponents.sdk.crypto.ShieldState
8685
import org.matrix.rustcomponents.sdk.crypto.SignatureVerification
8786
import org.matrix.rustcomponents.sdk.crypto.setLogger
8887
import timber.log.Timber
88+
import uniffi.matrix_sdk_crypto.LocalTrust
8989
import java.io.File
9090
import java.nio.charset.Charset
9191
import javax.inject.Inject
@@ -828,8 +828,14 @@ internal class OlmMachine @Inject constructor(
828828
val requests = withContext(coroutineDispatchers.io) {
829829
inner.bootstrapCrossSigning()
830830
}
831+
(requests.uploadKeysRequest)?.let {
832+
when (it) {
833+
is Request.KeysUpload -> requestSender.uploadKeys(it)
834+
else -> {}
835+
}
836+
}
831837
requestSender.uploadCrossSigningKeys(requests.uploadSigningKeysRequest, uiaInterceptor)
832-
requestSender.sendSignatureUpload(requests.signatureRequest)
838+
requestSender.sendSignatureUpload(requests.uploadSignatureRequest)
833839
}
834840

835841
/**

matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/RustKeyBackupService.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,9 @@ import org.matrix.android.sdk.internal.util.JsonCanonicalizer
6868
import org.matrix.olm.OlmException
6969
import org.matrix.rustcomponents.sdk.crypto.Request
7070
import org.matrix.rustcomponents.sdk.crypto.RequestType
71-
import org.matrix.rustcomponents.sdk.crypto.SignatureState
7271
import org.matrix.rustcomponents.sdk.crypto.SignatureVerification
7372
import timber.log.Timber
73+
import uniffi.matrix_sdk_crypto.SignatureState
7474
import java.security.InvalidParameterException
7575
import javax.inject.Inject
7676
import kotlin.random.Random

matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/migration/rust/RealmToMigrate.kt

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ fun RealmToMigrate.getPickledAccount(pickleKey: ByteArray): MigrationData {
100100
)
101101
MigrationData(
102102
account = pickledAccount,
103-
pickleKey = pickleKey.map { it.toUByte() },
103+
pickleKey = pickleKey,
104104
crossSigning = CrossSigningKeyExport(
105105
masterKey = masterKey,
106106
selfSigningKey = selfSignedKey,
@@ -153,7 +153,7 @@ fun RealmToMigrate.getPickledAccount(pickleKey: ByteArray): MigrationData {
153153

154154
migrationData = MigrationData(
155155
account = pickledAccount,
156-
pickleKey = pickleKey.map { it.toUByte() },
156+
pickleKey = pickleKey,
157157
crossSigning = CrossSigningKeyExport(
158158
masterKey = masterKey,
159159
selfSigningKey = selfSignedKey,
@@ -222,8 +222,10 @@ fun RealmToMigrate.pickledOlmSessions(pickleKey: ByteArray, chunkSize: Int, onCh
222222
pickle = pickle,
223223
senderKey = deviceKey,
224224
createdUsingFallbackKey = false,
225-
creationTime = lastReceivedMessageTs.toString(),
226-
lastUseTime = lastReceivedMessageTs.toString()
225+
// / Unix timestamp (in seconds) when the session was created.
226+
creationTime = (lastReceivedMessageTs / 1000).toULong(),
227+
// / Unix timestamp (in seconds) when the session was last used.
228+
lastUseTime = (lastReceivedMessageTs / 1000).toULong(),
227229
)
228230
// should we check the tracking status?
229231
pickledSessions.add(pickledSession)
@@ -323,8 +325,10 @@ private fun OlmSessionEntity.toPickledSession(pickleKey: ByteArray): PickledSess
323325
pickle = pickledOlmSession,
324326
senderKey = deviceKey,
325327
createdUsingFallbackKey = false,
326-
creationTime = lastReceivedMessageTs.toString(),
327-
lastUseTime = lastReceivedMessageTs.toString()
328+
// Rust expect in seconds
329+
creationTime = (lastReceivedMessageTs / 1000).toULong(),
330+
// Rust expect in seconds
331+
lastUseTime = (lastReceivedMessageTs / 1000).toULong(),
328332
)
329333
}
330334

0 commit comments

Comments
 (0)