]> nmode's Git Repositories - signal-cli/commitdiff
Fix json deserialization for request params
authorAsamK <asamk@gmx.de>
Sat, 17 Jun 2023 10:59:55 +0000 (12:59 +0200)
committerAsamK <asamk@gmx.de>
Sat, 17 Jun 2023 10:59:55 +0000 (12:59 +0200)
Fixes #1261

graalvm-config-dir/reflect-config.json
src/main/java/org/asamk/signal/commands/FinishLinkCommand.java
src/main/java/org/asamk/signal/commands/ReceiveCommand.java
src/main/java/org/asamk/signal/commands/RegisterCommand.java
src/main/java/org/asamk/signal/commands/VerifyCommand.java

index 0952cd1b43dcc4c328250a33ba5aea6efc786b05..6a75476634b12c1ef0cfa1e28ce270fef0436036 100644 (file)
   "name":"java.util.concurrent.atomic.AtomicBoolean",
   "fields":[{"name":"value"}]
 },
+{
+  "name":"java.util.concurrent.atomic.AtomicMarkableReference",
+  "fields":[{"name":"pair"}]
+},
 {
   "name":"java.util.concurrent.atomic.AtomicReference",
   "fields":[{"name":"value"}]
   "name":"org.asamk.signal.jsonrpc.JsonRpcRequest",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
+  "allDeclaredConstructors":true,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
 },
 {
   "name":"org.asamk.signal.jsonrpc.JsonRpcResponse",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
+  "allDeclaredConstructors":true,
+  "methods":[{"name":"getError","parameterTypes":[] }, {"name":"getId","parameterTypes":[] }, {"name":"getJsonrpc","parameterTypes":[] }, {"name":"getResult","parameterTypes":[] }]
 },
 {
   "name":"org.asamk.signal.jsonrpc.JsonRpcResponse$Error",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true
+  "allDeclaredConstructors":true,
+  "methods":[{"name":"getCode","parameterTypes":[] }, {"name":"getData","parameterTypes":[] }, {"name":"getMessage","parameterTypes":[] }]
 },
 {
   "name":"org.asamk.signal.manager.api.PhoneNumberSharingMode",
 },
 {
   "name":"sun.security.provider.SecureRandom",
-  "methods":[{"name":"<init>","parameterTypes":[] }]
+  "methods":[{"name":"<init>","parameterTypes":[] }, {"name":"<init>","parameterTypes":["java.security.SecureRandomParameters"] }]
 },
 {
   "name":"sun.security.provider.certpath.PKIXCertPathValidator",
index d08520dfcfcbbcffdd8bd692dc834494f961c294..2d1422aaa0126c68c48036d3d7c17bfdbf1925ae 100644 (file)
@@ -34,6 +34,9 @@ public class FinishLinkCommand implements JsonRpcMultiCommand<FinishLinkCommand.
     public void handleCommand(
             final FinishLinkParams request, final MultiAccountManager m, final JsonWriter jsonWriter
     ) throws CommandException {
+        if (request.deviceLinkUri() == null) {
+            throw new UserErrorException("Missing deviceLinkUri.");
+        }
         final URI deviceLinkUri;
         try {
             deviceLinkUri = new URI(request.deviceLinkUri());
@@ -71,7 +74,7 @@ public class FinishLinkCommand implements JsonRpcMultiCommand<FinishLinkCommand.
         jsonWriter.write(new JsonFinishLink(number));
     }
 
-    record FinishLinkParams(String deviceLinkUri, String deviceName) {}
+    public record FinishLinkParams(String deviceLinkUri, String deviceName) {}
 
     private record JsonFinishLink(String number) {}
 }
index ab65f8377eeccf8fb1181f62ecffc9ceb38089f3..16421b62ca3139c48244149fc6082548d0cfe070 100644 (file)
@@ -112,5 +112,5 @@ public class ReceiveCommand implements LocalCommand, JsonRpcSingleCommand<Receiv
         }
     }
 
-    record ReceiveParams(Double timeout, Integer maxMessages) {}
+    public record ReceiveParams(Double timeout, Integer maxMessages) {}
 }
index 3ff6dc094fade5b1f3d623ab739c311c526b3dc3..5018b7e08face13f2754eeaafac01a0d15e549f1 100644 (file)
@@ -97,5 +97,5 @@ public class RegisterCommand implements RegistrationCommand, JsonRpcRegistration
         }
     }
 
-    record RegistrationParams(Boolean voice, String captcha) {}
+    public record RegistrationParams(Boolean voice, String captcha) {}
 }
index 542c07169aa46a424952871d86a13e2bcfa9156b..4ac26955515cbe7e73c27be723b5793aa2bc1b08 100644 (file)
@@ -77,5 +77,5 @@ public class VerifyCommand implements RegistrationCommand, JsonRpcRegistrationCo
         }
     }
 
-    record VerifyParams(String verificationCode, String pin) {}
+    public record VerifyParams(String verificationCode, String pin) {}
 }