[JDEV] Wrong JEP-11 (browse) implementation in servers and clients
Jacek Konieczny
jajcus at bnet.pl
Wed May 7 05:18:00 CDT 2003
Hello,
While adding browse support to one of services I found out, that Psi
doesn't seem to handle browse as it is specified in active version of
JEP-11. Then I found out than my server behaves exactly the same way as
Psi - uses version 0.3 of JEP-11 instead of 1.0. MUC and tkabber use
the active version of JEP-11. Other clients, servers and services should
be checked too.
The difference is in element names used in browse requests and response.
In version 0.3 (outdated), the request is:
<iq from="..." to="..." type="get">
<query xmlns="jabber:iq:browse"/>
</iq>
According to the active version 1.0 it should be:
<iq from="..." to="..." type="get">
<item xmlns="jabber:iq:browse"/>
</iq>
In version 0.3 the response is:
<iq from="..." to="..." type="get">
<service xmlns="jabber:iq:browse" type="..." jid="..." name="...">
</service>
</iq>
According to the active version 1.0 it should be:
<iq from="..." to="..." type="get">
<item xmlns="jabber:iq:browse" category="service" type="..." jid="..." name="...">
</item>
</iq>
When using jabberd-1.4.x most of the server reply may be corrected by
fixing <browse/> section in jabber.xml. But still the root element of
"jabber:iq:browse" namespace will be wrong. A patch to correct this
is available here: http://www.bnet.pl/~jajcus/jabberd14/jabberd-browse.patch
This is a pach against current CVS sources, but it should work for
jabberd-1.4.2 too. After applying the patch server configuration
(<browse/> section) should also be corrected. This should not break
compatibility with broken clients (at least not much).
Greets,
Jacek
More information about the JDev
mailing list