fix(dns): adapt resolver chain to dns policy branch

This commit is contained in:
fanyang
2026-06-04 23:14:38 +08:00
parent e21046a5fa
commit 09e30aeff6
4 changed files with 234 additions and 152 deletions
Generated
+224 -141
View File
@@ -915,7 +915,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bfcfdc083699101d5a7965e49925975f2f55060f94f9a05e7187be95d530ca59" checksum = "bfcfdc083699101d5a7965e49925975f2f55060f94f9a05e7187be95d530ca59"
dependencies = [ dependencies = [
"once_cell", "once_cell",
"proc-macro-crate 3.2.0", "proc-macro-crate 3.5.0",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.117", "syn 2.0.117",
@@ -1981,37 +1981,6 @@ dependencies = [
"syn 2.0.117", "syn 2.0.117",
] ]
[[package]]
name = "derive_builder"
version = "0.20.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947"
dependencies = [
"derive_builder_macro",
]
[[package]]
name = "derive_builder_core"
version = "0.20.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8"
dependencies = [
"darling 0.20.10",
"proc-macro2",
"quote",
"syn 2.0.117",
]
[[package]]
name = "derive_builder_macro"
version = "0.20.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c"
dependencies = [
"derive_builder_core",
"syn 2.0.117",
]
[[package]] [[package]]
name = "derive_more" name = "derive_more"
version = "0.99.20" version = "0.99.20"
@@ -2262,28 +2231,29 @@ dependencies = [
"defguard_wireguard_rs", "defguard_wireguard_rs",
"delegate", "delegate",
"derivative", "derivative",
"derive_builder",
"derive_more 2.1.1", "derive_more 2.1.1",
"encoding", "encoding",
"flume 0.12.0", "flume 0.12.0",
"forwarded-header-value", "forwarded-header-value",
"futures", "futures",
"futures-util", "futures-util",
"gethostname 0.5.0", "getset",
"git-version", "git-version",
"globwalk", "globwalk",
"guarden", "guarden",
"hickory-client", "hickory-net",
"hickory-proto", "hickory-proto",
"hickory-resolver", "hickory-resolver",
"hickory-server", "hickory-server",
"hmac", "hmac",
"hostname",
"http", "http",
"http_req", "http_req",
"humansize", "humansize",
"humantime-serde", "humantime-serde",
"idna 1.0.3", "idna 1.0.3",
"igd-next", "igd-next",
"indexmap 2.14.0",
"indoc", "indoc",
"itertools 0.14.0", "itertools 0.14.0",
"kcp-sys", "kcp-sys",
@@ -2301,6 +2271,7 @@ dependencies = [
"nix 0.29.0", "nix 0.29.0",
"once_cell", "once_cell",
"openssl", "openssl",
"optionize",
"ordered_hash_map", "ordered_hash_map",
"parking_lot", "parking_lot",
"paste", "paste",
@@ -2308,7 +2279,7 @@ dependencies = [
"petgraph 0.8.1", "petgraph 0.8.1",
"pin-project-lite", "pin-project-lite",
"pnet", "pnet",
"prefix-trie", "prefix-trie 0.7.0",
"proc-macro2", "proc-macro2",
"prost", "prost",
"prost-build", "prost-build",
@@ -2332,6 +2303,7 @@ dependencies = [
"rustls", "rustls",
"serde", "serde",
"serde_json", "serde_json",
"serde_with",
"serial_test", "serial_test",
"service-manager", "service-manager",
"sha2", "sha2",
@@ -2385,7 +2357,7 @@ version = "0.1.0"
dependencies = [ dependencies = [
"android_logger", "android_logger",
"easytier", "easytier",
"jni", "jni 0.21.1",
"log", "log",
"once_cell", "once_cell",
"serde", "serde",
@@ -2414,7 +2386,7 @@ dependencies = [
"dashmap", "dashmap",
"dunce", "dunce",
"easytier", "easytier",
"gethostname 1.1.0", "gethostname",
"libc", "libc",
"once_cell", "once_cell",
"security-framework-sys", "security-framework-sys",
@@ -2701,24 +2673,6 @@ version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "66b7e2430c6dff6a955451e2cfc438f09cea1965a9d6f87f7e3b90decc014099" checksum = "66b7e2430c6dff6a955451e2cfc438f09cea1965a9d6f87f7e3b90decc014099"
[[package]]
name = "endian-type"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d"
[[package]]
name = "enum-as-inner"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc"
dependencies = [
"heck 0.5.0",
"proc-macro2",
"quote",
"syn 2.0.117",
]
[[package]] [[package]]
name = "enumflags2" name = "enumflags2"
version = "0.7.12" version = "0.7.12"
@@ -3300,16 +3254,6 @@ dependencies = [
"zeroize", "zeroize",
] ]
[[package]]
name = "gethostname"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc3655aa6818d65bc620d6911f05aa7b6aeb596291e1e9f79e52df85583d1e30"
dependencies = [
"rustix 0.38.34",
"windows-targets 0.52.6",
]
[[package]] [[package]]
name = "gethostname" name = "gethostname"
version = "1.1.0" version = "1.1.0"
@@ -3372,6 +3316,18 @@ dependencies = [
"wasip3", "wasip3",
] ]
[[package]]
name = "getset"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9cf0fc11e47561d47397154977bc219f4cf809b2974facc3ccb3b89e2436f912"
dependencies = [
"proc-macro-error2",
"proc-macro2",
"quote",
"syn 2.0.117",
]
[[package]] [[package]]
name = "ghash" name = "ghash"
version = "0.5.1" version = "0.5.1"
@@ -3735,45 +3691,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
[[package]] [[package]]
name = "hickory-client" name = "hickory-net"
version = "0.25.2" version = "0.26.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c466cd63a4217d5b2b8e32f23f58312741ce96e3c84bf7438677d2baff0fc555" checksum = "e2295ed2f9c31e471e1428a8f88a3f0e1f4b27c15049592138d1eebe9c35b183"
dependencies = [
"cfg-if",
"data-encoding",
"futures-channel",
"futures-util",
"hickory-proto",
"once_cell",
"radix_trie",
"rand 0.9.1",
"thiserror 2.0.11",
"tokio",
"tracing",
]
[[package]]
name = "hickory-proto"
version = "0.25.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8a6fe56c0038198998a6f217ca4e7ef3a5e51f46163bd6dd60b5c71ca6c6502"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"bytes", "bytes",
"cfg-if", "cfg-if",
"data-encoding", "data-encoding",
"enum-as-inner",
"futures-channel", "futures-channel",
"futures-io", "futures-io",
"futures-util", "futures-util",
"h2", "h2",
"hickory-proto",
"http", "http",
"idna 1.0.3", "idna 1.0.3",
"ipnet", "ipnet",
"once_cell", "jni 0.22.4",
"rand 0.9.1", "rand 0.10.1",
"ring",
"rustls", "rustls",
"serde", "serde",
"thiserror 2.0.11", "thiserror 2.0.11",
@@ -3782,50 +3718,76 @@ dependencies = [
"tokio-rustls", "tokio-rustls",
"tracing", "tracing",
"url", "url",
"webpki-roots 0.26.3", "webpki-roots 1.0.6",
]
[[package]]
name = "hickory-proto"
version = "0.26.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0bab31817bfb44672a252e97fe81cd0c18d1b2cf892108922f6818820df8c643"
dependencies = [
"data-encoding",
"idna 1.0.3",
"ipnet",
"jni 0.22.4",
"once_cell",
"prefix-trie 0.8.4",
"rand 0.10.1",
"ring",
"serde",
"thiserror 2.0.11",
"tinyvec",
"tracing",
"url",
] ]
[[package]] [[package]]
name = "hickory-resolver" name = "hickory-resolver"
version = "0.25.2" version = "0.26.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc62a9a99b0bfb44d2ab95a7208ac952d31060efc16241c87eaf36406fecf87a" checksum = "f0d58d28879ceecde6607729660c2667a081ccdc082e082675042793960f178c"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"futures-util", "futures-util",
"hickory-net",
"hickory-proto", "hickory-proto",
"ipconfig", "ipconfig",
"ipnet",
"jni 0.22.4",
"moka", "moka",
"ndk-context",
"once_cell", "once_cell",
"parking_lot", "parking_lot",
"rand 0.9.1", "rand 0.10.1",
"resolv-conf", "resolv-conf",
"rustls", "rustls",
"serde", "serde",
"smallvec", "smallvec",
"system-configuration 0.7.0",
"thiserror 2.0.11", "thiserror 2.0.11",
"tokio", "tokio",
"tokio-rustls", "tokio-rustls",
"tracing", "tracing",
"webpki-roots 0.26.3", "webpki-roots 1.0.6",
] ]
[[package]] [[package]]
name = "hickory-server" name = "hickory-server"
version = "0.25.2" version = "0.26.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d53e5fe811b941c74ee46b8818228bfd2bc2688ba276a0eaeb0f2c95ea3b2585" checksum = "130236ba6abba90da6a7acf7a87b27d862b592c3145dc74bc47bf86d8ff198ec"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"bytes", "bytes",
"cfg-if", "cfg-if",
"data-encoding", "data-encoding",
"enum-as-inner",
"futures-util", "futures-util",
"hickory-net",
"hickory-proto", "hickory-proto",
"hickory-resolver", "hickory-resolver",
"ipnet", "ipnet",
"prefix-trie", "prefix-trie 0.8.4",
"serde", "serde",
"thiserror 2.0.11", "thiserror 2.0.11",
"time", "time",
@@ -3861,6 +3823,17 @@ dependencies = [
"windows-sys 0.52.0", "windows-sys 0.52.0",
] ]
[[package]]
name = "hostname"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "617aaa3557aef3810a6369d0a99fac8a080891b68bd9f9812a1eeda0c0730cbd"
dependencies = [
"cfg-if",
"libc",
"windows-link 0.2.1",
]
[[package]] [[package]]
name = "html5ever" name = "html5ever"
version = "0.29.1" version = "0.29.1"
@@ -4046,7 +4019,7 @@ dependencies = [
"libc", "libc",
"percent-encoding", "percent-encoding",
"pin-project-lite", "pin-project-lite",
"socket2 0.5.10", "socket2 0.6.3",
"tokio", "tokio",
"tower-service", "tower-service",
"tracing", "tracing",
@@ -4558,19 +4531,68 @@ dependencies = [
"cesu8", "cesu8",
"cfg-if", "cfg-if",
"combine", "combine",
"jni-sys", "jni-sys 0.3.0",
"log", "log",
"thiserror 1.0.63", "thiserror 1.0.63",
"walkdir", "walkdir",
"windows-sys 0.45.0", "windows-sys 0.45.0",
] ]
[[package]]
name = "jni"
version = "0.22.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5efd9a482cf3a427f00d6b35f14332adc7902ce91efb778580e180ff90fa3498"
dependencies = [
"cfg-if",
"combine",
"jni-macros",
"jni-sys 0.4.1",
"log",
"simd_cesu8",
"thiserror 2.0.11",
"walkdir",
"windows-link 0.2.1",
]
[[package]]
name = "jni-macros"
version = "0.22.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a00109accc170f0bdb141fed3e393c565b6f5e072365c3bd58f5b062591560a3"
dependencies = [
"proc-macro2",
"quote",
"rustc_version",
"simd_cesu8",
"syn 2.0.117",
]
[[package]] [[package]]
name = "jni-sys" name = "jni-sys"
version = "0.3.0" version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
[[package]]
name = "jni-sys"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2"
dependencies = [
"jni-sys-macros",
]
[[package]]
name = "jni-sys-macros"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264"
dependencies = [
"quote",
"syn 2.0.117",
]
[[package]] [[package]]
name = "jobserver" name = "jobserver"
version = "0.1.32" version = "0.1.32"
@@ -5212,7 +5234,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4"
dependencies = [ dependencies = [
"bitflags 2.8.0", "bitflags 2.8.0",
"jni-sys", "jni-sys 0.3.0",
"log", "log",
"ndk-sys", "ndk-sys",
"num_enum", "num_enum",
@@ -5232,7 +5254,7 @@ version = "0.6.0+11769913"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873"
dependencies = [ dependencies = [
"jni-sys", "jni-sys 0.3.0",
] ]
[[package]] [[package]]
@@ -5248,7 +5270,7 @@ dependencies = [
"netlink-packet-route 0.17.1", "netlink-packet-route 0.17.1",
"netlink-sys", "netlink-sys",
"once_cell", "once_cell",
"system-configuration", "system-configuration 0.6.1",
"windows-sys 0.52.0", "windows-sys 0.52.0",
] ]
@@ -5359,15 +5381,6 @@ version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086"
[[package]]
name = "nibble_vec"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43"
dependencies = [
"smallvec",
]
[[package]] [[package]]
name = "nix" name = "nix"
version = "0.25.1" version = "0.25.1"
@@ -5586,7 +5599,7 @@ version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "680998035259dcfcafe653688bf2aa6d3e2dc05e98be6ab46afb089dc84f1df8" checksum = "680998035259dcfcafe653688bf2aa6d3e2dc05e98be6ab46afb089dc84f1df8"
dependencies = [ dependencies = [
"proc-macro-crate 3.2.0", "proc-macro-crate 2.0.0",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.117", "syn 2.0.117",
@@ -5937,6 +5950,30 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
[[package]]
name = "optionize"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f15b218321873a7919c8b2a188ad488bf18c067478274be4c69c3d402b2be3ea"
dependencies = [
"delegate",
"derive_more 2.1.1",
"optionize-macros",
]
[[package]]
name = "optionize-macros"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1af5a2aba73a1808cbb39b451aabb5f8dc5c9c73d68ce5e61b79f8892f775a0f"
dependencies = [
"darling 0.23.0",
"proc-macro-crate 3.5.0",
"proc-macro2",
"quote",
"syn 2.0.117",
]
[[package]] [[package]]
name = "ordered-float" name = "ordered-float"
version = "2.10.1" version = "2.10.1"
@@ -6666,6 +6703,17 @@ dependencies = [
"num-traits", "num-traits",
] ]
[[package]]
name = "prefix-trie"
version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4cf6e3177f0684016a5c209b00882e15f8bdd3f3bb48f0491df10cd102d0c6e7"
dependencies = [
"either",
"ipnet",
"num-traits",
]
[[package]] [[package]]
name = "prettyplease" name = "prettyplease"
version = "0.2.20" version = "0.2.20"
@@ -6706,11 +6754,11 @@ dependencies = [
[[package]] [[package]]
name = "proc-macro-crate" name = "proc-macro-crate"
version = "3.2.0" version = "3.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f"
dependencies = [ dependencies = [
"toml_edit 0.22.20", "toml_edit 0.25.12+spec-1.1.0",
] ]
[[package]] [[package]]
@@ -7063,16 +7111,6 @@ version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
[[package]]
name = "radix_trie"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd"
dependencies = [
"endian-type",
"nibble_vec",
]
[[package]] [[package]]
name = "rand" name = "rand"
version = "0.7.3" version = "0.7.3"
@@ -7399,7 +7437,7 @@ dependencies = [
"serde_json", "serde_json",
"serde_urlencoded", "serde_urlencoded",
"sync_wrapper", "sync_wrapper",
"system-configuration", "system-configuration 0.6.1",
"tokio", "tokio",
"tokio-native-tls", "tokio-native-tls",
"tokio-rustls", "tokio-rustls",
@@ -7574,7 +7612,7 @@ checksum = "1f168d99749d307be9de54d23fd226628d99768225ef08f6ffb52e0182a27746"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"glob", "glob",
"proc-macro-crate 3.2.0", "proc-macro-crate 3.5.0",
"proc-macro2", "proc-macro2",
"quote", "quote",
"regex", "regex",
@@ -7784,7 +7822,7 @@ checksum = "19787cda76408ec5404443dc8b31795c87cd8fec49762dc75fa727740d34acc1"
dependencies = [ dependencies = [
"core-foundation 0.10.0", "core-foundation 0.10.0",
"core-foundation-sys", "core-foundation-sys",
"jni", "jni 0.21.1",
"log", "log",
"once_cell", "once_cell",
"rustls", "rustls",
@@ -8583,6 +8621,16 @@ version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
[[package]]
name = "simd_cesu8"
version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94f90157bb87cddf702797c5dadfa0be7d266cdf49e22da2fcaa32eff75b2c33"
dependencies = [
"rustc_version",
"simdutf8",
]
[[package]] [[package]]
name = "simdutf8" name = "simdutf8"
version = "0.1.5" version = "0.1.5"
@@ -9142,6 +9190,17 @@ dependencies = [
"system-configuration-sys", "system-configuration-sys",
] ]
[[package]]
name = "system-configuration"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b"
dependencies = [
"bitflags 2.8.0",
"core-foundation 0.9.4",
"system-configuration-sys",
]
[[package]] [[package]]
name = "system-configuration-sys" name = "system-configuration-sys"
version = "0.6.0" version = "0.6.0"
@@ -9211,7 +9270,7 @@ dependencies = [
"gdkwayland-sys", "gdkwayland-sys",
"gdkx11-sys", "gdkx11-sys",
"gtk", "gtk",
"jni", "jni 0.21.1",
"libc", "libc",
"log", "log",
"ndk", "ndk",
@@ -9273,7 +9332,7 @@ dependencies = [
"heck 0.5.0", "heck 0.5.0",
"http", "http",
"image 0.25.10", "image 0.25.10",
"jni", "jni 0.21.1",
"libc", "libc",
"log", "log",
"mime", "mime",
@@ -9408,7 +9467,7 @@ version = "2.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d8f08346c8deb39e96f86973da0e2d76cbb933d7ac9b750f6dc4daf955a6f997" checksum = "d8f08346c8deb39e96f86973da0e2d76cbb933d7ac9b750f6dc4daf955a6f997"
dependencies = [ dependencies = [
"gethostname 1.1.0", "gethostname",
"log", "log",
"os_info", "os_info",
"serde", "serde",
@@ -9501,7 +9560,7 @@ dependencies = [
"dpi", "dpi",
"gtk", "gtk",
"http", "http",
"jni", "jni 0.21.1",
"objc2", "objc2",
"objc2-ui-kit", "objc2-ui-kit",
"objc2-web-kit", "objc2-web-kit",
@@ -9524,7 +9583,7 @@ checksum = "e11ea2e6f801d275fdd890d6c9603736012742a1c33b96d0db788c9cdebf7f9e"
dependencies = [ dependencies = [
"gtk", "gtk",
"http", "http",
"jni", "jni 0.21.1",
"log", "log",
"objc2", "objc2",
"objc2-app-kit", "objc2-app-kit",
@@ -9975,6 +10034,15 @@ dependencies = [
"serde_core", "serde_core",
] ]
[[package]]
name = "toml_datetime"
version = "1.1.1+spec-1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7"
dependencies = [
"serde_core",
]
[[package]] [[package]]
name = "toml_edit" name = "toml_edit"
version = "0.19.15" version = "0.19.15"
@@ -10012,6 +10080,18 @@ dependencies = [
"winnow 0.6.18", "winnow 0.6.18",
] ]
[[package]]
name = "toml_edit"
version = "0.25.12+spec-1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2153edc6955a6c354fad8f5efd38b6a8769bdccf9fe50f8e1329f81b0baa5d7"
dependencies = [
"indexmap 2.14.0",
"toml_datetime 1.1.1+spec-1.1.0",
"toml_parser",
"winnow 1.0.1",
]
[[package]] [[package]]
name = "toml_parser" name = "toml_parser"
version = "1.1.2+spec-1.1.0" version = "1.1.2+spec-1.1.0"
@@ -11859,6 +11939,9 @@ name = "winnow"
version = "1.0.1" version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09dac053f1cd375980747450bfc7250c264eaae0583872e845c0c7cd578872b5" checksum = "09dac053f1cd375980747450bfc7250c264eaae0583872e845c0c7cd578872b5"
dependencies = [
"memchr",
]
[[package]] [[package]]
name = "winreg" name = "winreg"
@@ -12060,7 +12143,7 @@ dependencies = [
"html5ever", "html5ever",
"http", "http",
"javascriptcore-rs", "javascriptcore-rs",
"jni", "jni 0.21.1",
"kuchikiki", "kuchikiki",
"libc", "libc",
"ndk", "ndk",
@@ -12123,7 +12206,7 @@ version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9993aa5be5a26815fe2c3eacfc1fde061fc1a1f094bf1ad2a18bf9c495dd7414" checksum = "9993aa5be5a26815fe2c3eacfc1fde061fc1a1f094bf1ad2a18bf9c495dd7414"
dependencies = [ dependencies = [
"gethostname 1.1.0", "gethostname",
"rustix 1.0.7", "rustix 1.0.7",
"x11rb-protocol", "x11rb-protocol",
] ]
@@ -12240,7 +12323,7 @@ version = "5.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "897e79616e84aac4b2c46e9132a4f63b93105d54fe8c0e8f6bffc21fa8d49222" checksum = "897e79616e84aac4b2c46e9132a4f63b93105d54fe8c0e8f6bffc21fa8d49222"
dependencies = [ dependencies = [
"proc-macro-crate 3.2.0", "proc-macro-crate 3.5.0",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.117", "syn 2.0.117",
@@ -12477,7 +12560,7 @@ version = "5.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b59b012ebe9c46656f9cc08d8da8b4c726510aef12559da3e5f1bf72780752c" checksum = "5b59b012ebe9c46656f9cc08d8da8b4c726510aef12559da3e5f1bf72780752c"
dependencies = [ dependencies = [
"proc-macro-crate 3.2.0", "proc-macro-crate 3.5.0",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.117", "syn 2.0.117",
+1 -1
View File
@@ -775,7 +775,7 @@ impl ConfigLoader for TomlConfigLoader {
.unwrap() .unwrap()
.hostname .hostname
.as_ref() .as_ref()
.map(sanitize) .map(|hostname| dns::sanitize(hostname))
.filter(|h| !h.is_empty()); .filter(|h| !h.is_empty());
self.set_hostname(hostname.clone()); self.set_hostname(hostname.clone());
+1
View File
@@ -21,6 +21,7 @@ use stun_codec::rfc5389::methods::BINDING;
use stun_codec::{Message, MessageClass, MessageDecoder, MessageEncoder}; use stun_codec::{Message, MessageClass, MessageDecoder, MessageEncoder};
use super::stun_codec_ext::*; use super::stun_codec_ext::*;
use crate::common::error::Error;
use crate::utils::dns::{resolve_host, txt_resolve}; use crate::utils::dns::{resolve_host, txt_resolve};
const DEFAULT_UDP_STUN_SERVERS: &[&str] = &[ const DEFAULT_UDP_STUN_SERVERS: &[&str] = &[
+8 -10
View File
@@ -12,8 +12,8 @@ use idna::AsciiDenyList;
use once_cell::sync::Lazy; use once_cell::sync::Lazy;
use std::net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr}; use std::net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr};
use std::sync::Arc; use std::sync::Arc;
use std::sync::atomic::AtomicBool;
use std::sync::RwLock; use std::sync::RwLock;
use std::sync::atomic::AtomicBool;
use tokio::net::lookup_host; use tokio::net::lookup_host;
const SYSTEM_DNS_RESOLVER: &str = "system"; const SYSTEM_DNS_RESOLVER: &str = "system";
@@ -55,7 +55,8 @@ fn build_hickory_resolver(
Ok(Arc::new( Ok(Arc::new(
TokioResolver::builder_with_config(config, TokioRuntimeProvider::default()) TokioResolver::builder_with_config(config, TokioRuntimeProvider::default())
.with_options(opts) .with_options(opts)
.build()?, .build()
.context("failed to build DNS resolver")?,
)) ))
} }
@@ -84,14 +85,11 @@ fn build_doh_resolver(raw: &str) -> Result<DnsResolver, Error> {
let name_servers = ips let name_servers = ips
.into_iter() .into_iter()
.map(|ip| { .map(|ip| {
NameServerConfig::new( let mut connection =
SocketAddr::new(ip, port), ConnectionConfig::https(server_name.clone(), http_endpoint.clone());
true, connection.port = port;
vec![ConnectionConfig::https(
server_name.clone(), NameServerConfig::new(ip, true, vec![connection])
http_endpoint.clone(),
)],
)
}) })
.collect::<Vec<_>>(); .collect::<Vec<_>>();