From: AsamK Date: Thu, 18 Nov 2021 18:23:11 +0000 (+0100) Subject: Update libsignal-service-java X-Git-Tag: v0.10.0~40 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/c9dffe47f6588b114cef2935d5756d092c9d827a Update libsignal-service-java --- diff --git a/README.md b/README.md index 6ed024d0..dcfbad66 100644 --- a/README.md +++ b/README.md @@ -22,9 +22,9 @@ a [FreeBSD port](https://www.freshports.org/net-im/signal-cli) available as well System requirements: - at least Java Runtime Environment (JRE) 17 -- native libraries: libzkgroup, libsignal-client +- native library: libsignal-client - Those are bundled for x86_64 Linux (with recent enough glibc, see #643), for other systems/architectures + The native lib is bundled for x86_64 Linux (with recent enough glibc, see #643), for other systems/architectures see: [Provide native lib for libsignal](https://github.com/AsamK/signal-cli/wiki/Provide-native-lib-for-libsignal) ### Install system-wide on Linux diff --git a/graalvm-config-dir/jni-config.json b/graalvm-config-dir/jni-config.json index 7209e355..945107ca 100644 --- a/graalvm-config-dir/jni-config.json +++ b/graalvm-config-dir/jni-config.json @@ -32,7 +32,11 @@ , { "name":"java.util.UUID", - "methods":[{"name":"","parameterTypes":["long","long"] }]} + "methods":[ + {"name":"","parameterTypes":["long","long"] }, + {"name":"getLeastSignificantBits","parameterTypes":[] }, + {"name":"getMostSignificantBits","parameterTypes":[] } + ]} , { "name":"jdk.internal.loader.ClassLoaders$PlatformClassLoader"} diff --git a/graalvm-config-dir/resource-config.json b/graalvm-config-dir/resource-config.json index 91106997..54fbfb2a 100644 --- a/graalvm-config-dir/resource-config.json +++ b/graalvm-config-dir/resource-config.json @@ -31,6 +31,9 @@ { "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BD\\E" }, + { + "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BE\\E" + }, { "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BM\\E" }, @@ -76,6 +79,9 @@ { "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IT\\E" }, + { + "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JP\\E" + }, { "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MO\\E" }, @@ -104,13 +110,13 @@ "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_US\\E" }, { - "pattern":"\\Qjni/x86_64-Linux/libjffi-1.2.so\\E" + "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_XK\\E" }, { - "pattern":"\\Qlibsignal_jni.so\\E" + "pattern":"\\Qjni/x86_64-Linux/libjffi-1.2.so\\E" }, { - "pattern":"\\Qlibzkgroup.so\\E" + "pattern":"\\Qlibsignal_jni.so\\E" }, { "pattern":"\\Qorg/asamk/signal/manager/config/ias.store\\E" diff --git a/lib/build.gradle.kts b/lib/build.gradle.kts index 54c23a0d..73a0e559 100644 --- a/lib/build.gradle.kts +++ b/lib/build.gradle.kts @@ -14,7 +14,7 @@ repositories { } dependencies { - implementation("com.github.turasa:signal-service-java:2.15.3_unofficial_33") + implementation("com.github.turasa:signal-service-java:2.15.3_unofficial_34") api("com.fasterxml.jackson.core", "jackson-databind", "2.13.0") implementation("com.google.protobuf:protobuf-javalite:3.11.4") implementation("org.bouncycastle:bcprov-jdk15on:1.69") 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 6ff29c55..e84a5c16 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 @@ -1,6 +1,5 @@ package org.asamk.signal.manager.config; -import org.signal.zkgroup.internal.Native; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.whispersystems.signalservice.api.account.AccountAttributes; @@ -31,21 +30,7 @@ public class ServiceConfig { public static final AccountAttributes.Capabilities capabilities; static { - boolean zkGroupAvailable; - try { - Native.serverPublicParamsCheckValidContentsJNI(new byte[]{}); - zkGroupAvailable = true; - } catch (Throwable e) { - logger.warn("Failed to call libzkgroup: {}", e.getMessage()); - zkGroupAvailable = false; - } - capabilities = new AccountAttributes.Capabilities(false, - zkGroupAvailable, - false, - zkGroupAvailable, - true, - true, - false); + capabilities = new AccountAttributes.Capabilities(false, true, false, true, true, true, false); try { TrustStore contactTrustStore = new IasTrustStore(); @@ -60,10 +45,6 @@ public class ServiceConfig { } } - public static boolean isZkgroupAvailable() { - return ServiceConfig.getCapabilities().isGv2(); - } - public static boolean isSignalClientAvailable() { try { org.signal.client.internal.Native.DeviceTransfer_GeneratePrivateKey(); diff --git a/lib/src/main/java/org/asamk/signal/manager/helper/GroupAuthorizationProvider.java b/lib/src/main/java/org/asamk/signal/manager/helper/GroupAuthorizationProvider.java deleted file mode 100644 index d26ebb06..00000000 --- a/lib/src/main/java/org/asamk/signal/manager/helper/GroupAuthorizationProvider.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.asamk.signal.manager.helper; - -import org.signal.zkgroup.groups.GroupSecretParams; -import org.whispersystems.signalservice.api.groupsv2.GroupsV2AuthorizationString; - -import java.io.IOException; - -public interface GroupAuthorizationProvider { - - GroupsV2AuthorizationString getAuthorizationForToday(GroupSecretParams groupSecretParams) throws IOException; -} diff --git a/lib/src/main/java/org/asamk/signal/manager/helper/ProfileHelper.java b/lib/src/main/java/org/asamk/signal/manager/helper/ProfileHelper.java index 57e8085d..5314fe77 100644 --- a/lib/src/main/java/org/asamk/signal/manager/helper/ProfileHelper.java +++ b/lib/src/main/java/org/asamk/signal/manager/helper/ProfileHelper.java @@ -23,7 +23,6 @@ import org.whispersystems.signalservice.api.push.SignalServiceAddress; import org.whispersystems.signalservice.api.push.exceptions.NotFoundException; import org.whispersystems.signalservice.api.push.exceptions.PushNetworkException; import org.whispersystems.signalservice.api.services.ProfileService; -import org.whispersystems.signalservice.internal.ServiceResponse; import java.io.File; import java.io.IOException; @@ -306,22 +305,10 @@ public final class ProfileHelper { Optional unidentifiedAccess, SignalServiceProfile.RequestType requestType ) { - var profileService = dependencies.getProfileService(); - - Single> responseSingle; + final var profileService = dependencies.getProfileService(); final var locale = Utils.getDefaultLocale(); - try { - responseSingle = profileService.getProfile(address, profileKey, unidentifiedAccess, requestType, locale); - } catch (NoClassDefFoundError e) { - // Native zkgroup lib not available for ProfileKey - responseSingle = profileService.getProfile(address, - Optional.absent(), - unidentifiedAccess, - requestType, - locale); - } - return responseSingle.map(pair -> { + return profileService.getProfile(address, profileKey, unidentifiedAccess, requestType, locale).map(pair -> { var processor = new ProfileService.ProfileResponseProcessor(pair); if (processor.hasResult()) { return processor.getResult(); diff --git a/src/main/java/org/asamk/signal/App.java b/src/main/java/org/asamk/signal/App.java index e97f28d9..564e08d2 100644 --- a/src/main/java/org/asamk/signal/App.java +++ b/src/main/java/org/asamk/signal/App.java @@ -142,11 +142,6 @@ public class App { dataPath = getDefaultDataPath(); } - if (!ServiceConfig.isZkgroupAvailable()) { - logger.warn("WARNING: Support for new group V2 is disabled," - + " because the required native library dependency is missing: libzkgroup"); - } - if (!ServiceConfig.isSignalClientAvailable()) { throw new UserErrorException("Missing required native library dependency: libsignal-client"); }