diff --git a/app/src/main/java/org/thoughtcrime/securesms/crypto/storage/TextSecureSessionStore.java b/app/src/main/java/org/thoughtcrime/securesms/crypto/storage/TextSecureSessionStore.java index 9401bfc08d..00a2ba896e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/crypto/storage/TextSecureSessionStore.java +++ b/app/src/main/java/org/thoughtcrime/securesms/crypto/storage/TextSecureSessionStore.java @@ -142,10 +142,6 @@ public class TextSecureSessionStore implements SignalServiceSessionStore { if (recipient.getHasPni()) { archiveSession(new SignalProtocolAddress(recipient.requirePni().toString(), deviceId)); } - - if (recipient.getHasE164()) { - archiveSession(new SignalProtocolAddress(recipient.requireE164(), deviceId)); - } } } @@ -164,12 +160,6 @@ public class TextSecureSessionStore implements SignalServiceSessionStore { archiveSiblingSessions(address); archiveSession(address); } - - if (recipient.getHasE164()) { - SignalProtocolAddress address = new SignalProtocolAddress(recipient.requireE164(), 1); - archiveSiblingSessions(address); - archiveSession(address); - } } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/helpers/SignalDatabaseMigrations.kt b/app/src/main/java/org/thoughtcrime/securesms/database/helpers/SignalDatabaseMigrations.kt index ca931c089c..2b452de00f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/helpers/SignalDatabaseMigrations.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/helpers/SignalDatabaseMigrations.kt @@ -167,6 +167,7 @@ import org.thoughtcrime.securesms.database.helpers.migration.V311_AddAttachmentM import org.thoughtcrime.securesms.database.helpers.migration.V312_RefactorNameCollisionTables import org.thoughtcrime.securesms.database.helpers.migration.V313_AddCollapsingUpdateColumns import org.thoughtcrime.securesms.database.helpers.migration.V314_FixMessageRequestAcceptedToRecipient +import org.thoughtcrime.securesms.database.helpers.migration.V315_CleanupE164SenderKeyShared import org.thoughtcrime.securesms.database.SQLiteDatabase as SignalSqliteDatabase /** @@ -341,10 +342,11 @@ object SignalDatabaseMigrations { 311 to V311_AddAttachmentMediaOverviewSizeIndex, 312 to V312_RefactorNameCollisionTables, 313 to V313_AddCollapsingUpdateColumns, - 314 to V314_FixMessageRequestAcceptedToRecipient + 314 to V314_FixMessageRequestAcceptedToRecipient, + 315 to V315_CleanupE164SenderKeyShared ) - const val DATABASE_VERSION = 314 + const val DATABASE_VERSION = 315 @JvmStatic fun migrate(context: Application, db: SignalSqliteDatabase, oldVersion: Int, newVersion: Int) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/helpers/migration/V315_CleanupE164SenderKeyShared.kt b/app/src/main/java/org/thoughtcrime/securesms/database/helpers/migration/V315_CleanupE164SenderKeyShared.kt new file mode 100644 index 0000000000..add595883d --- /dev/null +++ b/app/src/main/java/org/thoughtcrime/securesms/database/helpers/migration/V315_CleanupE164SenderKeyShared.kt @@ -0,0 +1,11 @@ +package org.thoughtcrime.securesms.database.helpers.migration + +import android.app.Application +import org.thoughtcrime.securesms.database.SQLiteDatabase + +@Suppress("ClassName") +object V315_CleanupE164SenderKeyShared : SignalDatabaseMigration { + override fun migrate(context: Application, db: SQLiteDatabase, oldVersion: Int, newVersion: Int) { + db.execSQL("DELETE FROM sender_key_shared WHERE address LIKE '+%'") + } +} diff --git a/app/src/test/java/org/thoughtcrime/securesms/crypto/storage/SignalBaseIdentityKeyStoreTest.kt b/app/src/test/java/org/thoughtcrime/securesms/crypto/storage/SignalBaseIdentityKeyStoreTest.kt index aa7de17968..98282d6437 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/crypto/storage/SignalBaseIdentityKeyStoreTest.kt +++ b/app/src/test/java/org/thoughtcrime/securesms/crypto/storage/SignalBaseIdentityKeyStoreTest.kt @@ -7,16 +7,18 @@ import io.mockk.verify import org.junit.Assert.assertEquals import org.junit.Before import org.junit.Test +import org.signal.core.models.ServiceId import org.signal.libsignal.protocol.IdentityKey import org.signal.libsignal.protocol.SignalProtocolAddress import org.signal.libsignal.protocol.ecc.ECPublicKey import org.thoughtcrime.securesms.database.IdentityTable import org.thoughtcrime.securesms.database.model.IdentityStoreRecord import org.whispersystems.signalservice.test.LibSignalLibraryUtil.assumeLibSignalSupportedOnOS +import java.util.UUID class SignalBaseIdentityKeyStoreTest { companion object { - private const val ADDRESS = "address1" + private val ADDRESS = ServiceId.parseOrThrow(UUID.randomUUID().toString()).toString() } @Before diff --git a/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/SignalServiceMessageSender.java b/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/SignalServiceMessageSender.java index e61b283325..dc5928a0c8 100644 --- a/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/SignalServiceMessageSender.java +++ b/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/SignalServiceMessageSender.java @@ -3059,10 +3059,6 @@ public class SignalServiceMessageSender { for (int staleDeviceId : devices) { addresses.add(new SignalProtocolAddress(recipient.getServiceId().toString(), staleDeviceId)); - - if (recipient.getNumber().isPresent()) { - addresses.add(new SignalProtocolAddress(recipient.getNumber().get(), staleDeviceId)); - } } return addresses;