News for hackers. Stuff that matters.
Re:macOS Kernel Extensions are officially deprecated by tssva on Thursday February 06, 2020 @07:21AM (#22255477)
I would guess a VPN program which provides a layer 2 VPN option. utun only supports layer 3 VPNs.
Re:macOS Kernel Extensions are officially deprecated by IgorPartola on Thursday February 06, 2020 @07:31AM (#22255519)
Just like iOS. Which sucks because being able to be on my home network while not physically at home would have been nice in the past, mostly before Spotify was a thing.
Re:macOS Kernel Extensions are officially deprecated by pmjordan on Thursday February 06, 2020 @09:14AM (#22256047)
DriverKit has support for building ethernet drivers:

https://developer.apple.com/documentation/networkingdriverki...

I could imagine this being used for implementing a layer 2 VPN.

Re:macOS Kernel Extensions are officially deprecated by tssva on Thursday February 06, 2020 @04:11PM (#22260351)
ZeroTier has eliminated the use of the tap kernel extension in releases 1.42+ when used on macOS 10.13+. They aren't using DriverKit but a combination of poorly and undocumented features. They expect to eventually have to develop a DriverKit based implementation. Details at https://www.zerotier.com/how-zerotier-eliminated-kernel-exte...
Re:macOS Kernel Extensions are officially deprecated by pmjordan on Friday February 07, 2020 @06:28AM (#22265001)
DriverKit has only been around since 10.15 so currently it's not easy to correctly support a range of versions with everything so massively in flux and Apple's aggressive deprecation schedule. Writing and maintaining macOS system level software (including drivers, etc.) has generally become a pretty big headache since around 10.13, stuff is constantly breaking due to OS changes and regressions.

This obviously always happened to some extent, but the pace of breaking changes and bugs picked up massively around that time - I think a large part of the problem is that Apple's own developers don't actually need to use any of these features themselves, so they are just dumped onto 3rd party developers in a half-arsed state. I'm thinking of kernel extension authorisation (which was super buggy in earlier 10.13.x releases and still has weird quirks), various user consent additions (there are no APIs for directly checking or prompting for many of the permissions, let alone notifications when the user grants or revokes consent), DriverKit, EndpointSecurity, etc.