[patch] weird error with regard to namespace

Michael Scherer misc at mandriva.org
Sat Oct 13 20:09:08 UTC 2007


Hi.
Today, a event was organised by the jabberfr group to promote the use of muc
room, by doing some kind of coding party on jabber. So i have decided to join
the room and see how it was going. However, i faced several problem with my
djabberd served account, mainly with error like this :
WARN - 37 stream error 'unsupported-stanza-type': jabber:client

after searching a little bit, i discovered it was caused by the server
jabber.nuxo.net, which is running this :

<query xmlns='jabber:iq:version'>
<os>Linux 2.6.18.1-xxxx-grs-ipv4-32</os>
<version>jabberd sm 2.0s10</version>
<name>session manager (jabberd)</name>
</query>

That's not a client problem, because i was not able to reproduce this with the
same client (gajim svn) and the error was appearing for jabber:iq:last and
similar queries.

It seems that the server reuse tcp connection made for the dialback, as show by
tcpdump  :
nuxo :

<?xml version='1.0'?>
<stream:stream xmlns:stream='http://etherx.jabber.org/streams'
xmlns='jabber:server' xmlns:db='jabber:server:dialback'>

me :
<?xml version="1.0" encoding="UTF-8"?>
<stream:stream  id="bc0f86c8e3b9f3d8eb92a827fcc8c8eb781bd189"
xmlns:db='jabber:server:dialback'
xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:server">

nuxo :
<db:result xmlns:db='jabber:server:dialback' to='example.org'
from='jabber.nuxo.net'>4cc60c0c6a7461ad12340a9300f912d17ff3e3f3</db:result>

me :
<db:result from='example.org' to='jabber.nuxo.net' type='valid'/>

nuxo :
<iq xmlns='jabber:client' type='result' id='141' from='xxxx at jabber.nuxo.net/Foo'
to='misc at example.org/Parents'>
 <query xmlns='jabber:iq:version'>
  <name>Foo</name>
  <version>0.3-svn</version>
  <os>Linux</os>
 </query>
</iq>

me :
<stream:error><unsupported-stanza-type
xmlns='urn:ietf:params:xml:ns:xmpp-streams'/>
<text xmlns='urn:ietf:params:xml:ns:xmpp-streams'>jabber:client</text>
</stream:error>
</stream:stream>

( slightly edited to be more readable )

So the stanza end up being handled by a DJabberd::Connection::ServerIn object,
which reject it because it doesn't process jabber:client iq stanza. The patch is
simple ( see attached file ), but is the problem on djabberd or on the other
side ?

I was not able to decide this based on the reading of rfc 3920, but this seems
to me that we can expect any kind of stanza on any tcp connections, if the xmlns
is correct, so we should
handle them even in the ServerIn object. So can someone apply this patch, or
tell this is wrong ?

So far, it seems to fix the problem, but as i am not sure of the problem ( it
may be related to another thing ), I am not sure this is the correct fix.

-- 
Michael Scherer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: djabberd.server_in_problem.diff
Type: text/x-patch
Size: 686 bytes
Desc: not available
Url : http://lists.danga.com/pipermail/djabberd/attachments/20071013/9f9ad6e7/djabberd.server_in_problem.bin


More information about the Djabberd mailing list