Skip to content

Support for sandboxed plugins (screensavers) in 2.x #1544

@glouel

Description

@glouel

Hi !

This is a followup to this issue : #1476

I thought I'd give a shot to 2.x/xpc branch to see if that solved the sandboxing issues introduced in Catalina for screensavers (which are now sandboxed in a very weird way by a container, more info in original issue). I followed this guide (https://christiantietze.de/posts/2019/06/sparkle-xpc-or-no/) and it all looked straightforward.

When launching the updater though, it correctly downloads then fail with that error :

Capture d’écran 2020-02-04 à 18 52 40

Here's what I get in the Console :

erreur	18:49:50.630389+0100	kernel	Sandbox: legacyScreenSave(17773) deny(1) authorization-right-obtain config.add.com.JohnCoates.Aerial.sparkle-auth
erreur	18:49:50.630611+0100	legacyScreenSaver	Failed to make auth right set
erreur	18:49:50.630413+0100	authd	Sandbox denied authorizing right 'config.add.com.JohnCoates.Aerial.sparkle-auth' by client '/System/Library/Frameworks/ScreenSaver.framework/PlugIns/legacyScreenSaver.appex' [17773] (engine 1502)
erreur	18:49:50.637489+0100	kernel	Sandbox: legacyScreenSave(17773) deny(1) authorization-right-obtain com.JohnCoates.Aerial.sparkle-auth
erreur	18:49:50.637710+0100	legacyScreenSaver	Failed copying system domain rights: -60005
erreur	18:49:50.637502+0100	authd	Sandbox denied authorizing right 'com.JohnCoates.Aerial.sparkle-auth' by client '/System/Library/Frameworks/ScreenSaver.framework/PlugIns/legacyScreenSaver.appex' [17773] (engine 1503)
erreur	18:49:50.637583+0100	authd	copy_rights: authorization failed
erreur	18:49:50.638010+0100	legacyScreenSaver	Failed to submit installer job

So if I read that correctly, the host (legacyScreenSaver.appex) denies some auth thing ? I digged a bit into the code, found that it likely happens in SUInstallerLauncher.m, in :

- (SUInstallerLauncherStatus)submitInstallerAtPath:(NSString *)installerPath

I'm not 100% sure what those rights are, the code mentions that it should pop a system prompt (for authorizing xpc?) but I didn't see a thing. Any idea is appreciated, although I completely understand that this (a screensaver) is very much an edge case that Catalina put in a very weird state. Thanks !

Metadata

Metadata

Assignees

No one assigned

    Labels

    2.xSparkle 2.0

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions