sing-box/dns
世界 48f84b31d6
Improve local DNS server on darwin
We mistakenly believed that `libresolv`'s `search` function worked correctly in NetworkExtension, but it seems only `getaddrinfo` does.

This commit changes the behavior of the `local` DNS server in NetworkExtension to prefer DHCP, falling back to `getaddrinfo` if DHCP servers are unavailable.

It's worth noting that `prefer_go` does not disable DHCP since it respects Dial Fields, but `getaddrinfo` does the opposite. The new behavior only applies to NetworkExtension, not to all scenarios (primarily command-line binaries) as it did previously.

In addition, this commit also improves the DHCP DNS server to use the same robust query logic as `local`.
2026-01-17 05:44:28 +08:00
..
transport Improve local DNS server on darwin 2026-01-17 05:44:28 +08:00
client.go Fix DNS cache not working when domain strategy is set 2025-12-21 16:59:10 +08:00
client_log.go refactor: DNS 2025-07-08 13:12:14 +08:00
client_truncate.go Fix dns truncate 2025-10-05 17:58:21 +08:00
extension_edns0_subnet.go Fix set edns0 client subnet 2025-07-08 13:14:38 +08:00
rcode.go Fix DNS exchange 2025-09-12 18:05:02 +08:00
router.go Fix DNS cache not working when domain strategy is set 2025-12-21 16:59:10 +08:00
transport_adapter.go refactor: Outbound domain resolver 2025-07-08 13:12:14 +08:00
transport_dialer.go Fix DNS packet size 2025-09-08 09:12:30 +08:00
transport_manager.go Improve local DNS server on darwin 2026-01-17 05:44:28 +08:00
transport_registry.go refactor: DNS 2025-07-08 13:12:14 +08:00