From c94da00212c512f2a3084d33779a3b2dcdba8320 Mon Sep 17 00:00:00 2001 From: AsamK Date: Sat, 21 Mar 2026 22:32:31 +0100 Subject: [PATCH] Update libsignal-service --- gradle/libs.versions.toml | 2 +- .../signal/manager/config/ServiceConfig.java | 1 + .../manager/internal/SignalDependencies.java | 1 + run_tests.sh | 4 +- .../signal-cli/reachability-metadata.json | 162 +++++++++++++++++- 5 files changed, 165 insertions(+), 5 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 3df9835e..dbf9b4dc 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -12,7 +12,7 @@ slf4j-api = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" } slf4j-jul = { module = "org.slf4j:jul-to-slf4j", version.ref = "slf4j" } logback = "ch.qos.logback:logback-classic:1.5.32" -signalservice = "com.github.turasa:signal-service-java:2.15.3_unofficial_140" +signalservice = "com.github.turasa:signal-service-java:2.15.3_unofficial_141" sqlite = "org.xerial:sqlite-jdbc:3.51.2.0" hikari = "com.zaxxer:HikariCP:7.0.2" junit-jupiter-bom = { module = "org.junit:junit-bom", version.ref = "junit" } diff --git a/lib/src/main/java/org/asamk/signal/manager/config/ServiceConfig.java b/lib/src/main/java/org/asamk/signal/manager/config/ServiceConfig.java index ace962d2..c2109f86 100644 --- a/lib/src/main/java/org/asamk/signal/manager/config/ServiceConfig.java +++ b/lib/src/main/java/org/asamk/signal/manager/config/ServiceConfig.java @@ -20,6 +20,7 @@ public class ServiceConfig { public static final int MAX_ATTACHMENT_SIZE = 150 * 1024 * 1024; public static final long MAX_ENVELOPE_SIZE = 0; + public static final int MAX_INCREMENTAL_MACS_PER_ENVELOPE = 10; public static final int MAX_MESSAGE_SIZE_BYTES = 2000; public static final long AVATAR_DOWNLOAD_FAILSAFE_MAX_SIZE = 10 * 1024 * 1024; public static final boolean AUTOMATIC_NETWORK_RETRY = true; diff --git a/lib/src/main/java/org/asamk/signal/manager/internal/SignalDependencies.java b/lib/src/main/java/org/asamk/signal/manager/internal/SignalDependencies.java index 47eec0c0..4f543d88 100644 --- a/lib/src/main/java/org/asamk/signal/manager/internal/SignalDependencies.java +++ b/lib/src/main/java/org/asamk/signal/manager/internal/SignalDependencies.java @@ -328,6 +328,7 @@ public class SignalDependencies { Optional.empty(), executor, ServiceConfig.MAX_ENVELOPE_SIZE, + ServiceConfig.MAX_INCREMENTAL_MACS_PER_ENVELOPE, () -> true, true, true)); diff --git a/run_tests.sh b/run_tests.sh index 4ca0ad21..81d2c007 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -50,9 +50,9 @@ run() { if [ "$JSON_RPC" -eq 1 ]; then "$SIGNAL_CLI" $@ elif [ "$DBUS" -eq 1 ]; then - "$SIGNAL_CLI" --dbus --verbose --verbose $@ | grep -v '^Warning:' | grep -v 'at org' + "$SIGNAL_CLI" --dbus --verbose --verbose $@ | grep -v 'Warning:' | grep -v 'at org' else - "$SIGNAL_CLI" --service-environment="staging" --verbose --verbose $@ | grep -v '^Warning:' | grep -v 'at org' + "$SIGNAL_CLI" --service-environment="staging" --verbose --verbose $@ | grep -v 'Warning:' | grep -v 'at org' fi set +x } diff --git a/src/main/resources/META-INF/native-image/org.asamk/signal-cli/reachability-metadata.json b/src/main/resources/META-INF/native-image/org.asamk/signal-cli/reachability-metadata.json index 39e337d5..2bc14de8 100644 --- a/src/main/resources/META-INF/native-image/org.asamk/signal-cli/reachability-metadata.json +++ b/src/main/resources/META-INF/native-image/org.asamk/signal-cli/reachability-metadata.json @@ -1476,6 +1476,20 @@ } ] }, + { + "type": "kotlin.Pair", + "jniAccessible": true, + "methods": [ + { + "name": "getFirst", + "parameterTypes": [] + }, + { + "name": "getSecond", + "parameterTypes": [] + } + ] + }, { "type": "kotlin.SafePublicationLazyImpl", "fields": [ @@ -5382,6 +5396,18 @@ { "type": "org.signal.core.models.ServiceId$PNI" }, + { + "type": "org.signal.libsignal.attest.AttestationDataException", + "jniAccessible": true, + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.String" + ] + } + ] + }, { "type": "org.signal.libsignal.internal.CompletableFuture", "jniAccessible": true, @@ -5693,6 +5719,78 @@ { "type": "org.signal.libsignal.protocol.SessionCipher$1", "jniAccessible": true, + "methods": [ + { + "name": "getIdentityKey", + "parameterTypes": [ + "long" + ] + }, + { + "name": "getLocalIdentityKeyPair", + "parameterTypes": [] + }, + { + "name": "getLocalRegistrationId", + "parameterTypes": [] + }, + { + "name": "isTrustedIdentity", + "parameterTypes": [ + "long", + "long", + "int" + ] + }, + { + "name": "loadPreKey", + "parameterTypes": [ + "int" + ] + }, + { + "name": "removePreKey", + "parameterTypes": [ + "int" + ] + }, + { + "name": "saveIdentityKey", + "parameterTypes": [ + "long", + "long" + ] + } + ] + }, + { + "type": "org.signal.libsignal.protocol.SessionCipher$2", + "jniAccessible": true, + "methods": [ + { + "name": "loadSession", + "parameterTypes": [ + "long" + ] + }, + { + "name": "loadSignedPreKey", + "parameterTypes": [ + "int" + ] + }, + { + "name": "storeSession", + "parameterTypes": [ + "long", + "long" + ] + } + ] + }, + { + "type": "org.signal.libsignal.protocol.SessionCipher$3", + "jniAccessible": true, "methods": [ { "name": "loadPreKey", @@ -5709,7 +5807,7 @@ ] }, { - "type": "org.signal.libsignal.protocol.SessionCipher$2", + "type": "org.signal.libsignal.protocol.SessionCipher$4", "jniAccessible": true, "methods": [ { @@ -5720,6 +5818,26 @@ } ] }, + { + "type": "org.signal.libsignal.protocol.SessionCipher$5", + "jniAccessible": true, + "methods": [ + { + "name": "loadKyberPreKey", + "parameterTypes": [ + "int" + ] + }, + { + "name": "markKyberPreKeyUsed", + "parameterTypes": [ + "int", + "int", + "long" + ] + } + ] + }, { "type": "org.signal.libsignal.protocol.SignalProtocolAddress", "jniAccessible": true, @@ -5751,6 +5869,9 @@ } ] }, + { + "type": "org.signal.libsignal.protocol.ecc.ECPrivateKey" + }, { "type": "org.signal.libsignal.protocol.ecc.ECPublicKey", "jniAccessible": true, @@ -5775,6 +5896,27 @@ } ] }, + { + "type": "org.signal.libsignal.protocol.groups.GroupCipher$1", + "jniAccessible": true, + "methods": [ + { + "name": "loadSenderKey", + "parameterTypes": [ + "long", + "java.util.UUID" + ] + }, + { + "name": "storeSenderKey", + "parameterTypes": [ + "long", + "java.util.UUID", + "long" + ] + } + ] + }, { "type": "org.signal.libsignal.protocol.groups.state.SenderKeyRecord", "jniAccessible": true, @@ -5966,10 +6108,26 @@ "allDeclaredMethods": true, "jniAccessible": true }, + { + "type": "org.signal.libsignal.protocol.state.internal.IdentityKeyStore", + "jniAccessible": true + }, + { + "type": "org.signal.libsignal.protocol.state.internal.KyberPreKeyStore", + "jniAccessible": true + }, { "type": "org.signal.libsignal.protocol.state.internal.PreKeyStore", "jniAccessible": true }, + { + "type": "org.signal.libsignal.protocol.state.internal.SenderKeyStore", + "jniAccessible": true + }, + { + "type": "org.signal.libsignal.protocol.state.internal.SessionStore", + "jniAccessible": true + }, { "type": "org.signal.libsignal.protocol.state.internal.SignedPreKeyStore", "jniAccessible": true @@ -9811,4 +9969,4 @@ "bundle": "net.sourceforge.argparse4j.internal.ArgumentParserImpl" } ] -} +} \ No newline at end of file