Commit Graph

73 Commits

Author SHA1 Message Date
Shtorm
9e4eb52a82 Update sing-box core 2026-02-22 14:46:42 +03:00
世界
1a0e413300 Fix matching multi predefined 2026-02-15 19:20:31 +08:00
世界
264e7ad3ee Fix DNS cache lock goroutine leak
The cache deduplication in Client.Exchange uses a channel-based lock
per DNS question. Waiting goroutines blocked on <-cond without context
awareness, causing them to accumulate indefinitely when the owning
goroutine's transport call stalls. Add select on ctx.Done() so waiters
respect context cancellation and timeouts.
2026-02-06 22:28:30 +08:00
Shtorm
61826bc189 Resolve conflicts 2026-01-18 21:53:22 +03: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
世界
4eb91d69fe Fix DNS cache not working when domain strategy is set
The cache lookup was performed before rule matching, using the caller's
strategy (usually AsIS/0) instead of the resolved strategy. This caused
cache misses when ipv4_only was configured globally but the cache lookup
expected both A and AAAA records.

Remove LookupCache and ExchangeCache from Router, as the cache checks
inside client.Lookup and client.Exchange already handle caching correctly
after rule matching with the proper strategy and transport.
2025-12-21 16:59:10 +08:00
Shtorm
e7a31d7a4c Resolve conflicts 2025-11-02 17:39:38 +03:00
世界
8179612f4d Fix trailing dot handling in local DNS transport 2025-10-16 21:43:12 +08:00
世界
a3b3955f1c Fix DNS reject panic 2025-10-14 23:40:19 +08:00
世界
eb4cacec06 Fix DNS negative caching to comply with RFC 2308 2025-10-09 23:45:23 +08:00
Mahdi
e331ae8a92 Fix dns cache in lookup 2025-10-09 23:45:23 +08:00
世界
869528acba Improve HTTPS DNS transport 2025-10-09 23:45:23 +08:00
Mahdi
82648278eb Fix dns truncate 2025-10-05 17:58:21 +08:00
Shtorm
650e57feff Resolve conflicts 2025-09-14 23:44:29 +03:00
世界
c525437256 Fix UDP exchange for local/dhcp DNS servers 2025-09-13 12:26:48 +08:00
世界
475dc17c8a Do not cache DNS responses with empty answers 2025-09-13 03:04:08 +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
世界
bce6af069f Treat requests with OPT extra but no options as simple requests 2025-09-08 09:12:30 +08:00
世界
979b6df8d2 Fix DNS packet size 2025-09-08 09:12:30 +08:00
世界
45387f3231 Fix DNS client 2025-09-08 09:12:30 +08:00
世界
38c5d92a0c Fix DNS cache 2025-09-08 09:12:30 +08:00
世界
5a401ea2bf Improve DHCP DNS server 2025-09-02 17:55:26 +08:00
世界
3b96bed864 Fix local DNS server on legacy windows 2025-09-02 17:55:26 +08:00
世界
831e92816e Fix failed DNS responses being incorrectly rejected 2025-08-19 11:14:46 +08:00
Shtorm
1ebc3a2d10 Resolve conflicts 2025-08-15 12:57:47 +03:00
Shtorm
b2c1eb1e48 Resolve conflicts 2025-08-15 12:56:52 +03: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
世界
8dd9c55c1e Fix dns.client_subnet ignored 2025-07-08 13:14:43 +08:00
世界
ca912aa72f Add resolved service and DNS server 2025-07-08 13:14:41 +08:00
世界
6a244312ed Fix set edns0 client subnet 2025-07-08 13:14:38 +08:00
世界
7f583a3508 Handle EDNS version downgrade 2025-07-08 13:12:35 +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
世界
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
世界
076ed3c69a Add wildcard name support for predefined records 2025-07-08 13:12:27 +08:00
世界
e41fdfe58a option: Fix marshal legacy DNS options 2025-07-08 13:12:26 +08:00
世界
db26a9cc5f Fix DNS lookup context pollution 2025-07-08 13:12:25 +08:00