Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/root/intro/version_history.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ Features:

- api: add option to extend the keepalive timeout when any frame is received on the owning HTTP/2 connection. (:issue:`#2229 <2229>`)
- api: add option to control whether Envoy should drain connections after a soft DNS refresh completes. (:issue:`#2225 <2225>`, :issue:`#2242 <2242>`)
- android: enable the filtering of unroutable families by default. (:issues: `#2267 <2267>`)

0.4.6 (April 26, 2022)
========================
Expand Down
3 changes: 2 additions & 1 deletion library/kotlin/io/envoyproxy/envoymobile/EngineBuilder.kt
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ open class EngineBuilder(
private var dnsFailureRefreshSecondsBase = 2
private var dnsFailureRefreshSecondsMax = 10
private var dnsFallbackNameservers = listOf<String>()
private var dnsFilterUnroutableFamilies = false
private var dnsFilterUnroutableFamilies = true
private var dnsQueryTimeoutSeconds = 25
private var dnsMinRefreshSeconds = 60
private var dnsPreresolveHostnames = "[]"
Expand Down Expand Up @@ -190,6 +190,7 @@ open class EngineBuilder(

/**
* Specify whether to filter unroutable IP families during DNS resolution or not.
* Defaults to true.
*
* @param dnsFilterUnroutableFamilies whether to filter or not.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ class EnvoyConfigurationTest {
dnsMinRefreshSeconds: Int = 12,
dnsPreresolveHostnames: String = "[hostname]",
dnsFallbackNameservers: List<String> = emptyList(),
enableDnsFilterUnroutableFamilies: Boolean = false,
enableDnsFilterUnroutableFamilies: Boolean = true,
enableDrainPostDnsRefresh: Boolean = false,
enableHttp3: Boolean = false,
enableHappyEyeballs: Boolean = false,
Expand Down Expand Up @@ -117,7 +117,7 @@ class EnvoyConfigurationTest {
assertThat(resolvedTemplate).contains("&dns_min_refresh_rate 12s")
assertThat(resolvedTemplate).contains("&dns_preresolve_hostnames [hostname]")
assertThat(resolvedTemplate).contains("&dns_resolver_name envoy.network.dns_resolver.cares")
assertThat(resolvedTemplate).contains("&dns_resolver_config {\"@type\":\"type.googleapis.com/envoy.extensions.network.dns_resolver.cares.v3.CaresDnsResolverConfig\",\"resolvers\":[],\"use_resolvers_as_fallback\": false, \"filter_unroutable_families\": false}")
assertThat(resolvedTemplate).contains("&dns_resolver_config {\"@type\":\"type.googleapis.com/envoy.extensions.network.dns_resolver.cares.v3.CaresDnsResolverConfig\",\"resolvers\":[],\"use_resolvers_as_fallback\": false, \"filter_unroutable_families\": true}")
assertThat(resolvedTemplate).contains("&enable_drain_post_dns_refresh false")

// Interface Binding
Expand Down Expand Up @@ -163,7 +163,7 @@ class EnvoyConfigurationTest {
fun `configuration resolves with alternate values`() {
val envoyConfiguration = buildTestEnvoyConfiguration(
dnsFallbackNameservers = listOf("8.8.8.8"),
enableDnsFilterUnroutableFamilies = true,
enableDnsFilterUnroutableFamilies = false,
enableDrainPostDnsRefresh = true,
enableHappyEyeballs = true,
enableHttp3 = true,
Expand All @@ -176,7 +176,7 @@ class EnvoyConfigurationTest {
)

// DNS
assertThat(resolvedTemplate).contains("&dns_resolver_config {\"@type\":\"type.googleapis.com/envoy.extensions.network.dns_resolver.cares.v3.CaresDnsResolverConfig\",\"resolvers\":[{\"socket_address\":{\"address\":\"8.8.8.8\"}}],\"use_resolvers_as_fallback\": true, \"filter_unroutable_families\": true}")
assertThat(resolvedTemplate).contains("&dns_resolver_config {\"@type\":\"type.googleapis.com/envoy.extensions.network.dns_resolver.cares.v3.CaresDnsResolverConfig\",\"resolvers\":[{\"socket_address\":{\"address\":\"8.8.8.8\"}}],\"use_resolvers_as_fallback\": true, \"filter_unroutable_families\": false}")
assertThat(resolvedTemplate).contains("&dns_lookup_family ALL")
assertThat(resolvedTemplate).contains("&dns_multiple_addresses true")
assertThat(resolvedTemplate).contains("&enable_drain_post_dns_refresh true")
Expand Down Expand Up @@ -241,6 +241,6 @@ class EnvoyConfigurationTest {
TEST_CONFIG, PLATFORM_FILTER_CONFIG, NATIVE_FILTER_CONFIG, APCF_INSERT
)

assertThat(resolvedTemplate).contains("&dns_resolver_config {\"@type\":\"type.googleapis.com/envoy.extensions.network.dns_resolver.cares.v3.CaresDnsResolverConfig\",\"resolvers\":[{\"socket_address\":{\"address\":\"8.8.8.8\"}},{\"socket_address\":{\"address\":\"1.1.1.1\"}}],\"use_resolvers_as_fallback\": true, \"filter_unroutable_families\": false}")
assertThat(resolvedTemplate).contains("&dns_resolver_config {\"@type\":\"type.googleapis.com/envoy.extensions.network.dns_resolver.cares.v3.CaresDnsResolverConfig\",\"resolvers\":[{\"socket_address\":{\"address\":\"8.8.8.8\"}},{\"socket_address\":{\"address\":\"1.1.1.1\"}}],\"use_resolvers_as_fallback\": true, \"filter_unroutable_families\": true}")
}
}