Skip to content

fix tls dialer when tls.enabled is false#3505

Closed
nunu6689 wants to merge 41 commits intoSagerNet:dev-nextfrom
nunu6689:nunu6689-fix-tls-enabled-false
Closed

fix tls dialer when tls.enabled is false#3505
nunu6689 wants to merge 41 commits intoSagerNet:dev-nextfrom
nunu6689:nunu6689-fix-tls-enabled-false

Conversation

@nunu6689
Copy link
Copy Markdown

tls.NewDialer() should return nil if config is nil. Because tls.NewClientWithOptions() always return nilwhentls.Enabled == false`.

fixed #3419, #3466

Zephyruso and others added 30 commits October 27, 2025 22:50
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`.
We do not have the `com.apple.developer.networking.multicast` entitlement and are unable to obtain it for non-technical reasons.
@nekohasekai nekohasekai force-pushed the dev-next branch 22 times, most recently from 83b00a1 to daef974 Compare December 17, 2025 14:18
@nekohasekai nekohasekai force-pushed the dev-next branch 8 times, most recently from fced8e7 to ba353b6 Compare December 25, 2025 07:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

tls 字段缺少 enabled: true 时会直接崩溃

5 participants