14 Commits

Author SHA1 Message Date
世界
3de913c420
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-21 09:44:15 +08:00
世界
25b9ae17c4
Use libresolv in local DNS server on darwin 2025-08-21 09:44:14 +08:00
世界
354cfe9899
Use resolved in local DNS server if available 2025-08-21 09:44:13 +08:00
世界
378e39f70c
Update golangci-lint to v2 2025-08-13 23:37:40 +08:00
Youfu Zhang
fba802effd
Fix libresolv initialization
Fixes: 9533031891c0 ("Update libresolv usage")

Signed-off-by: Youfu Zhang <zhangyoufu@gmail.com>
2025-08-10 20:06:28 +08:00
世界
c0dd4a3f07
Fix DNS reject check 2025-07-08 13:14:46 +08:00
世界
9533031891
Update libresolv usage 2025-07-08 13:14:45 +08:00
世界
349db7baec
Fix DNS lookup 2025-07-08 13:12:33 +08:00
世界
aadb44ebd6
Improve local DNS server 2025-07-08 13:12:32 +08:00
世界
fb622ccbdf
Explicitly reject detour to empty direct outbounds 2025-07-08 13:12:28 +08:00
世界
668923c392
Fix DNS fallback 2025-07-08 13:12:21 +08:00
世界
9a5f69f435
Add fallback local DNS server for iOS 2025-07-08 13:12:18 +08:00
世界
5c4211e849
Get darwin local DNS server from libresolv 2025-07-08 13:12:18 +08:00
世界
3016338e34
refactor: DNS 2025-07-08 13:12:14 +08:00