
The user must then select the checkbox Reduced Security and the option “Allow user management of kernel extensions from identified developers” and restart the Mac.Īll of these requirements can also be bypassed (if the machine is unmanaged or the sysadmin allows it) by turning off System Integrity Protection, which is a similar process as described above. Only when recoveryOS is entered using the power button press will the Secure Enclave accept the change of policy. The user must press and hold the power button to restart into recoveryOS and authenticate as an administrator. > Kext management by the user requires a restart to recoveryOS to downgrade security settings. Instead, users have to go through a process to enable them, and this process can be disabled on managed machines. In 2020, Apple started shipping ARM-based Macs, and by default, they don't allow the loading of any third-party extensions. This initially caused some headaches for system administrators automating the deployment of multiple machines, but eventually solutions to this were implemented. In 2017, Apple updated the OS to require a multi-step user confirmation before installing a kext. This allows Apple to decide who can sign kernel extensions, and allows them to revoke the signing certificate for individual extensions. In 2015, Apple updated the OS to require that kexts be signed by a certificate in the Apple Developer program. So if the File Provider API is so bad, and it's sill possible to load kexts, why doesn't Dropbox continue to use a kext? File Providers allow them to do the same thing, but, as evidenced by this article, there are limitations as to where the files can live, and there are some bugs. Dropbox used to rely on a kernel extension to intercept file access. The File Provider API is one of these system extensions. Apple is developing userspace extension APIs to perform actions that were traditionally handled by popular kexts. "System extensions", in this context, refers to extensions that the OS loads into userspace. Users should prefer solutions that don’t require extending the kernel and use system extensions instead. Kexts risk the integrity and reliability of the operating system. > Kexts are no longer recommended for macOS. here's what Apple currently has to say about them. To answer this question explicitly, it's currently possible to jump through some hoops to run kernel extensions, but Apple has been slowly tightening the requirements over the past few years. However, it seems that Apple provides replacement userspace APIs, but is not really receptive to issues that developers have with them.
DROPBOX MACOS VENTURA CODE
In general, I am very happy that Apple is on a mission to ban kexts, I don't want closed source third-party code to run in the kernel. So Apple decided that the kauth API should go (probably for other reasons), but more importantly that thirt-party kexts should go. However, having third-party code running in kernel space is a huge liability, besides opening a huge possibility for state-sanctioned backdoors, it opens another venue for security vulnerabilities that give kernel-level access. Dropbox did this before using a kernel extension, so that it can hook into the kernel kauth framework. The issue is that you need to intercept file I/O to make transparent sync work.
DROPBOX MACOS VENTURA SOFTWARE
But if dropbox is just another proprietary piece of software running hacks, I can’t really blame Apple. Or at the very least, they could have attempted to publish a standard. And it's much easier to understand and work with than manually managing selective sync. Why not? It's a very handy feature for a lot of users who don't have the disk space available to store their complete Dropbox folder. Perhaps shouldn’t exist in the first place

That said, this hack (pretending your files are on disk) is arguably a fragile one, and perhaps shouldn’t exist in the first place (assuming it’s not a networked file system, which I believe it’s not). Dropbox cannot afford to simply throw their hands up and blame the users for not being technical enough. Non-techies will find it incredibly annoying to map individual subtrees leading to missing files, upfront sync costs when you need those, and running out of disk space.


I don’t know how others do it, but I assume that you’d have to manually maintain mappings between a subtree in the cloud to one on disk, or alternatively run out of disk space if you want to have everything synced.
DROPBOX MACOS VENTURA FULL
I agree, but I think it’s important to point out: I believe the main feature they need is to sync the full file tree without having to download the actual files until needed.
