From 816e3442a0f857a5b51a93e099d664348d605df4 Mon Sep 17 00:00:00 2001
From: moiseev-signal <122060238+moiseev-signal@users.noreply.github.com>
Date: Mon, 24 Jun 2024 11:37:59 -0700
Subject: [PATCH] Adopt libsignal 0.51.1
---
app/build.gradle.kts | 2 ++
.../securesms/ApplicationContext.java | 1 +
.../groups/GroupManagerV2Test_edit.kt | 2 ++
dependencies.gradle.kts | 2 +-
gradle/verification-metadata.xml | 20 +++++++++----------
.../api/services/CdsiSocket.java | 4 ++--
6 files changed, 18 insertions(+), 13 deletions(-)
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index e9502e4210..0f32abd2eb 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -203,6 +203,7 @@ android {
buildConfigField("String", "SIGNAL_CAPTCHA_URL", "\"https://signalcaptchas.org/registration/generate.html\"")
buildConfigField("String", "RECAPTCHA_PROOF_URL", "\"https://signalcaptchas.org/challenge/generate.html\"")
buildConfigField("org.signal.libsignal.net.Network.Environment", "LIBSIGNAL_NET_ENV", "org.signal.libsignal.net.Network.Environment.PRODUCTION")
+ buildConfigField("int", "LIBSIGNAL_LOG_LEVEL", "org.signal.libsignal.protocol.logging.SignalProtocolLogger.INFO")
buildConfigField("String", "BUILD_DISTRIBUTION_TYPE", "\"unset\"")
buildConfigField("String", "BUILD_ENVIRONMENT_TYPE", "\"unset\"")
@@ -381,6 +382,7 @@ android {
buildConfigField("String", "SIGNAL_CAPTCHA_URL", "\"https://signalcaptchas.org/staging/registration/generate.html\"")
buildConfigField("String", "RECAPTCHA_PROOF_URL", "\"https://signalcaptchas.org/staging/challenge/generate.html\"")
buildConfigField("org.signal.libsignal.net.Network.Environment", "LIBSIGNAL_NET_ENV", "org.signal.libsignal.net.Network.Environment.STAGING")
+ buildConfigField("int", "LIBSIGNAL_LOG_LEVEL", "org.signal.libsignal.protocol.logging.SignalProtocolLogger.DEBUG")
buildConfigField("String", "BUILD_ENVIRONMENT_TYPE", "\"Staging\"")
buildConfigField("String", "STRIPE_PUBLISHABLE_KEY", "\"pk_test_sngOd8FnXNkpce9nPXawKrJD00kIDngZkD\"")
diff --git a/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java b/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java
index 0b71b50bd9..171a1a2a73 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java
@@ -317,6 +317,7 @@ public class ApplicationContext extends MultiDexApplication implements AppForegr
Log.initialize(RemoteConfig::internalUser, new AndroidLogger(), new PersistentLogger(this));
SignalProtocolLoggerProvider.setProvider(new CustomSignalProtocolLogger());
+ SignalProtocolLoggerProvider.initializeLogging(BuildConfig.LIBSIGNAL_LOG_LEVEL);
SignalExecutors.UNBOUNDED.execute(() -> {
Log.blockUntilAllWritesFinished();
diff --git a/app/src/test/java/org/thoughtcrime/securesms/groups/GroupManagerV2Test_edit.kt b/app/src/test/java/org/thoughtcrime/securesms/groups/GroupManagerV2Test_edit.kt
index 28ccd6f85e..ab35a825da 100644
--- a/app/src/test/java/org/thoughtcrime/securesms/groups/GroupManagerV2Test_edit.kt
+++ b/app/src/test/java/org/thoughtcrime/securesms/groups/GroupManagerV2Test_edit.kt
@@ -20,6 +20,7 @@ import org.robolectric.annotation.Config
import org.signal.core.util.Hex
import org.signal.core.util.ThreadUtil
import org.signal.core.util.logging.Log
+import org.signal.libsignal.protocol.logging.SignalProtocolLogger
import org.signal.libsignal.protocol.logging.SignalProtocolLoggerProvider
import org.signal.libsignal.zkgroup.groups.GroupMasterKey
import org.signal.libsignal.zkgroup.groups.GroupSecretParams
@@ -80,6 +81,7 @@ class GroupManagerV2Test_edit {
ThreadUtil.enforceAssertions = false
Log.initialize(SystemOutLogger())
SignalProtocolLoggerProvider.setProvider(CustomSignalProtocolLogger())
+ SignalProtocolLoggerProvider.initializeLogging(SignalProtocolLogger.INFO)
val clientZkOperations = ClientZkOperations(server.getServerPublicParams())
diff --git a/dependencies.gradle.kts b/dependencies.gradle.kts
index 95df25e5c3..6410aedbfc 100644
--- a/dependencies.gradle.kts
+++ b/dependencies.gradle.kts
@@ -15,7 +15,7 @@ dependencyResolutionManagement {
version("exoplayer", "2.19.0")
version("glide", "4.15.1")
version("kotlin", "1.9.20")
- version("libsignal-client", "0.47.0")
+ version("libsignal-client", "0.51.1")
version("mp4parser", "1.9.39")
version("android-gradle-plugin", "8.4.0")
version("accompanist", "0.28.0")
diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml
index f93fb2de80..39bc28c03d 100644
--- a/gradle/verification-metadata.xml
+++ b/gradle/verification-metadata.xml
@@ -8288,20 +8288,20 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
diff --git a/libsignal-service/src/main/java/org/whispersystems/signalservice/api/services/CdsiSocket.java b/libsignal-service/src/main/java/org/whispersystems/signalservice/api/services/CdsiSocket.java
index dfa3975a6c..b54c63bd8f 100644
--- a/libsignal-service/src/main/java/org/whispersystems/signalservice/api/services/CdsiSocket.java
+++ b/libsignal-service/src/main/java/org/whispersystems/signalservice/api/services/CdsiSocket.java
@@ -3,6 +3,7 @@ package org.whispersystems.signalservice.api.services;
import org.signal.cdsi.proto.ClientRequest;
import org.signal.cdsi.proto.ClientResponse;
import org.signal.libsignal.attest.AttestationDataException;
+import org.signal.libsignal.attest.AttestationFailedException;
import org.signal.libsignal.cds2.Cds2Client;
import org.signal.libsignal.protocol.logging.Log;
import org.signal.libsignal.protocol.util.Pair;
@@ -165,8 +166,7 @@ final class CdsiSocket {
webSocket.close(1000, "OK");
break;
}
- } catch (IOException | AttestationDataException | SgxCommunicationFailureException | AssertionError e) {
- // TODO only catching AssertionError because of libsignal bug. Remove when bug is fixed.
+ } catch (IOException | AttestationDataException | AttestationFailedException | SgxCommunicationFailureException e) {
Log.w(TAG, e);
webSocket.close(1000, "OK");
emitter.tryOnError(e);