mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 18:18:55 +00:00
<img width="1552" alt="Screenshot 2023-12-12 at 11 29 43 PM" src="https://github.com/firezone/firezone/assets/167144/d517c830-64a8-462d-8cb5-c41835fa2059"> Found a reliable way to return default system DNS resolvers on iOS and macOS. Even if this method is not perfect, I think it's still worth pursuing because: * Many administrators will set an upstream resolver in the portal anyway (bypassing client system resolvers) * It unifies our Split DNS approach across platforms (assuming we can query the default system resolvers on Windows), allowing connlib to intercept all DNS queries on all platforms. This opens the door for some interesting feature possibilities in the area of malicious query blocking. This also makes DNS bugs easier to investigate because there's only one codepath for packets to take. See https://github.com/firezone/firezone/issues/2859 Draft because it needs more testing and I need to figure out the `RustVec<RustString>` type for the Swift -> Rust FFI. Refs #2713