[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