Repository navigation
Conversation
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.
Users who temporarily configure public DNS servers must currently delete and retype them to return to their home network's DNS. Add a “Use custom DNS” switch beside the two saved DNS addresses. Turning it off reloads the VPN with network DNS, disables the address fields and preserves their values for later reuse.
The switch defaults to enabled so existing installations and older backups retain their behaviour. IPv6-only resolver selection and public fallback remain unchanged. Secure DNS and WireGuard DNS keep their existing precedence, explained in the setting summary. Disabled saved local resolvers no longer count towards local-network permission prompts.
Closes #969 via the requested simple toggle option.
Validation: 43 focused JVM tests passed (
CustomDnsTest,LocalNetworkAccessTest,ServiceSinkholeSecureDnsTest,ActivitySettingsTest);:app:lintGithubDebugandgit diff --checkpassed. New coverage exercises switching away and back without losing either address, old settings, IPv6-only network DNS, preference dependencies and local-network permission detection. No physical-device DNS handover test performed.CI also exposed an existing scheduler-dependent WireGuard test: 1,000
Thread.yield()calls could finish before the stopping thread ran. The two affected race tests now wait for lifecycle invalidation with a monotonic deadline and always release their callback gates during cleanup. Production WireGuard code is unchanged. The fulltestFdroidDebugUnitTest --offlinesuite subsequently passed locally: 507 tests, no failures or skips.