Unify local DNS behavior of Cgo and pure Go resolver#15
Closed
dyhkwong wants to merge 2 commits intoSagerNet:devfrom
dyhkwong:fix-pure-go-local
Closed
Unify local DNS behavior of Cgo and pure Go resolver#15dyhkwong wants to merge 2 commits intoSagerNet:devfrom dyhkwong:fix-pure-go-local
dyhkwong wants to merge 2 commits intoSagerNet:devfrom
dyhkwong:fix-pure-go-local
Conversation
|
直接使用 |
Contributor
Author
|
Go resolver 不使用自定义 Dial 应已不会引起 destination 被错误覆盖的问题,已恢复原代码。 |
我这边提一嘴哈,从sing-dns是一个可独立使用的第三方出发来看,如果取消了local的自定义 Dial感觉有点扼杀了它的特性。对于sing-dns而言transport_local其实是有保持Cgo和纯 Go解析器行为一致的,是它引用的底层包没有做到这点。所以我觉得保留自定义的Dial,并参考transport_tcp.go在 |
Contributor
Author
|
也许吧,你不妨按你的想法 PR 一个看看?
|
bda82fb to
e88a7cb
Compare
cb35bb0 to
f20dc0f
Compare
c6f02f9 to
0a21cc9
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
SagerNet/sing-box#1681
For Go resolver,
localDNS must set adetour, its traffic will go through sing-box and destination will be incorrectly overridden. This PR make Go resolver's traffic ignoredetourand not go through sing-box, just like Cgo resolver's behavior.P.S. On Windows, Cgo resolver doesn't rely on the Cgo tool, and resolver prefers Cgo to Go, so even if compiling with CGO_ENABLED=0, sing-box will still use the Cgo resolver.