]> nmode's Git Repositories - signal-cli/blobdiff - lib/src/main/java/org/asamk/signal/manager/util/NumberVerificationUtils.java
Improve behavior when pin data doesn't exist on the server
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / util / NumberVerificationUtils.java
index 921d7fc176e1563d325be43c7b1309eaee73d124..659a8c676addafe6b0d08a7f362f7429d3832214 100644 (file)
@@ -4,6 +4,7 @@ import org.asamk.signal.manager.api.CaptchaRequiredException;
 import org.asamk.signal.manager.api.IncorrectPinException;
 import org.asamk.signal.manager.api.NonNormalizedPhoneNumberException;
 import org.asamk.signal.manager.api.Pair;
+import org.asamk.signal.manager.api.PinLockMissingException;
 import org.asamk.signal.manager.api.PinLockedException;
 import org.asamk.signal.manager.api.RateLimitException;
 import org.asamk.signal.manager.api.VerificationMethodNotAvailableException;
@@ -114,7 +115,7 @@ public class NumberVerificationUtils {
             String pin,
             PinHelper pinHelper,
             Verifier verifier
-    ) throws IOException, PinLockedException, IncorrectPinException {
+    ) throws IOException, PinLockedException, IncorrectPinException, PinLockMissingException {
         verificationCode = verificationCode.replace("-", "");
         try {
             final var response = verifier.verify(sessionId, verificationCode, null);
@@ -127,7 +128,7 @@ public class NumberVerificationUtils {
 
             final var registrationLockData = pinHelper.getRegistrationLockData(pin, e);
             if (registrationLockData == null) {
-                throw e;
+                throw new PinLockMissingException();
             }
 
             var registrationLock = registrationLockData.getMasterKey().deriveRegistrationLock();