From: AsamK Date: Sun, 20 Aug 2023 20:37:25 +0000 (+0200) Subject: Fix npr when upgrading old accounts X-Git-Tag: v0.12.1~10 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/795c5f6a0480a0441a64598bbf825dc0276548aa Fix npr when upgrading old accounts --- 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); }