sing-box/dns
世界 b18c002b3c
Fix 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`.
2025-08-20 09:22:03 +08:00
..
transport Fix local DNS server on darwin 2025-08-20 09:22:03 +08:00
client.go Fix DNS reject check 2025-07-08 13:14:46 +08:00
client_log.go refactor: DNS 2025-07-08 13:12:14 +08:00
client_truncate.go refactor: DNS 2025-07-08 13:12:14 +08:00
extension_edns0_subnet.go Fix set edns0 client subnet 2025-07-08 13:14:38 +08:00
rcode.go Add fallback local DNS server for iOS 2025-07-08 13:12:18 +08:00
router.go Fix failed DNS responses being incorrectly rejected 2025-08-19 11:14:46 +08:00
transport_adapter.go refactor: Outbound domain resolver 2025-07-08 13:12:14 +08:00
transport_dialer.go Explicitly reject detour to empty direct outbounds 2025-07-08 13:12:28 +08:00
transport_manager.go Use libresolv in local DNS server on darwin 2025-08-20 09:22:02 +08:00
transport_registry.go refactor: DNS 2025-07-08 13:12:14 +08:00