Re: Prevent Quarantine message on helper app
Re: Prevent Quarantine message on helper app
- Subject: Re: Prevent Quarantine message on helper app
- From: Ken Thomases <email@hidden>
- Date: Mon, 02 Jul 2012 19:51:52 -0500
On Jul 2, 2012, at 5:10 PM, Trygve Inda wrote:
> When users open my prefpane for the first time they get the OS quarantine
> message. Then my prefpane has to open a helper app and it pauses for about
> 30 seconds and then throws up another quarantine message... This time for
> the helper.
>
> How can I have the main app prevent the quarantine message on the helper?
Well, if the prefpane had been in a user-writable location, the OS should have removed quarantine on it (and everything within its bundle) automatically when the user approved opening the item the first time.
I would suggest iterating over your helper app's bundle and calling LSSetItemAttribute(&<FSRef to item>, kLSRolesAll, kLSItemQuarantineProperties, NULL) on every item in it, but that won't help if the items aren't writable.
You can use a privileged helper tool to do this if the prefpane has been copied to a location that's only writable by admins. In that case, you might prefer to use removexattr() to remove the "com.apple.quarantine" attribute. It's a bit of a hard call. On the one hand, you should generally avoid high-level frameworks in privileged tools to minimize the attack surface. On the other hand, I don't think that Apple has documented that quarantine information is stored in that extended attribute, so there's no guarantee that removing it actually accomplishes the lifting of quarantine.
Regards,
Ken
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden