From e81439d57ba67c0d62dca8f691a9a90134d97412 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 19 Feb 2020 18:09:33 +0100 Subject: [PATCH] Remove v2 suffix --- .../qrcode/{QrCodeV2Test.kt => QrCodeTest.kt} | 38 +++++++++---------- ...redSecretV2Test.kt => SharedSecretTest.kt} | 2 +- .../DefaultVerificationService.kt | 16 ++++---- .../DefaultQrCodeVerificationTransaction.kt | 16 ++++---- .../qrcode/{ExtensionsV2.kt => Extensions.kt} | 16 ++++---- .../qrcode/{QrCodeDataV2.kt => QrCodeData.kt} | 8 ++-- 6 files changed, 48 insertions(+), 48 deletions(-) rename matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/crypto/verification/qrcode/{QrCodeV2Test.kt => QrCodeTest.kt} (89%) rename matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/crypto/verification/qrcode/{SharedSecretV2Test.kt => SharedSecretTest.kt} (96%) rename matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/qrcode/{ExtensionsV2.kt => Extensions.kt} (84%) rename matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/qrcode/{QrCodeDataV2.kt => QrCodeData.kt} (97%) diff --git a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/crypto/verification/qrcode/QrCodeV2Test.kt b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/crypto/verification/qrcode/QrCodeTest.kt similarity index 89% rename from matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/crypto/verification/qrcode/QrCodeV2Test.kt rename to matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/crypto/verification/qrcode/QrCodeTest.kt index 3bcb5c660f..1cbc1a17df 100644 --- a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/crypto/verification/qrcode/QrCodeV2Test.kt +++ b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/crypto/verification/qrcode/QrCodeTest.kt @@ -29,9 +29,9 @@ import org.junit.runners.MethodSorters @RunWith(AndroidJUnit4::class) @FixMethodOrder(MethodSorters.JVM) -class QrCodeV2Test : InstrumentedTest { +class QrCodeTest : InstrumentedTest { - private val qrCode1 = QrCodeDataV2.VerifyingAnotherUser( + private val qrCode1 = QrCodeData.VerifyingAnotherUser( transactionId = "MaTransaction", userMasterCrossSigningPublicKey = "ktEwcUP6su1xh+GuE+CYkQ3H6W/DIl+ybHFdaEOrolU", otherUserMasterCrossSigningPublicKey = "TXluZKTZLvSRWOTPlOqLq534bA+/K4zLFKSu9cGLQaU", @@ -40,7 +40,7 @@ class QrCodeV2Test : InstrumentedTest { private val value1 = "MATRIX\u0002\u0000\u0000\u000DMaTransaction\u0092Ñ0qCú²íq\u0087á®\u0013à\u0098\u0091\u000DÇéoÃ\"_²lq]hC«¢UMynd¤Ù.ô\u0091XäÏ\u0094ê\u008B«\u009Døl\u000F¿+\u008CË\u0014¤®õÁ\u008BA¥12345678" - private val qrCode2 = QrCodeDataV2.SelfVerifyingMasterKeyTrusted( + private val qrCode2 = QrCodeData.SelfVerifyingMasterKeyTrusted( transactionId = "MaTransaction", userMasterCrossSigningPublicKey = "ktEwcUP6su1xh+GuE+CYkQ3H6W/DIl+ybHFdaEOrolU", otherDeviceKey = "TXluZKTZLvSRWOTPlOqLq534bA+/K4zLFKSu9cGLQaU", @@ -49,7 +49,7 @@ class QrCodeV2Test : InstrumentedTest { private val value2 = "MATRIX\u0002\u0001\u0000\u000DMaTransaction\u0092Ñ0qCú²íq\u0087á®\u0013à\u0098\u0091\u000DÇéoÃ\"_²lq]hC«¢UMynd¤Ù.ô\u0091XäÏ\u0094ê\u008B«\u009Døl\u000F¿+\u008CË\u0014¤®õÁ\u008BA¥12345678" - private val qrCode3 = QrCodeDataV2.SelfVerifyingMasterKeyNotTrusted( + private val qrCode3 = QrCodeData.SelfVerifyingMasterKeyNotTrusted( transactionId = "MaTransaction", deviceKey = "TXluZKTZLvSRWOTPlOqLq534bA+/K4zLFKSu9cGLQaU", userMasterCrossSigningPublicKey = "ktEwcUP6su1xh+GuE+CYkQ3H6W/DIl+ybHFdaEOrolU", @@ -153,17 +153,17 @@ class QrCodeV2Test : InstrumentedTest { @Test fun testSymmetry1() { - qrCode1.toEncodedString().toQrCodeDataV2() shouldEqual qrCode1 + qrCode1.toEncodedString().toQrCodeData() shouldEqual qrCode1 } @Test fun testSymmetry2() { - qrCode2.toEncodedString().toQrCodeDataV2() shouldEqual qrCode2 + qrCode2.toEncodedString().toQrCodeData() shouldEqual qrCode2 } @Test fun testSymmetry3() { - qrCode3.toEncodedString().toQrCodeDataV2() shouldEqual qrCode3 + qrCode3.toEncodedString().toQrCodeData() shouldEqual qrCode3 } @Test @@ -221,44 +221,44 @@ class QrCodeV2Test : InstrumentedTest { // Error cases @Test fun testErrorHeader() { - value1.replace("MATRIX", "MOTRIX").toQrCodeDataV2().shouldBeNull() - value1.replace("MATRIX", "MATRI").toQrCodeDataV2().shouldBeNull() - value1.replace("MATRIX", "").toQrCodeDataV2().shouldBeNull() + value1.replace("MATRIX", "MOTRIX").toQrCodeData().shouldBeNull() + value1.replace("MATRIX", "MATRI").toQrCodeData().shouldBeNull() + value1.replace("MATRIX", "").toQrCodeData().shouldBeNull() } @Test fun testErrorVersion() { - value1.replace("MATRIX\u0002", "MATRIX\u0000").toQrCodeDataV2().shouldBeNull() - value1.replace("MATRIX\u0002", "MATRIX\u0001").toQrCodeDataV2().shouldBeNull() - value1.replace("MATRIX\u0002", "MATRIX\u0003").toQrCodeDataV2().shouldBeNull() - value1.replace("MATRIX\u0002", "MATRIX").toQrCodeDataV2().shouldBeNull() + value1.replace("MATRIX\u0002", "MATRIX\u0000").toQrCodeData().shouldBeNull() + value1.replace("MATRIX\u0002", "MATRIX\u0001").toQrCodeData().shouldBeNull() + value1.replace("MATRIX\u0002", "MATRIX\u0003").toQrCodeData().shouldBeNull() + value1.replace("MATRIX\u0002", "MATRIX").toQrCodeData().shouldBeNull() } @Test fun testErrorSecretTooShort() { - value1.replace("12345678", "1234567").toQrCodeDataV2().shouldBeNull() + value1.replace("12345678", "1234567").toQrCodeData().shouldBeNull() } @Test fun testErrorNoTransactionNoKeyNoSecret() { // But keep transaction length - "MATRIX\u0002\u0000\u0000\u000D".toQrCodeDataV2().shouldBeNull() + "MATRIX\u0002\u0000\u0000\u000D".toQrCodeData().shouldBeNull() } @Test fun testErrorNoKeyNoSecret() { - "MATRIX\u0002\u0000\u0000\u000DMaTransaction".toQrCodeDataV2().shouldBeNull() + "MATRIX\u0002\u0000\u0000\u000DMaTransaction".toQrCodeData().shouldBeNull() } @Test fun testErrorTransactionLengthTooShort() { // In this case, the secret will be longer, so this is not an error, but it will lead to keys mismatch - value1.replace("\u000DMaTransaction", "\u000CMaTransaction").toQrCodeDataV2().shouldNotBeNull() + value1.replace("\u000DMaTransaction", "\u000CMaTransaction").toQrCodeData().shouldNotBeNull() } @Test fun testErrorTransactionLengthTooBig() { - value1.replace("\u000DMaTransaction", "\u000EMaTransaction").toQrCodeDataV2().shouldBeNull() + value1.replace("\u000DMaTransaction", "\u000EMaTransaction").toQrCodeData().shouldBeNull() } private fun compareArray(actual: ByteArray, expected: ByteArray) { diff --git a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/crypto/verification/qrcode/SharedSecretV2Test.kt b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/crypto/verification/qrcode/SharedSecretTest.kt similarity index 96% rename from matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/crypto/verification/qrcode/SharedSecretV2Test.kt rename to matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/crypto/verification/qrcode/SharedSecretTest.kt index 6c46fcd6a9..4ab79be18b 100644 --- a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/crypto/verification/qrcode/SharedSecretV2Test.kt +++ b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/crypto/verification/qrcode/SharedSecretTest.kt @@ -27,7 +27,7 @@ import org.junit.runners.MethodSorters @RunWith(AndroidJUnit4::class) @FixMethodOrder(MethodSorters.JVM) -class SharedSecretV2Test : InstrumentedTest { +class SharedSecretTest : InstrumentedTest { @Test fun testSharedSecretLengthCase() { diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/DefaultVerificationService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/DefaultVerificationService.kt index 317bbe6415..fa1bfb3b98 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/DefaultVerificationService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/DefaultVerificationService.kt @@ -65,7 +65,7 @@ import im.vector.matrix.android.internal.crypto.model.rest.VERIFICATION_METHOD_S import im.vector.matrix.android.internal.crypto.model.rest.toValue import im.vector.matrix.android.internal.crypto.store.IMXCryptoStore import im.vector.matrix.android.internal.crypto.verification.qrcode.DefaultQrCodeVerificationTransaction -import im.vector.matrix.android.internal.crypto.verification.qrcode.QrCodeDataV2 +import im.vector.matrix.android.internal.crypto.verification.qrcode.QrCodeData import im.vector.matrix.android.internal.crypto.verification.qrcode.generateSharedSecretV2 import im.vector.matrix.android.internal.di.DeviceId import im.vector.matrix.android.internal.di.UserId @@ -788,7 +788,7 @@ internal class DefaultVerificationService @Inject constructor( )) } - private fun createQrCodeData(requestId: String?, otherUserId: String, otherDeviceId: String?): QrCodeDataV2? { + private fun createQrCodeData(requestId: String?, otherUserId: String, otherDeviceId: String?): QrCodeData? { requestId ?: run { Timber.w("## Unknown requestId") return null @@ -806,7 +806,7 @@ internal class DefaultVerificationService @Inject constructor( } } - private fun createQrCodeDataForDistinctUser(requestId: String, otherUserId: String): QrCodeDataV2.VerifyingAnotherUser? { + private fun createQrCodeDataForDistinctUser(requestId: String, otherUserId: String): QrCodeData.VerifyingAnotherUser? { val myMasterKey = crossSigningService.getMyCrossSigningKeys() ?.masterKey() ?.unpaddedBase64PublicKey @@ -823,7 +823,7 @@ internal class DefaultVerificationService @Inject constructor( return null } - return QrCodeDataV2.VerifyingAnotherUser( + return QrCodeData.VerifyingAnotherUser( transactionId = requestId, userMasterCrossSigningPublicKey = myMasterKey, otherUserMasterCrossSigningPublicKey = otherUserMasterKey, @@ -832,7 +832,7 @@ internal class DefaultVerificationService @Inject constructor( } // Create a QR code to display on the old device (Osborne2) - private fun createQrCodeDataForVerifiedDevice(requestId: String, otherDeviceId: String?): QrCodeDataV2.SelfVerifyingMasterKeyTrusted? { + private fun createQrCodeDataForVerifiedDevice(requestId: String, otherDeviceId: String?): QrCodeData.SelfVerifyingMasterKeyTrusted? { val myMasterKey = crossSigningService.getMyCrossSigningKeys() ?.masterKey() ?.unpaddedBase64PublicKey @@ -850,7 +850,7 @@ internal class DefaultVerificationService @Inject constructor( return null } - return QrCodeDataV2.SelfVerifyingMasterKeyTrusted( + return QrCodeData.SelfVerifyingMasterKeyTrusted( transactionId = requestId, userMasterCrossSigningPublicKey = myMasterKey, otherDeviceKey = otherDeviceKey, @@ -859,7 +859,7 @@ internal class DefaultVerificationService @Inject constructor( } // Create a QR code to display on the new device (Dynabook) - private fun createQrCodeDataForUnVerifiedDevice(requestId: String): QrCodeDataV2.SelfVerifyingMasterKeyNotTrusted? { + private fun createQrCodeDataForUnVerifiedDevice(requestId: String): QrCodeData.SelfVerifyingMasterKeyNotTrusted? { val myMasterKey = crossSigningService.getMyCrossSigningKeys() ?.masterKey() ?.unpaddedBase64PublicKey @@ -874,7 +874,7 @@ internal class DefaultVerificationService @Inject constructor( return null } - return QrCodeDataV2.SelfVerifyingMasterKeyNotTrusted( + return QrCodeData.SelfVerifyingMasterKeyNotTrusted( transactionId = requestId, deviceKey = myDeviceKey, userMasterCrossSigningPublicKey = myMasterKey, diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/qrcode/DefaultQrCodeVerificationTransaction.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/qrcode/DefaultQrCodeVerificationTransaction.kt index c6b84c60b0..3954092f8f 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/qrcode/DefaultQrCodeVerificationTransaction.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/qrcode/DefaultQrCodeVerificationTransaction.kt @@ -39,7 +39,7 @@ internal class DefaultQrCodeVerificationTransaction( private val crossSigningService: CrossSigningService, private val cryptoStore: IMXCryptoStore, // Not null only if other user is able to scan QR code - private val qrCodeData: QrCodeDataV2?, + private val qrCodeData: QrCodeData?, val userId: String, val deviceId: String, override val isIncoming: Boolean @@ -62,7 +62,7 @@ internal class DefaultQrCodeVerificationTransaction( } override fun userHasScannedOtherQrCode(otherQrCodeText: String) { - val otherQrCodeData = otherQrCodeText.toQrCodeDataV2() ?: run { + val otherQrCodeData = otherQrCodeText.toQrCodeData() ?: run { Timber.d("## Verification QR: Invalid QR Code Data") cancel(CancelCode.QrCodeInvalid) return @@ -77,21 +77,21 @@ internal class DefaultQrCodeVerificationTransaction( // check master key when (otherQrCodeData) { - is QrCodeDataV2.VerifyingAnotherUser -> { + is QrCodeData.VerifyingAnotherUser -> { if (otherQrCodeData.otherUserMasterCrossSigningPublicKey != crossSigningService.getUserCrossSigningKeys(userId)?.masterKey()?.unpaddedBase64PublicKey) { Timber.d("## Verification QR: Invalid other master key ${otherQrCodeData.otherUserMasterCrossSigningPublicKey}") cancel(CancelCode.MismatchedKeys) return } else Unit } - is QrCodeDataV2.SelfVerifyingMasterKeyTrusted -> { + is QrCodeData.SelfVerifyingMasterKeyTrusted -> { if (otherQrCodeData.userMasterCrossSigningPublicKey != crossSigningService.getUserCrossSigningKeys(userId)?.masterKey()?.unpaddedBase64PublicKey) { Timber.d("## Verification QR: Invalid other master key ${otherQrCodeData.userMasterCrossSigningPublicKey}") cancel(CancelCode.MismatchedKeys) return } else Unit } - is QrCodeDataV2.SelfVerifyingMasterKeyNotTrusted -> { + is QrCodeData.SelfVerifyingMasterKeyNotTrusted -> { if (otherQrCodeData.userMasterCrossSigningPublicKey != crossSigningService.getUserCrossSigningKeys(userId)?.masterKey()?.unpaddedBase64PublicKey) { Timber.d("## Verification QR: Invalid other master key ${otherQrCodeData.userMasterCrossSigningPublicKey}") cancel(CancelCode.MismatchedKeys) @@ -105,7 +105,7 @@ internal class DefaultQrCodeVerificationTransaction( // Check device key if available when (otherQrCodeData) { - is QrCodeDataV2.VerifyingAnotherUser -> { + is QrCodeData.VerifyingAnotherUser -> { if (otherQrCodeData.userMasterCrossSigningPublicKey != crossSigningService.getUserCrossSigningKeys(otherUserId)?.masterKey()?.unpaddedBase64PublicKey) { Timber.d("## Verification QR: Invalid user master key ${otherQrCodeData.userMasterCrossSigningPublicKey}") cancel(CancelCode.MismatchedKeys) @@ -115,14 +115,14 @@ internal class DefaultQrCodeVerificationTransaction( Unit } } - is QrCodeDataV2.SelfVerifyingMasterKeyTrusted -> { + is QrCodeData.SelfVerifyingMasterKeyTrusted -> { if (otherQrCodeData.otherDeviceKey != cryptoStore.getUserDevice(userId, deviceId)?.fingerprint()) { Timber.d("## Verification QR: Invalid other device key ${otherQrCodeData.otherDeviceKey}") cancel(CancelCode.MismatchedKeys) return } else Unit } - is QrCodeDataV2.SelfVerifyingMasterKeyNotTrusted -> { + is QrCodeData.SelfVerifyingMasterKeyNotTrusted -> { if (otherQrCodeData.deviceKey != cryptoStore.getUserDevice(otherUserId, otherDeviceId ?: "")?.fingerprint()) { Timber.d("## Verification QR: Invalid device key ${otherQrCodeData.deviceKey}") cancel(CancelCode.MismatchedKeys) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/qrcode/ExtensionsV2.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/qrcode/Extensions.kt similarity index 84% rename from matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/qrcode/ExtensionsV2.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/qrcode/Extensions.kt index 5e6c984990..cc16c2d725 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/qrcode/ExtensionsV2.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/qrcode/Extensions.kt @@ -22,7 +22,7 @@ import im.vector.matrix.android.internal.crypto.crosssigning.toBase64NoPadding // MATRIX private val prefix = "MATRIX".toByteArray(Charsets.ISO_8859_1) -fun QrCodeDataV2.toEncodedString(): String { +fun QrCodeData.toEncodedString(): String { var result = ByteArray(0) // MATRIX @@ -35,9 +35,9 @@ fun QrCodeDataV2.toEncodedString(): String { // Mode result += when (this) { - is QrCodeDataV2.VerifyingAnotherUser -> 0 - is QrCodeDataV2.SelfVerifyingMasterKeyTrusted -> 1 - is QrCodeDataV2.SelfVerifyingMasterKeyNotTrusted -> 2 + is QrCodeData.VerifyingAnotherUser -> 0 + is QrCodeData.SelfVerifyingMasterKeyTrusted -> 1 + is QrCodeData.SelfVerifyingMasterKeyNotTrusted -> 2 }.toByte() // TransactionId length @@ -66,7 +66,7 @@ fun QrCodeDataV2.toEncodedString(): String { return result.toString(Charsets.ISO_8859_1) } -fun String.toQrCodeDataV2(): QrCodeDataV2? { +fun String.toQrCodeData(): QrCodeData? { val byteArray = toByteArray(Charsets.ISO_8859_1) // Size should be min 6 + 1 + 1 + 2 + ? + 32 + 32 + ? = 74 + transactionLength + secretLength @@ -115,9 +115,9 @@ fun String.toQrCodeDataV2(): QrCodeDataV2? { val secret = byteArray.copyOfRange(cursor, byteArray.size).toBase64NoPadding() return when (mode) { - 0 -> QrCodeDataV2.VerifyingAnotherUser(transactionId, key1, key2, secret) - 1 -> QrCodeDataV2.SelfVerifyingMasterKeyTrusted(transactionId, key1, key2, secret) - 2 -> QrCodeDataV2.SelfVerifyingMasterKeyNotTrusted(transactionId, key1, key2, secret) + 0 -> QrCodeData.VerifyingAnotherUser(transactionId, key1, key2, secret) + 1 -> QrCodeData.SelfVerifyingMasterKeyTrusted(transactionId, key1, key2, secret) + 2 -> QrCodeData.SelfVerifyingMasterKeyNotTrusted(transactionId, key1, key2, secret) else -> null } } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/qrcode/QrCodeDataV2.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/qrcode/QrCodeData.kt similarity index 97% rename from matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/qrcode/QrCodeDataV2.kt rename to matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/qrcode/QrCodeData.kt index d3b23b30de..934c0c82b9 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/qrcode/QrCodeDataV2.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/qrcode/QrCodeData.kt @@ -19,7 +19,7 @@ package im.vector.matrix.android.internal.crypto.verification.qrcode /** * Ref: https://github.com/uhoreg/matrix-doc/blob/qr_key_verification/proposals/1543-qr_code_key_verification.md#qr-code-format */ -sealed class QrCodeDataV2( +sealed class QrCodeData( /** * the event ID or transaction_id of the associated verification */ @@ -52,7 +52,7 @@ sealed class QrCodeDataV2( */ val otherUserMasterCrossSigningPublicKey: String, override val sharedSecret: String - ) : QrCodeDataV2( + ) : QrCodeData( transactionId, userMasterCrossSigningPublicKey, otherUserMasterCrossSigningPublicKey, @@ -73,7 +73,7 @@ sealed class QrCodeDataV2( */ val otherDeviceKey: String, override val sharedSecret: String - ) : QrCodeDataV2( + ) : QrCodeData( transactionId, userMasterCrossSigningPublicKey, otherDeviceKey, @@ -94,7 +94,7 @@ sealed class QrCodeDataV2( */ val userMasterCrossSigningPublicKey: String, override val sharedSecret: String - ) : QrCodeDataV2( + ) : QrCodeData( transactionId, deviceKey, userMasterCrossSigningPublicKey,