132 Commits

Author SHA1 Message Date
世界 fe1f022400 dns: Fix search domain expansion
DHCP option 119/15 and resolved link domains are not rooted, so appending
them to the query name produced a non-FQDN name, failing to pack with
"domain must be fully qualified".
2026-07-25 22:58:38 +08:00
世界 58affa1c6d Add JSON schema support 2026-07-25 22:58:38 +08:00
世界 5d744adaa3 dns: Add namespace and parallel support for evaluate 2026-07-23 21:08:26 +08:00
世界 e013b424fc dns: Probe connection reuse support for TCP transports 2026-07-22 16:29:39 +08:00
世界 4abdb6560a dns: Cache responses with client subnet 2026-07-22 15:30:33 +08:00
世界 a9d89ab2a3 Fix TCP DNS retry 2026-07-21 15:19:37 +08:00
世界 d2e030bdca Improve network reset 2026-07-19 17:50:02 +08:00
世界 3d2461f3ba refactor: Async DNS 2026-07-19 16:37:16 +08:00
世界 c8ee3497b2 refactor: New tun udpnat 2026-07-16 21:35:01 +08:00
世界 e34b57c3b0 boxdd: Add insecure mode 2026-07-16 00:38:31 +08:00
世界 1541f1bd71 Fix local DNS transport on darwin 2026-07-09 11:20:31 +08:00
世界 eaec0cf88b Add L3 forwarding support 2026-07-09 11:20:31 +08:00
世界 d82164b8f9 Improve DHCP DNS server initialize
Avoid querying DHCP DNS servers on cellular networks
2026-07-09 11:20:11 +08:00
世界 debdd189ac Refactor darwin local DNS to raw mDNSResponder call 2026-07-09 11:20:10 +08:00
世界 4f1bd8d876 dns: Remove unused files 2026-07-09 11:20:05 +08:00
世界 a1b55bcfea Fix tailscale dns 2026-07-09 11:19:55 +08:00
世界 409d506d19 dns: Fix DHCP reset 2026-07-09 11:19:45 +08:00
世界 3d5d0b0ca0 Fix lint errors 2026-07-09 11:19:45 +08:00
世界 59ad93ef52 dns: Add mDNS server 2026-07-09 11:19:16 +08:00
世界 7c722b3d50 dns: Add preferred_by rule item 2026-07-09 11:19:15 +08:00
世界 a81ca0f5c5 dns: Add neighbor-based hostname resolution to local server 2026-07-09 11:19:15 +08:00
世界 dbe307461c dns: Add timeout configuration 2026-07-09 11:19:14 +08:00
世界 b313d0cd10 Improve oom-killer 2026-07-09 11:19:14 +08:00
世界 23a132af2c Fix darwin cgo DNS again 2026-07-09 11:19:13 +08:00
世界 6b6de02112 Log DNS optimistic background refresh outcomes 2026-07-09 11:19:11 +08:00
世界 3660737223 Strip EDNS padding from upstream DNS responses 2026-07-09 11:19:10 +08:00
世界 9b97a0de6f Reject pure-IP rule-set references without match_response
DNS rules referencing rule-sets that contain only ip_cidr predicates
silently stopped matching when legacy DNS mode was disabled, because the
IP-CIDR branch cannot match against an in-flight DNS query. The existing
validation intentionally let every rule_set through on the premise that
mixed sets still work via their non-IP branches, which is only true when
such a branch exists. Track whether a rule-set carries any non-IP-CIDR
predicate and reject pure-IP references the same way bare ip_cidr fields
are already rejected.
2026-07-09 11:19:08 +08:00
世界 ed294d8c1e Standardize hosts path 2026-07-09 11:19:07 +08:00
世界 c1da99eede Refactor: HTTP clients, unified HTTP2/QUIC options, Apple engines 2026-07-09 11:19:07 +08:00
世界 c8101bf1b7 Add optimistic DNS cache 2026-07-09 11:17:55 +08:00
世界 a5bdaf5817 Fix darwin cgo DNS again 2026-07-09 11:17:55 +08:00
世界 c61e5820a5 Un-deprecate ip_accept_any DNS rule item 2026-07-09 11:17:51 +08:00
世界 f4c053e929 Fix darwin local DNS transport 2026-07-09 11:17:51 +08:00
世界 7b855595f4 Fix rules lock 2026-07-09 11:17:50 +08:00
nekohasekai daff1623b2 Add evaluate DNS rule action and related rule items 2026-07-09 11:17:47 +08:00
世界 7067276170 Fix quic-go write leak 2026-07-09 11:07:27 +08:00
世界 72a8723e13 Fix DNS query loopback deadlock from shared dedup lock 2026-06-20 20:36:19 +08:00
世界 761b7f4e12 Handle TUN loopback in direct outbound 2026-06-03 12:56:36 +08:00
世界 5e7fd7ad78 Fix lint errors 2026-05-13 23:39:27 +08:00
世界 383a1824c1 dns: Refactor reordered pool 2026-05-13 16:28:49 +08:00
世界 d166f0da8b dns: Fix conn pool leak 2026-05-13 16:28:49 +08:00
世界 6548c17110 dns: Fix deadline 2026-05-13 16:28:49 +08:00
世界 3312b8da50 Clean up DNS transports 2026-04-23 02:30:32 +08:00
世界 8e3176b789 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
Berkay Özdemirci 5a957fd750 Fix EDNS OPT record corruption in DNS cache
The TTL computation and assignment loops treat OPT record's Hdr.Ttl
as a regular TTL, but per RFC 6891 it encodes EDNS0 metadata
(ExtRCode|Version|Flags). This corrupts cached responses causing
systemd-resolved to reject them with EDNS version 255.

Also fix pointer aliasing: storeCache() stored raw *dns.Msg pointer
so subsequent mutations by Exchange() corrupted cached data.

- Skip OPT records in all TTL loops (Exchange + loadResponse)
- Use message.Copy() in storeCache() to isolate cache from mutations
2026-04-10 14:08:24 +08:00
世界 72bc4c1f87 Fix DNS transport returning error for empty AAAA response
Closes #3925
2026-03-23 19:21:55 +08:00
世界 0889ddd001 Fix connector canceled dial cleanup 2026-03-15 17:56:37 +08:00
世界 4d6fb1d38d Fix legacy DNS client_subnet options not working 2026-03-09 20:18:47 +08:00
世界 aa495fce38 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
世界 e343cec4d5 Fix legacy DNS defaults on final transport 2026-03-09 20:06:34 +08:00