Commit Graph

51 Commits

Author SHA1 Message Date
世界
32f91a4faa Fix FakeIP returning error for unconfigured address family
Return SUCCESS with empty answers instead of an error when the
queried address family has no range configured. Reject configurations
where neither inet4_range nor inet6_range is set.
2026-04-14 14:15:20 +08:00
世界
fd28e167b9 Fix DNS transport returning error for empty AAAA response
Closes #3925
2026-03-23 19:21:55 +08:00
世界
baf76d88ad Fix connector canceled dial cleanup 2026-03-15 17:56:37 +08:00
世界
559eb5ed71 Fix local DNS transport CNAME chain broken with systemd-resolved
Replace D-Bus ResolveRecord API with direct raw DNS queries to upstream
servers obtained from systemd-resolved's per-interface link properties.
2026-03-09 20:06:34 +08:00
世界
23e2d28c21 Fix DNS exchange failure and recursion deadlock in connector
Co-authored-by: everyx <lunt.luo@gmail.com>
2026-03-06 15:31:22 +08:00
世界
82482741df Fix fake-ip address allocation 2026-03-03 21:37:24 +08:00
dyhkwong
28c1f2c51e Fix IPv6 local DNS on Windows 2026-03-01 12:30:43 +08:00
世界
f085917d8c Fix DNS transports 2026-01-17 05:48:41 +08:00
世界
9b7dc7f877 Revert "Stop using DHCP on iOS and tvOS" 2026-01-17 05:47:32 +08:00
世界
529f050a56 Use a more conservative strategy for resolving with systemd-resolved for local DNS server 2026-01-17 05:46:23 +08:00
世界
63a1edc0de Update quic-go to v0.55.0 2026-01-17 05:46:13 +08:00
世界
47392e55a2 Add support for kTLS
Reference: https://gitlab.com/go-extension/tls
2026-01-17 05:44:42 +08:00
世界
6f00a94eb9 Fix resolve using resolved 2026-01-17 05:44:29 +08:00
世界
958799e85e Stop using DHCP on iOS and tvOS
We do not have the `com.apple.developer.networking.multicast` entitlement and are unable to obtain it for non-technical reasons.
2026-01-17 05:44:28 +08:00
世界
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
世界
dd489ab415 Use resolved in local DNS server if available 2026-01-17 05:44:28 +08:00
neletor
6fdd08ac2d Add support for ech retry configs 2026-01-17 05:44:26 +08:00
Gavin Luo
e923f63606 Fix reset buffer in dhcp response loop
Previously, the buffer was not reset within the response loop. If a packet
handle failed or completed, the buffer retained its state. Specifically,
if `ReadPacketFrom` returned `io.ErrShortBuffer`, the error was ignored
via `continue`, but the buffer remained full. This caused the next
read attempt to immediately fail with the same error, creating a tight
busy-wait loop that consumed 100% CPU.

Validates `buffer.Reset()` is called at the start of each iteration to
ensure a clean state for 'ReadPacketFrom'.
2026-01-05 17:46:59 +08:00
世界
8179612f4d Fix trailing dot handling in local DNS transport 2025-10-16 21:43:12 +08:00
世界
869528acba Improve HTTPS DNS transport 2025-10-09 23:45:23 +08:00
世界
c525437256 Fix UDP exchange for local/dhcp DNS servers 2025-09-13 12:26:48 +08:00
世界
f0292d30ef Fix TCP exchange for local/dhcp DNS servers 2025-09-12 21:58:48 +08:00
世界
709cdc1f95 Fix DNS exchange 2025-09-12 18:05:02 +08:00
世界
71089ea924 Fix dhcp fetch 2025-09-12 11:03:13 +08:00
世界
f419d0ce5e Fix timeout check 2025-09-10 22:42:40 +08:00
世界
979b6df8d2 Fix DNS packet size 2025-09-08 09:12:30 +08:00
世界
5a401ea2bf Improve DHCP DNS server 2025-09-02 17:55:26 +08:00
世界
8d5f1ad310 Update golangci-lint to v2 2025-08-13 23:37:40 +08:00
Youfu Zhang
00dbe21d73 Fix libresolv initialization
Fixes: 76f7c003ca ("Update libresolv usage")

Signed-off-by: Youfu Zhang <zhangyoufu@gmail.com>
2025-08-10 20:06:28 +08:00
世界
b64231debe Fix UDP DNS buffer size 2025-07-18 12:20:33 +08:00
世界
c9064a4d34 Fix DNS reject check 2025-07-08 13:14:46 +08:00
世界
427804fe30 Fixed DoH server recover from conn freezes 2025-07-08 13:14:45 +08:00
世界
76f7c003ca Update libresolv usage 2025-07-08 13:14:45 +08:00
世界
ca912aa72f Add resolved service and DNS server 2025-07-08 13:14:41 +08:00
安容
3ee134a6ec Report invalid DNS address early 2025-07-08 13:12:34 +08:00
世界
a296b1da3f Fix DNS lookup 2025-07-08 13:12:33 +08:00
caelansar
80d3e7dd99 Fix callback deletion in UDP transport 2025-07-08 13:12:32 +08:00
世界
4f83e98736 Improve local DNS server 2025-07-08 13:12:32 +08:00
iikira
39ef5ddde0 Fix UDP DNS server crash
Signed-off-by: iikira <i2@mail.iikira.com>
2025-07-08 13:12:31 +08:00
dyhkwong
8fb559781c Fix DNS over QUIC stream close 2025-07-08 13:12:30 +08:00
世界
96f078e252 Explicitly reject detour to empty direct outbounds 2025-07-08 13:12:28 +08:00
世界
e41fdfe58a option: Fix marshal legacy DNS options 2025-07-08 13:12:26 +08:00
世界
cb56bdbfef Fix http3 DNS server connecting to wrong address 2025-07-08 13:12:25 +08:00
k9982874
fe2239266a Fix hosts DNS server 2025-07-08 13:12:24 +08:00
世界
f11a17ebd1 Fix UDP DNS server crash 2025-07-08 13:12:24 +08:00
世界
6cae3e54d1 Move predefined DNS server to rule action 2025-07-08 13:12:23 +08:00
世界
854ce0d574 Fix DNS fallback 2025-07-08 13:12:21 +08:00
世界
092c2919d8 documentation: Fix missing hosts DNS server 2025-07-08 13:12:20 +08:00
世界
2a623c4b2f Add fallback local DNS server for iOS 2025-07-08 13:12:18 +08:00
世界
1345ed2ff2 Get darwin local DNS server from libresolv 2025-07-08 13:12:18 +08:00