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 protected])

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to