sing-box/dns
世界 3d251a9ede
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-09-23 17:22:02 +08:00
..
transport Fix local DNS server on darwin 2025-09-23 17:22:02 +08:00
client.go Do not cache DNS responses with empty answers 2025-09-13 03:04:08 +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 Fix DNS exchange 2025-09-12 18:05:02 +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 Fix DNS packet size 2025-09-08 09:12:30 +08:00
transport_manager.go Use libresolv in local DNS server on darwin 2025-09-23 17:22:01 +08:00
transport_registry.go refactor: DNS 2025-07-08 13:12:14 +08:00