fix(apple): use all found system resolvers (#9991)

When validating the found system resolvers on macOS and iOS, we would
stop after validating the first found resolver (usually IPv4) because
`break` was used instead of `continue`.

Fixes #9914

---------

Signed-off-by: Thomas Eizinger <thomas@eizinger.io>
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
This commit is contained in:
Jamil
2025-07-24 17:02:34 -04:00
committed by GitHub
parent aebfcd56eb
commit e9a863dc0e
2 changed files with 6 additions and 2 deletions

View File

@@ -463,12 +463,12 @@ extension Adapter: CallbackHandlerDelegate {
for stringAddress in resolvers {
if let ipv4Address = IPv4Address(stringAddress) {
parsedResolvers.append("\(ipv4Address)")
break
continue
}
if let ipv6Address = IPv6Address(stringAddress) {
parsedResolvers.append("\(ipv6Address)")
break
continue
}
Log.warning("IP address \(stringAddress) did not parse as either IPv4 or IPv6")

View File

@@ -25,6 +25,10 @@ export default function Apple() {
<Entries downloadLinks={downloadLinks} title="macOS / iOS">
{/* When you cut a release, remove any solved issues from the "known issues" lists over in `client-apps`. This must not be done when the issue's PR merges. */}
<Unreleased>
<ChangeItem pull="9991">
Fixes an issue where only the first system DNS resolver was used to
forward queries instead of all found ones.
</ChangeItem>
<ChangeItem pull="9985">
Fixes an issue where control plane messages could be stuck forever on
flaky connections, requiring signing out and signin back in to