The ‘NEVPNProtocol.includeAllNetworks’ is not working on iOS 16+

https://developer.apple.com/documentation/networkextension/nevpnprotocol/3131931-includeallnetworks

The ‘includeAllNetworks’ property was introduced in iOS 14 to allow VPN configuration on iOS to force all network traffic through the VPN tunnel, to prevent any leaks outside the tunnel.

Older version of this document said:


"A Boolean value that indicates whether the system sends all network traffic over the tunnel."

Current documentation says:

"A Boolean value that indicates whether the system sends most network traffic over the tunnel."

There are a few issues with this change:

  1. The change in functionality was introduced without any notice or change in developer documentation. The documentation was updated almost a year after the change in functionality. The property should have been deprecated in iOS 16, and the new property should have been introduced. I would suggest a more accurate name - ‘includeMostNetworks’ instead of ‘includeAllNetworks’.
  2. After reading the updated documentation, it is not clear what the ‘includeAllNetworks’ actually does, as when it is disabled, the VPN also sends most network traffic over the tunnel.
  3. In iOS 16 and above, there is no way to configure a VPN tunnel without iOS bypassing the tunnel and leaking traffic to Apple servers.

I would suggest a more accurate name - ‘includeMostNetworks’ instead of ‘includeAllNetworks’.

For any change in documentation, API names, or API behavior I would open an Enhancement Request here.

Regarding:

After reading the updated documentation, it is not clear what the ‘includeAllNetworks’ actually does, as when it is disabled, the VPN also sends most network traffic over the tunnel.

The way I have always thought of this property is that it allows your tunnel to define a sweeping set of destination addresses without having to manually define all of these routes in your packet tunnel configuration.

The ‘NEVPNProtocol.includeAllNetworks’ is not working on iOS 16+
 
 
Q