Add fallback static DNS resolver.

This commit is contained in:
Greyson Parrelli
2022-03-02 14:32:24 -05:00
committed by Alex Hart
parent 2483a92975
commit 56a8451d07
12 changed files with 198 additions and 39 deletions

View File

@@ -16,6 +16,7 @@ import org.thoughtcrime.securesms.net.DeviceTransferBlockingInterceptor
import org.thoughtcrime.securesms.net.RemoteDeprecationDetectorInterceptor
import org.thoughtcrime.securesms.net.SequentialDns
import org.thoughtcrime.securesms.net.StandardUserAgentInterceptor
import org.thoughtcrime.securesms.net.StaticDns
import org.thoughtcrime.securesms.phonenumbers.PhoneNumberFormatter
import org.thoughtcrime.securesms.util.Base64
import org.whispersystems.libsignal.util.guava.Optional
@@ -38,7 +39,26 @@ class SignalServiceNetworkAccess(context: Context) {
private val TAG = Log.tag(SignalServiceNetworkAccess::class.java)
@JvmField
val DNS: Dns = SequentialDns(Dns.SYSTEM, CustomDns("1.1.1.1"))
val DNS: Dns = SequentialDns(
Dns.SYSTEM,
CustomDns("1.1.1.1"),
StaticDns(
mapOf(
BuildConfig.SIGNAL_URL.stripProtocol() to BuildConfig.SIGNAL_SERVICE_IPS.toSet(),
BuildConfig.STORAGE_URL.stripProtocol() to BuildConfig.SIGNAL_STORAGE_IPS.toSet(),
BuildConfig.SIGNAL_CDN_URL.stripProtocol() to BuildConfig.SIGNAL_CDN_IPS.toSet(),
BuildConfig.SIGNAL_CDN2_URL.stripProtocol() to BuildConfig.SIGNAL_CDN2_IPS.toSet(),
BuildConfig.SIGNAL_CONTACT_DISCOVERY_URL.stripProtocol() to BuildConfig.SIGNAL_CDS_IPS.toSet(),
BuildConfig.SIGNAL_KEY_BACKUP_URL.stripProtocol() to BuildConfig.SIGNAL_KBS_IPS.toSet(),
BuildConfig.SIGNAL_SFU_URL.stripProtocol() to BuildConfig.SIGNAL_SFU_IPS.toSet(),
BuildConfig.CONTENT_PROXY_HOST.stripProtocol() to BuildConfig.SIGNAL_CONTENT_PROXY_IPS.toSet(),
)
)
)
private fun String.stripProtocol(): String {
return this.removePrefix("https://")
}
private const val COUNTRY_CODE_EGYPT = 20
private const val COUNTRY_CODE_UAE = 971