Detachable libpurple - RPC system

Jorge Villaseñor salinasv at gmail.com
Tue Jun 8 21:44:42 EDT 2010


On Sun, Jun 6, 2010 at 12:06 AM,  <gillou.ray at free.fr> wrote:
> Hello,
>
> I'm currently working on the detachable libpurple session project
> (google summer of code) [0]. An important part of this project is the
> choice of the technology used to make the remote calls. I discovered
> that there are many RPC standards and implementations. I identified some
> criteria our system would have to idealy provide (sorted by importance,
> IMHO):

<snip>

> I red some docs and tutorial about DBus. It seems to be a good choice
> as it provide # 1, 2, 3, 4 and 5. It's well designed and provides a
> good abstraction. However, DBus isn't designed for TCP/IP remote
> connections, though this transport is implemented. DBus authentication
> is based on socket uid or magic cookies [1], this only makes sense in
> the scope of a single machine. Currently we would have to avoid
> authentication, or to implement another authentication method in DBus
> and get it accepted by the DBus developpers. The same goes for the
> encryption that relies to DBus and isn't implemented [2]. So # 6 and 7
> would remain unachieved.

I do think DBus is the way to go (take a look at eggdbus) TCP/IP would not
be an issue since you can always ssh your box and then attach finch It
also solves authentications since DBus can handle user sessions.

On the other hand DBus can have some issues about loosing sessions
but I'm not sure if that's a common issue or I have something wrong in
my configuration.

> I'm not very experienced in RPC, maybe there are others technologies
> that would fit our needs? Do you think it's a good idea to make another
> RPC system from scratch that would perfectly match our needs?
>
> [0] http://developer.pidgin.im/wiki/GSoC2010/DetachableLibpurple
> [1] http://dbus.freedesktop.org/doc/api/html/dbus-auth_8c-source.html#l01270
> [2] http://lists.freedesktop.org/archives/dbus/2010-June/012891.html
>
>                -- Gilles

-- 
Masca




More information about the Devel mailing list