From: AsamK Date: Sat, 21 Nov 2020 10:47:06 +0000 (+0100) Subject: Update dependencies X-Git-Tag: v0.6.12~11 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/b0502f9f825b2fe7a76b45909b8f57abfc11c891?ds=inline Update dependencies --- diff --git a/build.gradle b/build.gradle index ef9ed26f..1604def9 100644 --- a/build.gradle +++ b/build.gradle @@ -17,8 +17,8 @@ repositories { } dependencies { - implementation 'com.github.turasa:signal-service-java:2.15.3_unofficial_14' - implementation 'org.bouncycastle:bcprov-jdk15on:1.66' + implementation 'com.github.turasa:signal-service-java:2.15.3_unofficial_15' + implementation 'org.bouncycastle:bcprov-jdk15on:1.67' implementation 'net.sourceforge.argparse4j:argparse4j:0.8.1' implementation 'com.github.hypfvieh:dbus-java:3.2.3' implementation 'org.slf4j:slf4j-nop:1.7.30' diff --git a/src/main/java/org/asamk/signal/manager/Manager.java b/src/main/java/org/asamk/signal/manager/Manager.java index c332a959..fc956266 100644 --- a/src/main/java/org/asamk/signal/manager/Manager.java +++ b/src/main/java/org/asamk/signal/manager/Manager.java @@ -431,10 +431,9 @@ public class Manager implements Closeable { private SignalServiceMessageSender getMessageSender() { // TODO implement ZkGroup support final ClientZkProfileOperations clientZkProfileOperations = null; - final boolean attachmentsV3 = false; final ExecutorService executor = null; return new SignalServiceMessageSender(serviceConfiguration, account.getUuid(), account.getUsername(), account.getPassword(), - account.getDeviceId(), account.getSignalProtocolStore(), userAgent, account.isMultiDevice(), attachmentsV3, Optional.fromNullable(messagePipe), Optional.fromNullable(unidentifiedMessagePipe), Optional.absent(), clientZkProfileOperations, executor); + account.getDeviceId(), account.getSignalProtocolStore(), userAgent, account.isMultiDevice(), Optional.fromNullable(messagePipe), Optional.fromNullable(unidentifiedMessagePipe), Optional.absent(), clientZkProfileOperations, executor, ServiceConfig.MAX_ENVELOPE_SIZE); } private SignalServiceProfile getEncryptedRecipientProfile(SignalServiceAddress address, Optional unidentifiedAccess) throws IOException { @@ -1198,8 +1197,9 @@ public class Manager implements Closeable { SignalServiceSyncMessage syncMessage = SignalServiceSyncMessage.forSentTranscript(transcript); try { + long startTime = System.currentTimeMillis(); messageSender.sendMessage(syncMessage, unidentifiedAccess); - return SendMessageResult.success(recipient, unidentifiedAccess.isPresent(), false); + return SendMessageResult.success(recipient, unidentifiedAccess.isPresent(), false, System.currentTimeMillis() - startTime); } catch (UntrustedIdentityException e) { account.getSignalProtocolStore().saveIdentity(resolveSignalServiceAddress(e.getIdentifier()), e.getIdentityKey(), TrustLevel.UNTRUSTED); return SendMessageResult.identityFailure(recipient, e.getIdentityKey()); diff --git a/src/main/java/org/asamk/signal/manager/ServiceConfig.java b/src/main/java/org/asamk/signal/manager/ServiceConfig.java index a8b0c5b6..4ea41734 100644 --- a/src/main/java/org/asamk/signal/manager/ServiceConfig.java +++ b/src/main/java/org/asamk/signal/manager/ServiceConfig.java @@ -1,7 +1,7 @@ package org.asamk.signal.manager; import org.whispersystems.libsignal.util.guava.Optional; -import org.whispersystems.signalservice.api.profiles.SignalServiceProfile; +import org.whispersystems.signalservice.api.account.AccountAttributes; import org.whispersystems.signalservice.api.push.TrustStore; import org.whispersystems.signalservice.internal.configuration.SignalCdnUrl; import org.whispersystems.signalservice.internal.configuration.SignalContactDiscoveryUrl; @@ -26,6 +26,7 @@ public class ServiceConfig { final static int PREKEY_MINIMUM_COUNT = 20; final static int PREKEY_BATCH_SIZE = 100; final static int MAX_ATTACHMENT_SIZE = 150 * 1024 * 1024; + final static int MAX_ENVELOPE_SIZE = 0; final static long AVATAR_DOWNLOAD_FAILSAFE_MAX_SIZE = 10 * 1024 * 1024; private final static String URL = "https://textsecure-service.whispersystems.org"; @@ -39,7 +40,7 @@ public class ServiceConfig { private final static String zkGroupServerPublicParamsHex = "AMhf5ywVwITZMsff/eCyudZx9JDmkkkbV6PInzG4p8x3VqVJSFiMvnvlEKWuRob/1eaIetR31IYeAbm0NdOuHH8Qi+Rexi1wLlpzIo1gstHWBfZzy1+qHRV5A4TqPp15YzBPm0WSggW6PbSn+F4lf57VCnHF7p8SvzAA2ZZJPYJURt8X7bbg+H3i+PEjH9DXItNEqs2sNcug37xZQDLm7X0="; - static final SignalServiceProfile.Capabilities capabilities = new SignalServiceProfile.Capabilities(false, false, false); + static final AccountAttributes.Capabilities capabilities = new AccountAttributes.Capabilities(false, false, false, false); public static SignalServiceConfiguration createDefaultServiceConfiguration(String userAgent) { final Interceptor userAgentInterceptor = chain -> diff --git a/src/main/java/org/asamk/signal/storage/profiles/SignalProfile.java b/src/main/java/org/asamk/signal/storage/profiles/SignalProfile.java index 71ab60e6..8c3f38b0 100644 --- a/src/main/java/org/asamk/signal/storage/profiles/SignalProfile.java +++ b/src/main/java/org/asamk/signal/storage/profiles/SignalProfile.java @@ -1,5 +1,6 @@ package org.asamk.signal.storage.profiles; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import org.whispersystems.signalservice.api.profiles.SignalServiceProfile; @@ -23,7 +24,7 @@ public class SignalProfile { private final boolean unrestrictedUnidentifiedAccess; @JsonProperty - private final SignalServiceProfile.Capabilities capabilities; + private final Capabilities capabilities; public SignalProfile(final String identityKey, final String name, final File avatarFile, final String unidentifiedAccess, final boolean unrestrictedUnidentifiedAccess, final SignalServiceProfile.Capabilities capabilities) { this.identityKey = identityKey; @@ -31,10 +32,13 @@ public class SignalProfile { this.avatarFile = avatarFile; this.unidentifiedAccess = unidentifiedAccess; this.unrestrictedUnidentifiedAccess = unrestrictedUnidentifiedAccess; - this.capabilities = capabilities; + this.capabilities = new Capabilities(); + this.capabilities.storage = capabilities.isStorage(); + this.capabilities.gv1Migration = capabilities.isGv1Migration(); + this.capabilities.gv2 = capabilities.isGv2(); } - public SignalProfile(@JsonProperty("identityKey") final String identityKey, @JsonProperty("name") final String name, @JsonProperty("unidentifiedAccess") final String unidentifiedAccess, @JsonProperty("unrestrictedUnidentifiedAccess") final boolean unrestrictedUnidentifiedAccess, @JsonProperty("capabilities") final SignalServiceProfile.Capabilities capabilities) { + public SignalProfile(@JsonProperty("identityKey") final String identityKey, @JsonProperty("name") final String name, @JsonProperty("unidentifiedAccess") final String unidentifiedAccess, @JsonProperty("unrestrictedUnidentifiedAccess") final boolean unrestrictedUnidentifiedAccess, @JsonProperty("capabilities") final Capabilities capabilities) { this.identityKey = identityKey; this.name = name; this.avatarFile = null; @@ -63,7 +67,7 @@ public class SignalProfile { return unrestrictedUnidentifiedAccess; } - public SignalServiceProfile.Capabilities getCapabilities() { + public Capabilities getCapabilities() { return capabilities; } @@ -78,4 +82,19 @@ public class SignalProfile { ", capabilities=" + capabilities + '}'; } + + public static class Capabilities { + + @JsonIgnore + public boolean uuid; + + @JsonProperty + public boolean gv2; + + @JsonProperty + public boolean storage; + + @JsonProperty + public boolean gv1Migration; + } }