From 419beee29a495fef141f87c95185407d42cf495f Mon Sep 17 00:00:00 2001 From: AsamK Date: Sat, 6 Apr 2024 13:56:25 +0200 Subject: [PATCH] Update libsignal-service-java --- graalvm-config-dir/reflect-config.json | 8 ++++++++ .../manager/helper/RecipientHelper.java | 2 +- .../manager/internal/SignalDependencies.java | 7 +++++++ .../syncStorage/ContactRecordProcessor.java | 19 ++----------------- settings.gradle.kts | 4 ++-- 5 files changed, 20 insertions(+), 20 deletions(-) diff --git a/graalvm-config-dir/reflect-config.json b/graalvm-config-dir/reflect-config.json index e3b47e86b..252839b2f 100644 --- a/graalvm-config-dir/reflect-config.json +++ b/graalvm-config-dir/reflect-config.json @@ -1384,6 +1384,10 @@ "name":"org.bouncycastle.jcajce.provider.asymmetric.COMPOSITE$Mappings", "methods":[{"name":"","parameterTypes":[] }] }, +{ + "name":"org.bouncycastle.jcajce.provider.asymmetric.CompositeSignatures$Mappings", + "methods":[{"name":"","parameterTypes":[] }] +}, { "name":"org.bouncycastle.jcajce.provider.asymmetric.DH$Mappings", "methods":[{"name":"","parameterTypes":[] }] @@ -2748,6 +2752,10 @@ "name":"org.whispersystems.signalservice.internal.storage.protos.ContactRecord", "allDeclaredFields":true }, +{ + "name":"org.whispersystems.signalservice.internal.storage.protos.ContactRecord$Name", + "allDeclaredFields":true +}, { "name":"org.whispersystems.signalservice.internal.storage.protos.GroupV1Record", "allDeclaredFields":true diff --git a/lib/src/main/java/org/asamk/signal/manager/helper/RecipientHelper.java b/lib/src/main/java/org/asamk/signal/manager/helper/RecipientHelper.java index ab87996de..deb4e01bc 100644 --- a/lib/src/main/java/org/asamk/signal/manager/helper/RecipientHelper.java +++ b/lib/src/main/java/org/asamk/signal/manager/helper/RecipientHelper.java @@ -233,7 +233,7 @@ private Map getRegisteredUsersV2( token, dependencies.getServiceEnvironmentConfig().cdsiMrenclave(), null, - dependencies.getServiceEnvironmentConfig().netEnvironment(), + dependencies.getLibSignalNetwork(), newToken -> { if (isPartialRefresh) { account.getCdsiStore().updateAfterPartialCdsQuery(newNumbers); 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 561534c5c..b715611e1 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 @@ -3,6 +3,7 @@ import org.asamk.signal.manager.config.ServiceConfig; import org.asamk.signal.manager.config.ServiceEnvironmentConfig; import org.signal.libsignal.metadata.certificate.CertificateValidator; +import org.signal.libsignal.net.Network; import org.signal.libsignal.zkgroup.profiles.ClientZkProfileOperations; import org.whispersystems.signalservice.api.SignalServiceAccountManager; import org.whispersystems.signalservice.api.SignalServiceDataStore; @@ -48,6 +49,7 @@ public class SignalDependencies { private ClientZkOperations clientZkOperations; private PushServiceSocket pushServiceSocket; + private Network libSignalNetwork; private SignalWebSocket signalWebSocket; private SignalServiceMessageReceiver messageReceiver; private SignalServiceMessageSender messageSender; @@ -104,6 +106,11 @@ public PushServiceSocket getPushServiceSocket() { ServiceConfig.AUTOMATIC_NETWORK_RETRY)); } + public Network getLibSignalNetwork() { + return getOrCreate(() -> libSignalNetwork, + () -> libSignalNetwork = new Network(serviceEnvironmentConfig.netEnvironment())); + } + public SignalServiceAccountManager getAccountManager() { return getOrCreate(() -> accountManager, () -> accountManager = new SignalServiceAccountManager(getPushServiceSocket(), diff --git a/lib/src/main/java/org/asamk/signal/manager/syncStorage/ContactRecordProcessor.java b/lib/src/main/java/org/asamk/signal/manager/syncStorage/ContactRecordProcessor.java index 28e7b6635..cd1e107c3 100644 --- a/lib/src/main/java/org/asamk/signal/manager/syncStorage/ContactRecordProcessor.java +++ b/lib/src/main/java/org/asamk/signal/manager/syncStorage/ContactRecordProcessor.java @@ -104,23 +104,6 @@ protected SignalContactRecord merge( profileFamilyName = local.getProfileFamilyName().orElse(""); } - String nicknameGivenName; - String nicknameFamilyName; - if (remote.getNicknameGivenName().isPresent()) { - nicknameGivenName = remote.getNicknameGivenName().orElse(""); - nicknameFamilyName = remote.getNicknameFamilyName().orElse(""); - } else { - nicknameGivenName = local.getNicknameGivenName().orElse(""); - nicknameFamilyName = local.getNicknameFamilyName().orElse(""); - } - - if (nicknameGivenName.isBlank() && !nicknameFamilyName.isBlank()) { - logger.debug("Processed invalid nickname. Missing given name."); - - nicknameGivenName = ""; - nicknameFamilyName = ""; - } - IdentityState identityState; byte[] identityKey; if (remote.getIdentityKey().isPresent() && ( @@ -197,6 +180,8 @@ protected SignalContactRecord merge( ? local.getSystemFamilyName().orElse("") : remote.getSystemFamilyName().orElse(""); final var systemNickname = remote.getSystemNickname().orElse(""); + final var nicknameGivenName = remote.getNicknameGivenName().orElse(""); + final var nicknameFamilyName = remote.getNicknameFamilyName().orElse(""); final var pniSignatureVerified = remote.isPniSignatureVerified() || local.isPniSignatureVerified(); final var note = remote.getNote().or(local::getNote).orElse(""); diff --git a/settings.gradle.kts b/settings.gradle.kts index ad9d632b6..8ef7a6e99 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -6,7 +6,7 @@ dependencyResolutionManagement { versionCatalogs { create("libs") { - library("bouncycastle", "org.bouncycastle", "bcprov-jdk18on").version("1.77") + library("bouncycastle", "org.bouncycastle", "bcprov-jdk18on").version("1.78") library("jackson.databind", "com.fasterxml.jackson.core", "jackson-databind").version("2.17.0") library("argparse4j", "net.sourceforge.argparse4j", "argparse4j").version("0.9.0") library("dbusjava", "com.github.hypfvieh", "dbus-java-transport-native-unixsocket").version("5.0.0") @@ -15,7 +15,7 @@ dependencyResolutionManagement { library("slf4j.jul", "org.slf4j", "jul-to-slf4j").versionRef("slf4j") library("logback", "ch.qos.logback", "logback-classic").version("1.5.3") - library("signalservice", "com.github.turasa", "signal-service-java").version("2.15.3_unofficial_99") + library("signalservice", "com.github.turasa", "signal-service-java").version("2.15.3_unofficial_100") library("sqlite", "org.xerial", "sqlite-jdbc").version("3.45.2.0") library("hikari", "com.zaxxer", "HikariCP").version("5.1.0") library("junit.jupiter", "org.junit.jupiter", "junit-jupiter").version("5.10.2")