[Adium-devl] Out of process plugins (was: Distant objects)

Joe Ranieri joe at sirg3.com
Fri May 4 12:37:37 UTC 2007


>> Not exactly what I had in mind, hehe. I was thinking more of an
>> iChatAgent style daemon (which I've dubbed DaemonDuck :-P). I've
>> started at refactoring out stuff to do this but it'll take a while...
>>
> So, you mentioned when posting about the plugin / hack to get Mail  
> to use Adium presence information that this could be done more  
> cleanly with Adium allowing out-of-process access as you suggest  
> here.  Was that with the idea of a 'daemon' in mind, or something  
> else?

It could be done without it; I just thought that having a daemon was  
the route Adium was going anyways. The small patch I mentioned  
earlier would make out-of-process access doable - it's just exposing  
the shared AIAdium instance to the rest of the apps on the computer.

In terms of security, you *might* be that you could deny access to  
incoming connections based on bundle ID or something. So you could  
have a dialog saying that Process Xylophone wants to access Adium and  
that it could be a security problem (because the process would have  
access to all of the controllers and from that, passwords, etc).

NSConnection has two delegate methods -  
authenticateComponents:withData: and authenticationDataForComponents:  
- but it seems they're only for ensuring the integrity of the data  
and not seeing if the connection should be allowed... There's the  
NSConnection object that has a sendPort property (NSPort, but for  
this it's a NSMachPort) and I don't see a way to go from an  
NSMachPort / mach_port_t to a pid_t... So I'm not sure if denying  
based on some criteria is possible.

-- Joe Ranieri




More information about the devel mailing list