From 41783368bd9fefe5848db77607128d9ab05415a5 Mon Sep 17 00:00:00 2001 From: andrew-signal Date: Fri, 21 Mar 2025 16:06:59 -0400 Subject: [PATCH] Reject invalid TLS proxy configurations. --- .../internal/websocket/LibSignalNetworkExtensions.kt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/libsignal-service/src/main/java/org/whispersystems/signalservice/internal/websocket/LibSignalNetworkExtensions.kt b/libsignal-service/src/main/java/org/whispersystems/signalservice/internal/websocket/LibSignalNetworkExtensions.kt index 26210afd73..7ddd6bc949 100644 --- a/libsignal-service/src/main/java/org/whispersystems/signalservice/internal/websocket/LibSignalNetworkExtensions.kt +++ b/libsignal-service/src/main/java/org/whispersystems/signalservice/internal/websocket/LibSignalNetworkExtensions.kt @@ -6,9 +6,13 @@ package org.whispersystems.signalservice.internal.websocket +import org.signal.core.util.logging.Log import org.signal.core.util.orNull import org.signal.libsignal.net.Network import org.whispersystems.signalservice.internal.configuration.SignalServiceConfiguration +import java.io.IOException + +private const val TAG = "LibSignalNetworkExtensions" /** * Helper method to apply settings from the SignalServiceConfiguration. @@ -19,7 +23,12 @@ fun Network.applyConfiguration(config: SignalServiceConfiguration) { if (proxy == null) { this.clearProxy() } else { - this.setProxy(proxy.host, proxy.port) + try { + this.setProxy(proxy.host, proxy.port) + } catch (e: IOException) { + Log.e(TAG, "Invalid proxy configuration set! Failing connections until changed.") + this.setInvalidProxy() + } } this.setCensorshipCircumventionEnabled(config.censored)