Commit Graph

5 Commits

Author SHA1 Message Date
世界
ce778e569b 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
世界
35242d198b Fail when default DNS server not found 2025-07-08 13:12:28 +08:00
世界
96f078e252 Explicitly reject detour to empty direct outbounds 2025-07-08 13:12:28 +08:00
世界
1345ed2ff2 Get darwin local DNS server from libresolv 2025-07-08 13:12:18 +08:00
世界
f75ade1991 refactor: DNS 2025-07-08 13:12:14 +08:00