]> nmode's Git Repositories - signal-cli/commitdiff
Show better error message when signal-cli version is outdated
authorAsamK <asamk@gmx.de>
Thu, 6 Oct 2022 15:52:06 +0000 (17:52 +0200)
committerAsamK <asamk@gmx.de>
Thu, 6 Oct 2022 15:55:16 +0000 (17:55 +0200)
lib/src/main/java/org/asamk/signal/manager/SignalAccountFiles.java
lib/src/main/java/org/asamk/signal/manager/helper/AccountHelper.java

index 305b061d53be124d0d288aac0b8cd7dbf4aa1413..9d0b344a97c3c8be4fbf2c8494e2098fbd945834 100644 (file)
@@ -12,6 +12,7 @@ import org.asamk.signal.manager.util.KeyUtils;
 import org.signal.libsignal.protocol.util.KeyHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.whispersystems.signalservice.api.push.exceptions.DeprecatedVersionException;
 
 import java.io.File;
 import java.io.IOException;
@@ -114,6 +115,9 @@ public class SignalAccountFiles {
 
         try {
             manager.checkAccountState();
+        } catch (DeprecatedVersionException e) {
+            manager.close();
+            throw new AccountCheckException("signal-cli version is too old for the Signal-Server, please update.");
         } catch (IOException e) {
             manager.close();
             throw new AccountCheckException("Error while checking account " + number + ": " + e.getMessage(), e);
index 99a0834e32b98674ee782f78fd099f3e062f846d..ce45dd2c2dea69e231d18b0d17f5fd72f5a665da 100644 (file)
@@ -18,6 +18,7 @@ import org.whispersystems.signalservice.api.push.ACI;
 import org.whispersystems.signalservice.api.push.PNI;
 import org.whispersystems.signalservice.api.push.SignedPreKeyEntity;
 import org.whispersystems.signalservice.api.push.exceptions.AuthorizationFailedException;
+import org.whispersystems.signalservice.api.push.exceptions.DeprecatedVersionException;
 import org.whispersystems.signalservice.api.util.DeviceNameUtil;
 import org.whispersystems.signalservice.internal.push.OutgoingPushMessage;
 
@@ -73,6 +74,9 @@ public class AccountHelper {
                     && account.getRegistrationLockPin() != null) {
                 migrateRegistrationPin();
             }
+        } catch (DeprecatedVersionException e) {
+            logger.debug("Signal-Server returned deprecated version exception", e);
+            throw e;
         } catch (AuthorizationFailedException e) {
             account.setRegistered(false);
             throw e;