]> nmode's Git Repositories - signal-cli/commitdiff
Improve dbus register error message if called with invalid number
authorAsamK <asamk@gmx.de>
Mon, 30 Aug 2021 11:33:54 +0000 (13:33 +0200)
committerAsamK <asamk@gmx.de>
Mon, 30 Aug 2021 11:33:54 +0000 (13:33 +0200)
lib/src/main/java/org/asamk/signal/manager/storage/SignalAccount.java
src/main/java/org/asamk/signal/BaseConfig.java
src/main/java/org/asamk/signal/dbus/DbusSignalControlImpl.java

index c972c2c7a809458c103355c40f18b751dc40331d..4e2408870cd86e0ee55f59a52df02166f313787f 100644 (file)
@@ -21,6 +21,7 @@ import org.asamk.signal.manager.storage.protocol.SignalProtocolStore;
 import org.asamk.signal.manager.storage.recipients.Contact;
 import org.asamk.signal.manager.storage.recipients.LegacyRecipientStore;
 import org.asamk.signal.manager.storage.recipients.Profile;
+import org.asamk.signal.manager.storage.recipients.RecipientAddress;
 import org.asamk.signal.manager.storage.recipients.RecipientId;
 import org.asamk.signal.manager.storage.recipients.RecipientStore;
 import org.asamk.signal.manager.storage.sessions.SessionStore;
@@ -789,7 +790,7 @@ public class SignalAccount implements Closeable {
     }
 
     public RecipientId getSelfRecipientId() {
-        return recipientStore.resolveRecipientTrusted(getSelfAddress());
+        return recipientStore.resolveRecipientTrusted(new RecipientAddress(uuid, username));
     }
 
     public String getEncryptedDeviceName() {
index bb8db7d269be60ec47a3b3cebdfcbbfbde43e4e4..04c1ac8ad7c1ec34c3cd525c9538ad79a4b961ba 100644 (file)
@@ -5,7 +5,7 @@ public class BaseConfig {
     public final static String PROJECT_NAME = BaseConfig.class.getPackage().getImplementationTitle();
     public final static String PROJECT_VERSION = BaseConfig.class.getPackage().getImplementationVersion();
 
-    final static String USER_AGENT_SIGNAL_ANDROID = "Signal-Android/5.12.4";
+    final static String USER_AGENT_SIGNAL_ANDROID = "Signal-Android/5.22.3";
     final static String USER_AGENT_SIGNAL_CLI = PROJECT_NAME == null
             ? "signal-cli"
             : PROJECT_NAME + "/" + PROJECT_VERSION;
index 35f530b0ea3c03a558d052a0f5b5e248bbdb8418..6ec8d964a4d999d7df4ab99568bec93c1df3253b 100644 (file)
@@ -13,6 +13,7 @@ import org.whispersystems.libsignal.util.Pair;
 import org.whispersystems.signalservice.api.KeyBackupServicePinException;
 import org.whispersystems.signalservice.api.KeyBackupSystemNoDataException;
 import org.whispersystems.signalservice.api.push.exceptions.CaptchaRequiredException;
+import org.whispersystems.signalservice.api.util.PhoneNumberFormatter;
 
 import java.io.IOException;
 import java.net.URI;
@@ -99,6 +100,10 @@ public class DbusSignalControlImpl implements org.asamk.SignalControl {
     public void registerWithCaptcha(
             final String number, final boolean voiceVerification, final String captcha
     ) throws Error.Failure, Error.InvalidNumber {
+        if (!PhoneNumberFormatter.isValidNumber(number, null)) {
+            throw new SignalControl.Error.InvalidNumber(
+                    "Invalid username (phone number), make sure you include the country code.");
+        }
         try (final RegistrationManager registrationManager = c.getNewRegistrationManager(number)) {
             registrationManager.register(voiceVerification, captcha);
         } catch (CaptchaRequiredException e) {