Running two apps with network extension at the same time

What happens when I try to run my app with the DNS proxy provider in network extension while another app with the same extension is already running? Will it throw an error?

Replies

To start, running two different apps that contain a Network Extension provider is not an issue. NE providers are only relevant if you install (for system extensions) and then configure them.

If you configure two different providers then the general behaviour is that both are consulted in turn. Currently there’s no supported way to guarantee this order.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Thank you for replying. What happens when one app is a VPN app? Also, is it possible to do DNS resolution using the DNSProxyprovider system extension? If not, Is there a way to do DNS resolution using the network extension?

My aim is to resolve all the domains with *example.com to a specific DNS server.

I don’t really understand your specific questions, but let me address this:

My aim is to resolve all the domains with *example.com to a specific DNS server.

A DNS proxy extension can’t do this. It’s is an all-or-nothing affair [1]. The extension is expected to handle all the flows it receives. Moreover, it has to handle all the requests that travel over each flow.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

[1] With the exception that, in a managed environment on iOS 16 and friends, you can configure it to work per-app.

Is there any system extension that can be configured to resolve DNS for specific domains in macOS? (similar to defining resolver in /etc/resolver/)

Is there any system extension that can be configured to resolve DNS for specific domains in macOS?

To what end?

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

I want to set the nameserver of a specific domain to a custom value. I want to write a reply to the DNS request for a specific domain. Can I do that in DNSProxyProvider? Please share the sample code If available.

Can I do that in DNSProxyProvider?

No (didn’t I say that already?).

I want to set the nameserver of a specific domain to a custom value.

I understand your technical requirements. I’m asking why you’re trying to do this? What sort of product are you building? What are the expected deployment channels for that product? And how does this fit into that product’s overall goal?

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

@eskimo

We are getting an issue when DNS Proxy Provider from two different vendors is getting installed. Th DNS Proxy Provider network extension remains active for the app which is installed later and other become inactive with error “NEProviderStopReasonConfigurationDisabled”.

Question: Can Mac system have two DNS Proxy Provider remain active from two different vendors ?

Can Mac system have two DNS Proxy Provider remain active from two different vendors?

It looks like you’ve already shown that it can’t.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"