Network Filter extension Interop queries

Hi


1. Network extension documents are either in objective c or swift

Does Network extension API support C++, if yes, is there any document?


2. In the real world, Many Network extensions (e.g. Content filters) will be running developed by different vendors like Antivirus vendors, Firewall vendors, etc.

How does Network Extension framework arbitrate/adjudicate among multiple Network Extension running simultaneously on the system?


Thanks

Anand

Replies

Hi all,


I have the same question regarding to C++ support in Network Extension API. Does anyone have any news about it?


Thanks and regards.

Cris.

Hello,


I'm also interteted in develping Network Extensions in C++. Is is possible? Any Documentation?


Thanks.

Regards.

I would be very interested too. Did you find anything ?

The Network Extension provider API is Objective-C based. If you have a C++ core then you should interact with this API in the same way you’d interact with any other Objective-C API, that is, using Objective-C++.

Share and Enjoy

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

  • Thank you for your prompt answer. When developing Network Extension providers, can we not have a system extension and use the "main" application to do the filtering of the flows, or we do absolutely need to install a system extension ? Would the installation of a filter provider need supervision from the user or can be installed without any interaction from the user? (e.g. MDM solution) Thanks

Add a Comment

I apologise if this is a duplicated post but I wrote a comment to your response and apparently now it is gone.

I was thanking you for the prompt response. I had more question though about that approach: 1 . would it be possible to have a Network Extension provider "installed" into the bundled app rather than having it in a system extension ? 2. would the Network Extension provider installation need to be supervised (e.g. user enables in System Preference) or it is possible to have it installed without user interaction? (e.g. MDM solution )

Thank you in advance

1. would it be possible to have a Network Extension provider "installed" into the bundled app rather than having it in a system extension?

That depends on what you mean by “installed”. NE providers are always packaged as either an app extension or a system extension. It’s not possible to implement an NE provider in any other context. The appex or sysex is then packaged inside a container app.

2. would the Network Extension provider installation need to be supervised (e.g. user enables in System Preference) or it is possible to have it installed without user interaction? (e.g. MDM solution )

We usually use the term “supervised” to mean something else entirely. I think you mean “requires user interaction” in the quote above. So, presuming that…

It is possible to install the NE container app via MDM and then push configuration profiles that configure its embedded provider.

Share and Enjoy

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