What is the next available API for kauth and Network Kernel Extension as both are deprecated on MAC OS 10.15?

We have a solution to move all cold data (Unused for a long time) from expensive storage to cloud to save storage cost on CIFS server. All files which are moved to cloud are marked as offline (The file attribute FILE_ATTRIBUTE_OFFLINE set on files).


When users access those files from Windows CIFS client, Windows OS recognizes the FILE_ATTRIBUTE_OFFLINE attribute and does not recall files from cloud to create thumbnail or preview while browsing the files unless users explicitly open a file object.


In MacOS, The FILE_ATTRIBUTE_OFFLINE attribute is not honoured and recall all files to create thumbnail and preview while browsing files in Finder by QuickLookSatellite, which is very expensive to the customers.


We implemented kauth API to block downloads from thumbnail processes and also Network Kernel Extension API to track all SMB calls for informing our server about MAC OS is the client.


But from MAC 10.15 Release notes[1], figured out that both kauth and NKE are deprecated on MAC OS 10.15 and above.


Is there any alternative (to Kauth and NKE) or interface to access an offline attribute from SMBClient to kernel and user space?

Alternatively, can we leverage any API or system attribute that is used by Apple’s iCloud for not downloading files on browsing?


[1] https://developer.apple.com/documentation/macos_release_notes/macos_catalina_10_15_beta_8_release_notes

  • The Network Kernel Extension API is now deprecated. (49284108)
  • The kauth API has been deprecated. (50419013)



Thanks in advance.

Accepted Reply

The natural successor to kauth is some combination of EndpointSecurity and ExecutionPolicy. The natural successor to NKEs is one of the various NetworkExtension technologies we introduced in 10.15 beta. WWDC 2019 Session 714 Network Extensions for the Modern Mac is good summary of those technologies.

Having said that, none of these are a great match for your requirements. Ideally the Mac should be better about honouring SMB’s concept of offline files. When you started this project, did you file an enhancement request along those lines? If so, what was the bug number?

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Replies

The natural successor to kauth is some combination of EndpointSecurity and ExecutionPolicy. The natural successor to NKEs is one of the various NetworkExtension technologies we introduced in 10.15 beta. WWDC 2019 Session 714 Network Extensions for the Modern Mac is good summary of those technologies.

Having said that, none of these are a great match for your requirements. Ideally the Mac should be better about honouring SMB’s concept of offline files. When you started this project, did you file an enhancement request along those lines? If so, what was the bug number?

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Hi Quinn,


One of my team member had raised the bug for the same. Here is the bug id - https://bugreport.apple.com/web/?problemID=48189135


Feedback assistant id - https://feedbackassistant.apple.com/feedback/5339891

Feedback report for Finder - https://feedbackassistant.apple.com/feedback/7323090

Please let me know, if I need to raise feedback against other component? SMBUtil is not present under component.


If MAC honors SMB's offline bit, it is of greater help to us. We even contacted Apple technical support team which is available through priviledged account, but the they closed our request by asking us to contact helpline directly.

Later we ended up doing too many changes at server, windows, mac box side to support icloud way of display of files on MAC.


Hope for the resolution from Apple side with support for SMB offline bit. Thanks for the help.