Add proxy support for CDSv2.

This commit is contained in:
Greyson Parrelli
2022-09-28 09:28:56 -04:00
committed by Cody Henthorne
parent 0312dfcfcd
commit 7fef1b060f
2 changed files with 8 additions and 1 deletions

View File

@@ -104,7 +104,7 @@ public final class FeatureFlags {
private static final String RECIPIENT_MERGE_V2 = "android.recipientMergeV2";
private static final String CDS_V2_LOAD_TEST = "android.cdsV2LoadTest";
private static final String SMS_EXPORTER = "android.sms.exporter";
private static final String CDS_V2_COMPAT = "android.cdsV2Compat.3";
private static final String CDS_V2_COMPAT = "android.cdsV2Compat.4";
public static final String STORIES_LOCALE = "android.stories.locale";
private static final String HIDE_CONTACTS = "android.hide.contacts";

View File

@@ -10,6 +10,8 @@ import org.signal.libsignal.protocol.util.Pair;
import org.whispersystems.signalservice.api.push.TrustStore;
import org.whispersystems.signalservice.api.push.exceptions.NonSuccessfulResponseCodeException;
import org.whispersystems.signalservice.api.util.Tls12SocketFactory;
import org.whispersystems.signalservice.api.util.TlsProxySocketFactory;
import org.whispersystems.signalservice.internal.configuration.SignalProxy;
import org.whispersystems.signalservice.internal.configuration.SignalServiceConfiguration;
import org.whispersystems.signalservice.internal.util.BlacklistingTrustManager;
import org.whispersystems.signalservice.internal.util.Hex;
@@ -69,6 +71,11 @@ final class CdsiSocket {
builder.addInterceptor(interceptor);
}
if (configuration.getSignalProxy().isPresent()) {
SignalProxy proxy = configuration.getSignalProxy().get();
builder.socketFactory(new TlsProxySocketFactory(proxy.getHost(), proxy.getPort(), configuration.getDns()));
}
this.okhttp = builder.build();
}