[wokkel] issues with disco and entity capabilities.

G'day everybody, While implementing Entity Capabilities (XEP-0115) on my client, I faced 2 issues with Wokkel: - if we have a disco info request with no "to" or "from" attribute (seen with Prosody), a KeyError exception is raised. The attached patch fix it. - I generate the hash with the result of disco.DiscoHandler.info with no node, and that include everything like VersionHandler's "jabber:iq:version" feature. That was working great with Prosody and Openfire, but not with Ejabberd (the notification for PEP was not included). After some investigations, I realised that jabber:iq:version feature is not added when there is a node in disco info request, and that's the case with XEP-0115, so the features list was different to the one used to generate the hash, and ejabberd was (silently :( ) rejecting it; resulting in no notification for Personal Eventing Protocol. I temporarily fixed the issue by overriding generic.VersionHandler.getDiscoInfo and forcing the node parameter to None, but this case should be managed in Wokkel. I have (partially) implemented XEP-0115 in my XMPP client (Salut à Toi: http://wiki.goffi.org/wiki/Salut_%C3%A0_Toi ), but it would be nice to add it to Wokkel. Last but not least, I have said a few months ago that I'd like to improve MUC branch for mainstream inclusion, I'm still interested in that, as my client is based on Twisted/Wokkel and I need MUC (I was just too busy so far to contribute on it :) ), but I need the help of Ralph Meijer or at least a Twisted guru if he is too busy to know exactly how and what. For the moment I need to make a dirty hack in my setup.py to use the MUC branch in my project... Cheers Goffi

Ooopppsss, wrong ML, was destined to twisted-jabber and not twisted-web... Sorry, it's late :( On 08/02/2011 02:13, goffi wrote:
G'day everybody,
While implementing Entity Capabilities (XEP-0115) on my client, I faced 2 issues with Wokkel: - if we have a disco info request with no "to" or "from" attribute (seen with Prosody), a KeyError exception is raised. The attached patch fix it. - I generate the hash with the result of disco.DiscoHandler.info with no node, and that include everything like VersionHandler's "jabber:iq:version" feature. That was working great with Prosody and Openfire, but not with Ejabberd (the notification for PEP was not included). After some investigations, I realised that jabber:iq:version feature is not added when there is a node in disco info request, and that's the case with XEP-0115, so the features list was different to the one used to generate the hash, and ejabberd was (silently :( ) rejecting it; resulting in no notification for Personal Eventing Protocol. I temporarily fixed the issue by overriding generic.VersionHandler.getDiscoInfo and forcing the node parameter to None, but this case should be managed in Wokkel.
I have (partially) implemented XEP-0115 in my XMPP client (Salut à Toi: http://wiki.goffi.org/wiki/Salut_%C3%A0_Toi ), but it would be nice to add it to Wokkel.
Last but not least, I have said a few months ago that I'd like to improve MUC branch for mainstream inclusion, I'm still interested in that, as my client is based on Twisted/Wokkel and I need MUC (I was just too busy so far to contribute on it :) ), but I need the help of Ralph Meijer or at least a Twisted guru if he is too busy to know exactly how and what. For the moment I need to make a dirty hack in my setup.py to use the MUC branch in my project...
Cheers Goffi
_______________________________________________ Twisted-web mailing list Twisted-web@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web
participants (1)
-
goffi