On Sep 11, 2013, at 5:53 AM, Gerriet M. Denkmann <[email protected]> wrote:

> I have this code:
> 
> AuthorizationRef      auth;
> OSStatus aa = AuthorizationCreate( NULL, kAuthorizationEmptyEnvironment, 
> kAuthorizationFlagDefaults, &auth);
> 
> const char *pathToTool = [ theHelperPath fileSystemRepresentation ];
> const char *const arguments[] = { "--self-repair", NULL };
> FILE *communicationsPipe;
> aa = AuthorizationExecuteWithPrivileges       (       auth, 
>                                                                               
>         pathToTool, 
>                                                                               
>         kAuthorizationFlagDefaults, 
>                                                                               
>         (char * const *)arguments, 
>                                                                               
>         &communicationsPipe
>                                                                               
> );
> 
> int fileDescriptor = fileno( communicationsPipe );
> NSFileHandle *readHandel = [ [ NSFileHandle alloc ] initWithFileDescriptor: 
> fileDescriptor ];
> 
> ... some reading from readHandel
> 
> int yy = fclose( communicationsPipe );
> 
> works fine, but Xcode is telling me that AuthorizationExecuteWithPrivileges 
> is deprecated since 10.7.
> 
> I asked Xcode about this (expecting something like: "use this instead") but 
> got no answer.
> 
> So what to do?
> My HelperTool needs to run as root. How is this to be done?

You have to use SMJobBless to install the tool as root, and then pick your 
favorite form of IPC to communicate with it (XPC is best, if you can require 
10.7).

Charles


_______________________________________________

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