diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b9c5bd5c..a57b9785 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,7 +4,7 @@ coroutines = "1.11.0" junit = "6.1.3" micronaut-json-schema = "2.3.1" micronaut-core = "5.2.14" -signal-service = "2.15.3_unofficial_154" +signal-service = "2.15.3_unofficial_155" [libraries] bouncycastle = "org.bouncycastle:bcprov-jdk18on:1.86" diff --git a/lib/src/main/java/org/asamk/signal/manager/internal/ProvisioningManagerImpl.java b/lib/src/main/java/org/asamk/signal/manager/internal/ProvisioningManagerImpl.java index c92aec12..64b4b13a 100644 --- a/lib/src/main/java/org/asamk/signal/manager/internal/ProvisioningManagerImpl.java +++ b/lib/src/main/java/org/asamk/signal/manager/internal/ProvisioningManagerImpl.java @@ -116,8 +116,7 @@ public class ProvisioningManagerImpl implements ProvisioningManager, Closeable { public URI getDeviceLinkUri() throws TimeoutException, IOException { try { var url = urlFuture.get(30, TimeUnit.SECONDS); - // Mode.Link(false) does not advertise any capabilities itself. - return new URI(url + "&capabilities=nopni"); + return new URI(url); } catch (java.util.concurrent.TimeoutException e) { throw new TimeoutException("Timed out waiting for provisioning URL"); } catch (InterruptedException e) { 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 7add6211..ad4151c2 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 @@ -11,6 +11,7 @@ import org.signal.libsignal.zkgroup.profiles.ClientZkProfileOperations; import org.signal.network.api.AccountApiV2; import org.signal.network.api.AttachmentApi; import org.signal.network.api.CallingApi; +import org.signal.network.api.CdnApi; import org.signal.network.api.CdsApi; import org.signal.network.api.CertificateApi; import org.signal.network.api.LinkDeviceApi; @@ -91,6 +92,7 @@ public class SignalDependencies { private ClientZkOperations clientZkOperations; private ProfileService profileService; private ProfileApi profileApi; + private CdnApi cdnApi; private CdnService cdnService; private PreKeyRepository preKeyRepository; private SignalRestClient signalRestClient; @@ -271,7 +273,7 @@ public class SignalDependencies { public AttachmentApi getAttachmentApi() { return getOrCreate(() -> attachmentApi, - () -> attachmentApi = new AttachmentApi(getAuthenticatedSignalWebSocket(), getPushServiceSocket())); + () -> attachmentApi = new AttachmentApi(getAuthenticatedSignalWebSocket())); } public CallingApi getCallingApi() { @@ -353,7 +355,7 @@ public class SignalDependencies { public CdnService getCdnService() { return getOrCreate(() -> cdnService, - () -> cdnService = new CdnService(getSignalRestClient(), getAttachmentApi())); + () -> cdnService = new CdnService(getCdnApi(), getAttachmentApi(), () -> null)); } public PreKeyRepository getPreKeyRepository() { @@ -378,7 +380,8 @@ public class SignalDependencies { ServiceConfig.MAX_ENVELOPE_SIZE, ServiceConfig.MAX_INCREMENTAL_MACS_PER_ENVELOPE, () -> true, - getPreKeyRepository())); + getPreKeyRepository(), + getCdnService())); } public List getSecureValueRecovery() { @@ -397,6 +400,10 @@ public class SignalDependencies { getClientZkProfileOperations())); } + public CdnApi getCdnApi() { + return getOrCreate(() -> cdnApi, () -> cdnApi = new CdnApi(getSignalRestClient())); + } + public ProfileService getProfileService() { return getOrCreate(() -> profileService, () -> profileService = new ProfileService(getClientZkProfileOperations(), diff --git a/lib/src/test/java/org/asamk/signal/manager/internal/NumberlessProvisioningTest.java b/lib/src/test/java/org/asamk/signal/manager/internal/NumberlessProvisioningTest.java index 1510a871..c5247dbe 100644 --- a/lib/src/test/java/org/asamk/signal/manager/internal/NumberlessProvisioningTest.java +++ b/lib/src/test/java/org/asamk/signal/manager/internal/NumberlessProvisioningTest.java @@ -122,6 +122,8 @@ class NumberlessProvisioningTest { "signal-cli-test", null, false, + config.signalServiceConfiguration(), + () -> null, 1000L, new SecureRandom(), client); diff --git a/libsignal-version b/libsignal-version index 89eba2c5..f1b9cc4c 100644 --- a/libsignal-version +++ b/libsignal-version @@ -1 +1 @@ -0.103.0 +0.105.0 diff --git a/src/main/java/org/asamk/signal/BaseConfig.java b/src/main/java/org/asamk/signal/BaseConfig.java index 0be50fd8..065167bc 100644 --- a/src/main/java/org/asamk/signal/BaseConfig.java +++ b/src/main/java/org/asamk/signal/BaseConfig.java @@ -8,7 +8,7 @@ public class BaseConfig { public static final String PROJECT_VERSION = BaseConfig.class.getPackage().getImplementationVersion(); static final String USER_AGENT_SIGNAL_ANDROID = Optional.ofNullable(System.getenv("SIGNAL_CLI_USER_AGENT")) - .orElse("Signal-Android/8.27.0"); + .orElse("Signal-Android/8.31.1"); static final String USER_AGENT_SIGNAL_CLI = PROJECT_NAME == null ? "signal-cli" : PROJECT_NAME + "/" + PROJECT_VERSION;