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
4 changes: 2 additions & 2 deletions okhttp-dnsoverhttps/api/okhttp-dnsoverhttps.api
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ public final class okhttp3/dnsoverhttps/DnsOverHttps : okhttp3/Dns {
public static final field Companion Lokhttp3/dnsoverhttps/DnsOverHttps$Companion;
public static final field MAX_RESPONSE_SIZE I
public final fun client ()Lokhttp3/OkHttpClient;
public final fun includeHttps ()Z
public final fun includeIPv6 ()Z
public final fun includeServiceMetadata ()Z
public fun lookup (Ljava/lang/String;)Ljava/util/List;
public fun newCall (Lokhttp3/Dns$Request;)Lokhttp3/Dns$Call;
public final fun post ()Z
Expand All @@ -18,8 +18,8 @@ public final class okhttp3/dnsoverhttps/DnsOverHttps$Builder {
public final fun bootstrapDnsHosts ([Ljava/net/InetAddress;)Lokhttp3/dnsoverhttps/DnsOverHttps$Builder;
public final fun build ()Lokhttp3/dnsoverhttps/DnsOverHttps;
public final fun client (Lokhttp3/OkHttpClient;)Lokhttp3/dnsoverhttps/DnsOverHttps$Builder;
public final fun includeHttps (Z)Lokhttp3/dnsoverhttps/DnsOverHttps$Builder;
public final fun includeIPv6 (Z)Lokhttp3/dnsoverhttps/DnsOverHttps$Builder;
public final fun includeServiceMetadata (Z)Lokhttp3/dnsoverhttps/DnsOverHttps$Builder;
public final fun post (Z)Lokhttp3/dnsoverhttps/DnsOverHttps$Builder;
public final fun resolvePrivateAddresses (Z)Lokhttp3/dnsoverhttps/DnsOverHttps$Builder;
public final fun resolvePublicAddresses (Z)Lokhttp3/dnsoverhttps/DnsOverHttps$Builder;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ class DnsOverHttps internal constructor(
@get:JvmName("client") val client: OkHttpClient,
@get:JvmName("url") val url: HttpUrl,
@get:JvmName("includeIPv6") val includeIPv6: Boolean,
@get:JvmName("includeHttps") val includeHttps: Boolean,
@get:JvmName("includeServiceMetadata") val includeServiceMetadata: Boolean,
@get:JvmName("post") val post: Boolean,
@get:JvmName("resolvePrivateAddresses") val resolvePrivateAddresses: Boolean,
@get:JvmName("resolvePublicAddresses") val resolvePublicAddresses: Boolean,
Expand Down Expand Up @@ -230,7 +230,7 @@ class DnsOverHttps internal constructor(
inetAddressesOnly: Boolean = false,
): List<Call> =
buildList {
if (includeHttps && !inetAddressesOnly) {
if (includeServiceMetadata && !inetAddressesOnly) {
add(createCall(hostname, TYPE_HTTPS))
}

Expand All @@ -245,7 +245,7 @@ class DnsOverHttps internal constructor(
internal var client: OkHttpClient? = null
internal var url: HttpUrl? = null
internal var includeIPv6 = true
internal var includeHttps = false
internal var includeServiceMetadata = true
internal var post = false
internal var systemDns = Dns.SYSTEM
internal var bootstrapDnsHosts: List<InetAddress>? = null
Expand All @@ -258,7 +258,7 @@ class DnsOverHttps internal constructor(
client.newBuilder().dns(buildBootstrapClient(this)).build(),
checkNotNull(url) { "url not set" },
includeIPv6,
includeHttps,
includeServiceMetadata,
post,
resolvePrivateAddresses,
resolvePublicAddresses,
Expand All @@ -278,12 +278,10 @@ class DnsOverHttps internal constructor(
/**
* True to request [`HTTPS` DNS records](https://datatracker.ietf.org/doc/rfc9460/), which are
* necessary for [Encrypted Client Hello (ECH)](https://datatracker.ietf.org/doc/rfc9849/).
*
* This is false by default, but that default is subject to change in 2026.
*/
fun includeHttps(includeHttps: Boolean) =
fun includeServiceMetadata(includeServiceMetadata: Boolean) =
apply {
this.includeHttps = includeHttps
this.includeServiceMetadata = includeServiceMetadata
}

fun includeIPv6(includeIPv6: Boolean) =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -354,7 +354,7 @@ class DnsOverHttpsTest(
fun completeHttpsRecordsReturned() {
assumeTrue(entryPoint == EntryPoint.NewCall)

dns = buildLocalhost(bootstrapClient, includeIPv6 = true, includeHttps = true)
dns = buildLocalhost(bootstrapClient, includeIPv6 = true, includeServiceMetadata = true)
server["lysine.dev"] =
listOf(
ResourceRecord.IpAddress(
Expand Down Expand Up @@ -434,7 +434,7 @@ class DnsOverHttpsTest(
fun serviceMetadataEmptyTargetNameAliasesToRequestHostname() {
assumeTrue(entryPoint == EntryPoint.NewCall)

dns = buildLocalhost(bootstrapClient, includeIPv6 = true, includeHttps = true)
dns = buildLocalhost(bootstrapClient, includeIPv6 = true, includeServiceMetadata = true)
server["lysine.dev"] =
listOf(
ResourceRecord.IpAddress(
Expand Down Expand Up @@ -484,7 +484,7 @@ class DnsOverHttpsTest(
fun httpsFailureIsDeliveredAfterIpv6AndIpv4Records() {
assumeTrue(entryPoint == EntryPoint.NewCall)

dns = buildLocalhost(bootstrapClient, includeIPv6 = true, includeHttps = true)
dns = buildLocalhost(bootstrapClient, includeIPv6 = true, includeServiceMetadata = true)

// Fail the HTTPS call, which should have index 0.
server.sequenceIndexToOverride[0] = overrideResponse("")
Expand Down Expand Up @@ -537,7 +537,7 @@ class DnsOverHttpsTest(
fun ipv6FailureIsDeliveredAfterIpv4Records() {
assumeTrue(entryPoint == EntryPoint.NewCall)

dns = buildLocalhost(bootstrapClient, includeIPv6 = true, includeHttps = true)
dns = buildLocalhost(bootstrapClient, includeIPv6 = true, includeServiceMetadata = true)

// Fail the IPv6 call, which should have index 1.
server.sequenceIndexToOverride[1] = overrideResponse("")
Expand Down Expand Up @@ -573,7 +573,7 @@ class DnsOverHttpsTest(
fun emptyResultsAreSkipped() {
assumeTrue(entryPoint == EntryPoint.NewCall)

dns = buildLocalhost(bootstrapClient, includeIPv6 = true, includeHttps = true)
dns = buildLocalhost(bootstrapClient, includeIPv6 = true, includeServiceMetadata = true)
server["lysine.dev"] =
listOf(
ResourceRecord.IpAddress(
Expand Down Expand Up @@ -604,7 +604,7 @@ class DnsOverHttpsTest(
fun lastEventIsDeliveredEventIfItIsEmpty() {
assumeTrue(entryPoint == EntryPoint.NewCall)

dns = buildLocalhost(bootstrapClient, includeIPv6 = true, includeHttps = true)
dns = buildLocalhost(bootstrapClient, includeIPv6 = true, includeServiceMetadata = true)

val call = dns.newCall(Dns.Request("lysine.dev"))
val dnsEvents = call.toEventsQueue()
Expand All @@ -621,7 +621,7 @@ class DnsOverHttpsTest(
fun callIsCanceledBeforeItIsStarted() {
assumeTrue(entryPoint == EntryPoint.NewCall)

dns = buildLocalhost(bootstrapClient, includeIPv6 = true, includeHttps = true)
dns = buildLocalhost(bootstrapClient, includeIPv6 = true, includeServiceMetadata = true)

val call = dns.newCall(Dns.Request("lysine.dev"))
call.cancel()
Expand All @@ -635,7 +635,7 @@ class DnsOverHttpsTest(
fun callIsCanceledBeforeItReachesTheNetwork() {
assumeTrue(entryPoint == EntryPoint.NewCall)

dns = buildLocalhost(bootstrapClient, includeIPv6 = true, includeHttps = true)
dns = buildLocalhost(bootstrapClient, includeIPv6 = true, includeServiceMetadata = true)
val call = dns.newCall(Dns.Request("lysine.dev"))

interceptor =
Expand Down Expand Up @@ -717,7 +717,7 @@ class DnsOverHttpsTest(
private fun callbackIsCalledSequentially() {
assumeTrue(entryPoint == EntryPoint.NewCall)

dns = buildLocalhost(bootstrapClient, includeIPv6 = true, includeHttps = true)
dns = buildLocalhost(bootstrapClient, includeIPv6 = true, includeServiceMetadata = true)
server["lysine.dev"] =
listOf(
ResourceRecord.IpAddress(
Expand Down Expand Up @@ -787,7 +787,7 @@ class DnsOverHttpsTest(
private fun buildLocalhost(
bootstrapClient: OkHttpClient,
includeIPv6: Boolean = false,
includeHttps: Boolean = false,
includeServiceMetadata: Boolean = false,
post: Boolean = false,
resolvePrivateAddresses: Boolean = true,
resolvePublicAddresses: Boolean = true,
Expand All @@ -797,7 +797,7 @@ class DnsOverHttpsTest(
.Builder()
.client(bootstrapClient)
.includeIPv6(includeIPv6)
.includeHttps(includeHttps)
.includeServiceMetadata(includeServiceMetadata)
.resolvePrivateAddresses(resolvePrivateAddresses)
.resolvePublicAddresses(resolvePublicAddresses)
.url(url)
Expand Down
Loading