From 795c5f6a0480a0441a64598bbf825dc0276548aa Mon Sep 17 00:00:00 2001 From: AsamK Date: Sun, 20 Aug 2023 22:37:25 +0200 Subject: [PATCH] Fix npr when upgrading old accounts --- .../asamk/signal/manager/storage/SignalAccount.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/src/main/java/org/asamk/signal/manager/storage/SignalAccount.java b/lib/src/main/java/org/asamk/signal/manager/storage/SignalAccount.java index 6f1a00ee..8d719ea3 100644 --- a/lib/src/main/java/org/asamk/signal/manager/storage/SignalAccount.java +++ b/lib/src/main/java/org/asamk/signal/manager/storage/SignalAccount.java @@ -396,9 +396,7 @@ public class SignalAccount implements Closeable { this.setStorageManifest(null); this.storageKey = null; trustSelfIdentity(ServiceIdType.ACI); - if (getPniIdentityKeyPair() != null) { - trustSelfIdentity(ServiceIdType.PNI); - } + trustSelfIdentity(ServiceIdType.PNI); } private void migrateLegacyConfigs() { @@ -1373,6 +1371,7 @@ public class SignalAccount implements Closeable { } this.pni = updatedPni; + trustSelfIdentity(ServiceIdType.PNI); save(); } @@ -1676,7 +1675,11 @@ public class SignalAccount implements Closeable { private void trustSelfIdentity(ServiceIdType serviceIdType) { final var accountData = getAccountData(serviceIdType); final var serviceId = accountData.getServiceId(); - final var publicKey = accountData.getIdentityKeyPair().getPublicKey(); + final var identityKeyPair = accountData.getIdentityKeyPair(); + if (serviceId == null || identityKeyPair == null) { + return; + } + final var publicKey = identityKeyPair.getPublicKey(); getIdentityKeyStore().saveIdentity(serviceId, publicKey); getIdentityKeyStore().setIdentityTrustLevel(serviceId, publicKey, TrustLevel.TRUSTED_VERIFIED); } -- 2.50.1