]> nmode's Git Repositories - signal-cli/commitdiff
Minor fixes
authorAsamK <asamk@gmx.de>
Sun, 2 May 2021 21:20:59 +0000 (23:20 +0200)
committerAsamK <asamk@gmx.de>
Mon, 3 May 2021 16:43:45 +0000 (18:43 +0200)
lib/src/main/java/org/asamk/signal/manager/RegistrationManager.java
lib/src/main/java/org/asamk/signal/manager/helper/PinHelper.java
lib/src/main/java/org/asamk/signal/manager/storage/SignalAccount.java
lib/src/main/java/org/asamk/signal/manager/storage/recipients/RecipientStore.java
lib/src/main/java/org/asamk/signal/manager/util/ProfileUtils.java

index 72c9972987a1e402dae4584523ff9d37b4f44ef4..e95cb458b74578249610cab2d610e3728a190cc5 100644 (file)
@@ -124,7 +124,7 @@ public class RegistrationManager implements Closeable {
 
     public Manager verifyAccount(
             String verificationCode, String pin
 
     public Manager verifyAccount(
             String verificationCode, String pin
-    ) throws IOException, KeyBackupSystemNoDataException, KeyBackupServicePinException {
+    ) throws IOException, LockedException, KeyBackupSystemNoDataException, KeyBackupServicePinException {
         verificationCode = verificationCode.replace("-", "");
         VerifyAccountResponse response;
         MasterKey masterKey;
         verificationCode = verificationCode.replace("-", "");
         VerifyAccountResponse response;
         MasterKey masterKey;
index cf98c4c91463941bd7132c8dce77af42521c4057..b0f66f15c1c8630db135ce019cce0d265a363b8d 100644 (file)
@@ -53,7 +53,7 @@ public class PinHelper {
     ) throws IOException, KeyBackupSystemNoDataException, KeyBackupServicePinException {
         var tokenResponse = keyBackupService.getToken(basicStorageCredentials);
         if (tokenResponse == null || tokenResponse.getTries() == 0) {
     ) throws IOException, KeyBackupSystemNoDataException, KeyBackupServicePinException {
         var tokenResponse = keyBackupService.getToken(basicStorageCredentials);
         if (tokenResponse == null || tokenResponse.getTries() == 0) {
-            throw new IOException("KBS Account locked");
+            throw new IOException("KBS Account locked, maximum pin attempts reached.");
         }
 
         var registrationLockData = restoreMasterKey(pin, basicStorageCredentials, tokenResponse);
         }
 
         var registrationLockData = restoreMasterKey(pin, basicStorageCredentials, tokenResponse);
index 6b05faa6c01371546f3470e29efcf25bc554ea4f..6d920cf6ed1b86cb0edba7cc92b06ca73fbd295d 100644 (file)
@@ -229,7 +229,13 @@ public class SignalAccount implements Closeable {
     }
 
     private static File getUserPath(final File dataPath, final String username) {
     }
 
     private static File getUserPath(final File dataPath, final String username) {
-        return new File(dataPath, username + ".d");
+        final var path = new File(dataPath, username + ".d");
+        try {
+            IOUtils.createPrivateDirectories(path);
+        } catch (IOException e) {
+            throw new AssertionError("Failed to create user path", e);
+        }
+        return path;
     }
 
     private static File getMessageCachePath(File dataPath, String username) {
     }
 
     private static File getMessageCachePath(File dataPath, String username) {
index b400e45d4c9ab1b2ddbf1c5e44cecb5c93f35048..0051e734fd86314b40a92176ef2a07ab47c04c91 100644 (file)
@@ -136,7 +136,7 @@ public class RecipientStore implements ContactsStore, ProfileStore {
 
     @Deprecated
     public SignalServiceAddress resolveServiceAddress(SignalServiceAddress address) {
 
     @Deprecated
     public SignalServiceAddress resolveServiceAddress(SignalServiceAddress address) {
-        return resolveServiceAddress(resolveRecipient(address, true));
+        return resolveServiceAddress(resolveRecipient(address, false));
     }
 
     public RecipientId resolveRecipient(UUID uuid) {
     }
 
     public RecipientId resolveRecipient(UUID uuid) {
@@ -331,9 +331,8 @@ public class RecipientStore implements ContactsStore, ProfileStore {
     private void updateRecipientAddressLocked(
             final RecipientId recipientId, final SignalServiceAddress address
     ) {
     private void updateRecipientAddressLocked(
             final RecipientId recipientId, final SignalServiceAddress address
     ) {
-        final var nextRecipientId = nextIdLocked();
         final var recipient = recipients.get(recipientId);
         final var recipient = recipients.get(recipientId);
-        storeRecipientLocked(nextRecipientId, Recipient.newBuilder(recipient).withAddress(address).build());
+        storeRecipientLocked(recipientId, Recipient.newBuilder(recipient).withAddress(address).build());
     }
 
     private void storeRecipientLocked(
     }
 
     private void storeRecipientLocked(
index 244f34f6bfe815c489fe9b3b3377149cc46392c3..b1a8ed94161f1d78e1efc91036150531f47e1d72 100644 (file)
@@ -71,6 +71,9 @@ public class ProfileUtils {
     }
 
     private static Pair<String, String> splitName(String name) {
     }
 
     private static Pair<String, String> splitName(String name) {
+        if (name == null) {
+            return new Pair<>(null, null);
+        }
         String[] parts = name.split("\0");
 
         switch (parts.length) {
         String[] parts = name.split("\0");
 
         switch (parts.length) {