From 8e22962f57b3199796cd9763d1f766a3f430e3fa Mon Sep 17 00:00:00 2001 From: Alois Date: Wed, 5 Aug 2026 16:24:50 +0200 Subject: [PATCH 1/2] Revert "(fix): prefer IPv4 DNS on Android" This reverts commit 88e5851ba21074e260d0ed4c4dc46f9d24365559. --- transport/src/client.rs | 29 +++-------------------------- 1 file changed, 3 insertions(+), 26 deletions(-) diff --git a/transport/src/client.rs b/transport/src/client.rs index bf6bdb8..2773162 100644 --- a/transport/src/client.rs +++ b/transport/src/client.rs @@ -7,27 +7,6 @@ use wtransport::{ClientConfig as WTransportClientConfig, Endpoint}; use crate::{ConnectionHandle, Policy, Receiver, Sender}; -#[cfg(target_os = "android")] -#[derive(Debug)] -struct AndroidDnsResolver; - -#[cfg(target_os = "android")] -impl wtransport::config::DnsResolver for AndroidDnsResolver { - fn resolve(&self, host: &str) -> std::pin::Pin> { - let host = host.to_string(); - Box::pin(async move { - let mut fallback = None; - for address in tokio::net::lookup_host(host).await? { - if address.is_ipv4() { - return Ok(Some(address)); - } - fallback.get_or_insert(address); - } - Ok(fallback) - }) - } -} - #[cfg(feature = "insecure-tls")] mod noop_verifier { use rustls::{ @@ -289,13 +268,11 @@ fn client_config_from_roots( transport_config }; - let config = WTransportClientConfig::builder() + Ok(WTransportClientConfig::builder() .with_bind_default() .with_custom_tls_and_transport(tls_config, transport_config) .keep_alive_interval(policy.keep_alive_interval) .max_idle_timeout(policy.max_idle_timeout) - .map_err(|e| CommunicationError::Other(e.to_string()))?; - #[cfg(target_os = "android")] - let config = config.dns_resolver(AndroidDnsResolver); - Ok(config.build()) + .map_err(|e| CommunicationError::Other(e.to_string()))? + .build()) } From d10266198d62ca9e14a8b1a55d2ab108b24e756e Mon Sep 17 00:00:00 2001 From: Alois Date: Wed, 5 Aug 2026 16:25:01 +0200 Subject: [PATCH 2/2] Revert "(fix): disable QUIC GSO on Android" This reverts commit 8c0c39fe920132e3a433395b4a17455a8db9f5d4. --- transport/src/client.rs | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/transport/src/client.rs b/transport/src/client.rs index 2773162..dc9666f 100644 --- a/transport/src/client.rs +++ b/transport/src/client.rs @@ -260,17 +260,9 @@ fn client_config_from_roots( tls_config.alpn_protocols = vec![b"h3".to_vec()]; - let transport_config = wtransport::config::QuicTransportConfig::default(); - #[cfg(target_os = "android")] - let transport_config = { - let mut transport_config = transport_config; - transport_config.enable_segmentation_offload(false); - transport_config - }; - Ok(WTransportClientConfig::builder() .with_bind_default() - .with_custom_tls_and_transport(tls_config, transport_config) + .with_custom_tls(tls_config) .keep_alive_interval(policy.keep_alive_interval) .max_idle_timeout(policy.max_idle_timeout) .map_err(|e| CommunicationError::Other(e.to_string()))?