Questions tagged [macos-system-extension]

System Extension bundles were introduced with macOS 10.15 as eventual replacements for kernel extensions.

System Extension bundles were introduced with macOS 10.15 as eventual replacements for kernel extensions.

66 questions
2
votes
0 answers

MacOS Network Extensions equivalent to Kernel extensions?

With the release of Big Sur - Network Kernel extensions are now officially inaccessible. However I cannot find the equivalent functionality I need in the new Network Extensions API. In my NKE (network kernel extension) - i was able to control the…
horseyguy
  • 29,455
  • 20
  • 103
  • 145
2
votes
1 answer

How to access the IOMemoryBufferDescriptor in CompleteAsyncIO, which is sent through AsyncIO on Interrupt EP

I am trying to send request using AsyncIO for Interrupt EP, for AsyncIO I have created IOMemoryBufferDescriptor, once IOMemoryBufferDescriptor, Create is success I used GetAddressRange and stored Address in ivars structure of dext. For this request…
david
  • 413
  • 5
  • 20
2
votes
1 answer

Can `new` and `delete` be used in a DriverKit driver?

DriverKit provides IONewZero and IOSafeDeleteNULL. Those does not call any constructor or destructor. Let's say that I would like to have some class in the ivars structure. The class does not need to inherit from OSObject nor IOService. How should…
tuple_cat
  • 1,165
  • 2
  • 7
  • 22
2
votes
1 answer

Create a Dext for legacy codeless kext without an app?

I am writing a DriverKit dext but I dont have any app. My original kext requires no app. In this case, how do I port the original codeless kext to new dext assuming I need an app to load the dext?
2
votes
1 answer

Not called at Start method of USB DriverKit

I am writing a DriverKit dext and can activate it using System Extension framework. I have the entitlements in place for usb which is com.apple.developer.driverkit is set to true com.apple.developer.driverkit.transport.usb has been added as…
Baab
  • 179
  • 6
2
votes
1 answer

Are callbacks serialised to a DriverKit driver?

I need to enqueue in and out requests on bulk, interrupt and isochronous endpoints at the same time. Can I expect that all callbacks from these requests to come one by one? Or can expect multiple callbacks at the same time?
tuple_cat
  • 1,165
  • 2
  • 7
  • 22
1
vote
0 answers

DNSProxyProvider is not getting installed

I've created a MacOS app project which contains System Network Extension (DNS proxy). With help of https://developer.apple.com/forums/thread/81103?answerId=246229022 and How to use NEDNSProxyProvider in iOS 11. I enabled DNSProxyProvider. When I…
1
vote
0 answers

macOS network extension - activate vpn provider failed on startVPNTunnel

I'm trying to start the vpn provider from a container application After I successfully activated the extension, and started the process by sending xpc request to the network extension, I've tried to load the provider and start getting notifications…
Zohar81
  • 4,554
  • 5
  • 29
  • 82
1
vote
1 answer

VPN System Extension blocked even though it's notarized, requires user open macOS System Preferences. Is it b/c the app is not on the mac AppStore?

I have an application that we're developing that provides VPN System Extension for macOS. I have successfully built, signed and notarized the app. When we install the package the user sees this popup: The program tried to load new system…
1
vote
0 answers

XCode - How to create bundled CLI tool application

I'm new to XCode, so maybe I'm missing something that is very easy, but how can I create a CLI tool with XCode and bundle it with a system extension I compiled? I want to create a console app that is bundled with my system extension and…
Aviv David
  • 21
  • 1
1
vote
1 answer

IOPCIDevice invalidated when calling from a different user process

I'm working with Apple's DriverKitUserClientSample code as a basis, but I'm trying to use the PCIDriverKit. In my MyClass::Start method I successfully get the IOPCIDevice from the provider, and call Open() and GetBusDeviceFunction() on it, getting…
jreing
  • 281
  • 1
  • 11
1
vote
0 answers

macOS enable reduce transparency option except for dock and menu bar

I want to make the reduce transparency option enabled across macos except for the dock and menu bar. Is there a way to make that happen in macOS big sur?
Nawaf
  • 87
  • 1
  • 2
  • 6
1
vote
2 answers

Filtering outgoing TCP traffic to specific IP with macOS Network Extension

I'm using Network Extension to filter the outgoing TCP traffic to specific IP: import NetworkExtension import os.log class FilterDataProvider: NEFilterDataProvider { override func startFilter(completionHandler: @escaping (Error?) -> Void) { …
MeirS
  • 41
  • 3
1
vote
3 answers

Should macOS driverkit system extensions be arm64 or arm64e for Apple Silicon / M1?

I compile a macOS driverkit system extension as a Universal library so that it contains both x86_64 and arm64. One Apple Silicon computer A the driver starts when I attach the USB device. On Apple Silicon computer B I can see kernel:…
tuple_cat
  • 1,165
  • 2
  • 7
  • 22
1
vote
1 answer

Is it possible to create child IOUSBHostDevice with DriverKit?

With KEXT it was possible to allocate needed class (i.e. IOUSBHostDevice) do init(), attach(), set needed properties and call registerService() of this object. With DEXT we have got IOService::Create() method only which accepts property key name…
Alex
  • 11
  • 2