From e659ee122a42c26be864f8d4ea60c914ea7b0505 Mon Sep 17 00:00:00 2001 From: Julian Chang Date: Mon, 24 Aug 2026 02:42:18 +0700 Subject: [PATCH] completely wipe out hickory --- Cargo.lock | 127 ------------------------- Cargo.toml | 2 - packages/oneclient_net/src/service.rs | 13 +-- packages/oneclient_polyplus/src/lib.rs | 12 +-- 4 files changed, 3 insertions(+), 151 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c48ed54c..3d843a0f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1481,21 +1481,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "critical-section" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" - -[[package]] -name = "crossbeam-channel" -version = "0.5.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d85363c37faeca707aef026efa9f3b34d077bce547e48f770770625c6013679e" -dependencies = [ - "crossbeam-utils", -] - [[package]] name = "crossbeam-deque" version = "0.8.7" @@ -1872,18 +1857,6 @@ version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "66b7e2430c6dff6a955451e2cfc438f09cea1965a9d6f87f7e3b90decc014099" -[[package]] -name = "enum-as-inner" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn 2.0.117", -] - [[package]] name = "enumflags2" version = "0.7.12" @@ -2825,52 +2798,6 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -[[package]] -name = "hickory-proto" -version = "0.25.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8a6fe56c0038198998a6f217ca4e7ef3a5e51f46163bd6dd60b5c71ca6c6502" -dependencies = [ - "async-trait", - "cfg-if", - "data-encoding", - "enum-as-inner", - "futures-channel", - "futures-io", - "futures-util", - "idna", - "ipnet", - "once_cell", - "rand 0.9.5", - "ring", - "thiserror 2.0.18", - "tinyvec", - "tokio", - "tracing", - "url", -] - -[[package]] -name = "hickory-resolver" -version = "0.25.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc62a9a99b0bfb44d2ab95a7208ac952d31060efc16241c87eaf36406fecf87a" -dependencies = [ - "cfg-if", - "futures-util", - "hickory-proto", - "ipconfig", - "moka", - "once_cell", - "parking_lot", - "rand 0.9.5", - "resolv-conf", - "smallvec", - "thiserror 2.0.18", - "tokio", - "tracing", -] - [[package]] name = "hkdf" version = "0.13.0" @@ -3326,19 +3253,6 @@ dependencies = [ "libc", ] -[[package]] -name = "ipconfig" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d40460c0ce33d6ce4b0630ad68ff63d6661961c48b6dba35e5a4d81cfb48222" -dependencies = [ - "socket2 0.6.5", - "widestring", - "windows-registry", - "windows-result 0.4.1", - "windows-sys 0.61.2", -] - [[package]] name = "ipnet" version = "2.12.1" @@ -3813,23 +3727,6 @@ dependencies = [ "windows-sys 0.61.2", ] -[[package]] -name = "moka" -version = "0.12.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957228ad12042ee839f93c8f257b62b4c0ab5eaae1d4fa60de53b27c9d7c5046" -dependencies = [ - "crossbeam-channel", - "crossbeam-epoch", - "crossbeam-utils", - "equivalent", - "parking_lot", - "portable-atomic", - "smallvec", - "tagptr", - "uuid 1.23.1", -] - [[package]] name = "moxcms" version = "0.8.1" @@ -4509,10 +4406,6 @@ name = "once_cell" version = "1.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" -dependencies = [ - "critical-section", - "portable-atomic", -] [[package]] name = "oneclient_app" @@ -5683,7 +5576,6 @@ dependencies = [ "futures-core", "futures-util", "h2", - "hickory-resolver", "http 1.5.0", "http-body", "http-body-util", @@ -5694,7 +5586,6 @@ dependencies = [ "log", "mime", "mime_guess", - "once_cell", "percent-encoding", "pin-project-lite", "quinn", @@ -5736,12 +5627,6 @@ dependencies = [ "web-sys", ] -[[package]] -name = "resolv-conf" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7" - [[package]] name = "rfd" version = "0.17.2" @@ -6863,12 +6748,6 @@ dependencies = [ "libc", ] -[[package]] -name = "tagptr" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" - [[package]] name = "tar" version = "0.4.46" @@ -7898,12 +7777,6 @@ version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "998767ef88740d1f5b0682a9c53c24431453923962269c2db68ee43788c5a40d" -[[package]] -name = "widestring" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72069c3113ab32ab29e5584db3c6ec55d416895e60715417b5b883a357c3e471" - [[package]] name = "winapi" version = "0.3.9" diff --git a/Cargo.toml b/Cargo.toml index 17105633..22395c66 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -87,8 +87,6 @@ reqwest = {version = "=0.13.3", default-features = false, features = [ "gzip", "brotli", "form", - "hickory-dns", # Without this reqwest sees only the HTTP_PROXY/HTTPS_PROXY env vars, and # ignores the proxy configured in Windows Internet Options or macOS network # preferences — which is how school and workplace networks are set up. Those - # users could reach every service in a browser but not from here. "system-proxy", ]} reqwest-websocket = {version = "=0.6.0"} diff --git a/packages/oneclient_net/src/service.rs b/packages/oneclient_net/src/service.rs index 13036ce2..f5010cb0 100644 --- a/packages/oneclient_net/src/service.rs +++ b/packages/oneclient_net/src/service.rs @@ -115,18 +115,7 @@ impl RequestClient { env!("CARGO_PKG_HOMEPAGE") )); - // Hickory must be explicitly off on Windows it reads UDP into a fixed - // buffer and Windows fails oversized datagrams with WSAEMSGSIZE (10040) - // instead of truncating breaking sign-in for large DNS replies - #[cfg(target_os = "windows")] - { - builder = builder.no_hickory_dns(); - } - - #[cfg(not(target_os = "windows"))] - { - builder = builder.hickory_dns(true); - } + builder = builder.no_hickory_dns(); let client = builder.build()?; diff --git a/packages/oneclient_polyplus/src/lib.rs b/packages/oneclient_polyplus/src/lib.rs index 743a7aae..9c969148 100644 --- a/packages/oneclient_polyplus/src/lib.rs +++ b/packages/oneclient_polyplus/src/lib.rs @@ -90,8 +90,7 @@ pub fn start(auth: Arc) { } fn build_client() -> Result { - #[cfg_attr(not(target_os = "windows"), allow(unused_mut))] - let mut builder = reqwest::Client::builder() + let builder = reqwest::Client::builder() .tcp_keepalive(Some(Duration::from_secs(15))) .connect_timeout(Duration::from_secs(10)) // reqwest-websocket only supports Http <1.1 @@ -103,14 +102,7 @@ fn build_client() -> Result { env!("CARGO_PKG_HOMEPAGE") )); - // Same WSAEMSGSIZE problem as the main client see `oneclient_net::service` - // `hickory-dns` is enabled workspace-wide so opt out explicitly - #[cfg(target_os = "windows")] - { - builder = builder.no_hickory_dns(); - } - - builder.build() + builder.no_hickory_dns().build() } fn base_url() -> &'static str {