[launchd-dev] upgrading a helper tool with SMJobBless

Richard Brown rabrown at quantumcheese.com
Wed Feb 16 11:13:27 PST 2011


The SMobBless documentation specifies that '[t]he helper tool must
have an embedded Info.plist containing an "SMAuthorizedClients" array
of strings. Each string is a textual representation of a code signing
requirement describing a client which is allowed to add and remove the
tool.'

Let's say I write an application MyApp with a privileged helper tool
MyTool (com.mydomain.MyTool).  MyApp 1.0 satisfies MyTool 1.0's
codesigning requirement.  Later, I release version 2.0, but I've had
to change something about MyApp, and MyApp 2.0 no longer satisfies
MyTool 1.0's requirement.  What will happen when I try to upgrade
MyTool using SMJobBless?  Does an upgrade count as a remove+add, or
will the upgrade succeed?  If this will fail, what is a workaround?

I will file an enhancement request based on the answer, either for
clearer documentation (saying that upgrading in this manner is OK), or
for very clear warnings about this case and to consider the
SMAuthorizedClients requirements very carefully.

Thanks,
RB

-- 
Richard Brown
QuantumCheese Coding
rabrown at quantumcheese.com


More information about the launchd-dev mailing list