Posts

Post not yet marked as solved
4 Replies
2.9k Views
In System Preferences -> Sharing, we can see and change Computer Name, like "Bob's Macbook Pro", the system will convert it to Local Hostname like "Bobs-Macbook-Pro". Is there any documents describe how to convert the special characters in Computer Name to Local Hostname? Thanks,xhu
Posted
by xhu.
Last updated
.
Post marked as solved
1 Replies
330 Views
First of all, it's only for Developer ID App, not for Mac Store App.We have legacy Cocoa Application A. We don't want to embed the System Extensions in it because the changing would be too much. Instead, we're thinking of developing the other container App B to embed the System Extensions, and adding B to A as Helper App (like Build Phase->Copy Bundle Resources). Then A application can simply launch B application to enable the System Extensions. I want to know if it's actually feasible? Could it pass Notarization? Thanks,Xin
Posted
by xhu.
Last updated
.
Post not yet marked as solved
5 Replies
774 Views
My question is how can I use NETransparentProxy to proxy a specific App's traffic without knowing its network traffic destination information?For example, for most of web accessing, we know the destination port is 80 or 443. We can set the detination port 80 and 443 to NETransparentProxyNetworkSettings.includedNetworkRules, in [NEAppProxyProvider handleNewFlow] method, we can figure out which App the traffic belongs to via NEAppProxyFlow.metaData, then we can decide if we want to proxy it or not.However, for some Apps, especially for those Video/Audio Apps like Zoom, we don't know the network destination info, then how can we proxy its network traffic?Thanks,Xin
Posted
by xhu.
Last updated
.
Post marked as solved
4 Replies
742 Views
Let's say Mac has two Internet connections. One is LAN, the other is Wifi. LAN is primaryInterface. In NE Transparent Proxy provider, I want to split tunnel based on App/Process or destination IP address. For example, in [MyNEAppProxyProvider(subclass of NEAppProxyProvider) handleNewFlow:flow], if the destination IP is IP1, I want this traffc to go through Wifi. So I call BSD bind() to Wifi address, connect() to IP1, then transfer data between flow and the new connection(via Wifi). Is it possbile to do it in this way? Any help would be appreciated.
Posted
by xhu.
Last updated
.
Post not yet marked as solved
1 Replies
587 Views
I know Catalina introduces System Extensions to deprecate NKEs kext. in macOS 10.15 SDK, I can see#define __NKE_API_DEPRECATED __API_DEPRECATED("Network Kernel Extension KPI is deprecated", macos(10.4, 10.15))is already in kpi_ipfilter.h and kpi_socketfilter.h.However, I didn't see any similar definition in kpi_interface.h as well as kpi_interfacefilter.h and kpi_protocol.h. Does it mean in 10.16, we can still install a kext using interface and interface filter KPIs? For example, a virtual adapter interface kext which uses interface KPIs. I think there are user cases which is NOT VPN but requires virtual adapter (i.e. VMWare Fusion?).
Posted
by xhu.
Last updated
.
Post marked as solved
13 Replies
2k Views
I'm working on moving App NetworkExtension based Packet Tunnel Provider VPN client to SystemExtension in Catalina. The way to set network setting is like[ g_packettunnel setTunnelNetworkSettings:tns completionHandler:^(NSError * _Nullable error){ if (error) { os_log(OS_LOG_DEFAULT, "Set tunnel settings failed with error %@", error); } else { os_log(OS_LOG_DEFAULT, "Set tunnel settings success"); } [tns release];}].In SystemExtension, the compmletionHandler never be called. However, in App NetworkExtension, it works well. Does anybody has similar issue? Is this a SystemExtension bug?
Posted
by xhu.
Last updated
.