>> - internal keyring will segfault when another client connects from
> another machine (just saw that, will investigate, most likely some
> access to something that has been cleaned up).
>> Last minute edit : apparently, and after deeper testing, it looks like
> what seemed like a small XMPP bug is not an XMPP bug but a much larger
> bug. I guess I've broken something, likely in connection.c or
> something. It's getting pretty late though (nearly 8 am here), so I'll
> figure that out later. Forget what I said earlier, after restarting
> it, the current head of the branch does not work (really. don't even
> try.). If you still want to have fun, try pulling a revision or two
> earlier.
Those two issues where actually one and the same.
The code was trying to read the password before writing was finished. I
reverted it manually to use async accessors. I've just pushed a working
version of it.
I'm going to focus right now on getting those
purple_connection_disconnect_cb() and request_password_ok_cb() to play
nicely with the async password subsystem. Then I'm going to revert prpls
to their async code, and get them to use
purple_connection_get_password() rather than
purple_account_get_password(). This looks to me like a cleaner solution
(in regard to layering), and will make prpls easier to write.
Once the connection subsystem (I'm tempted to say "class") is working
well, the prpl part should be (hopefully) a piece of cake. I'll then be
able to work on cleanup.
-- Vivie