[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