ralphm.net

ralphm's blog

Monday, 17 October 2005

Twisted Virtual Sprint results

The aftermath...

A I mentioned last week, the Twisted crowd held its first Twisted Virtual Sprint. I believe many made progress, so I'd say it was a success. Personally, I managed to finalize the reworking of Xish and the Jabber stuff in Words as a precursor to implement full XMPP support.

For months I had been sporadically working on this, and I'm happy to say that I finally committed it to Trunk. The Jabber part of Words got its own xmlstream module that builds on the stripped xmlstream in Xish. I also added a lot of docstrings to the code I touched, so people might have more clue on how to use it.

I also decided to gather the people actually using these modules by setting up a new mailinglist: Twisted-Jabber. The initial set of people includes the authors of the projects pyMSNt, pyAIMt, pyICQt, PunJab and Twibber. If I somehow forgot to invite you or your project, consider this your invitation. It seems pretty constructive already, so that's pretty nice.

In the coming period, I hope to finish a pure-XMPP client authenticator using TLS and SASL, along with some wrapper that can also use old-skool jabber:iq:auth authentication when connecting to pre-XMPP 1.0 servers. Some people have pointed me towards a sslverify module in Divmod's repository, for certificate verification.

Furthermore, I will add support for creating XML stanzas somewhat easier, like the IQ class in twisted.words.protocols.jabber.client, along with a sendDeferred method that returns a deferred that fires when a reply has been received. Received error replies will be converted to exceptions that can be trapped. Also, sending back errors will become somewhat easier.

Next on the list is server-to-server functionality. This requires handling incoming connections, which also comes in handy for implementing services that handle incoming component and client connections. A small server implementation shouldn't be too far off then.

We'll see how this works out, but I'll report progress over here.