[JDEV] Jabberd forgets </stream> after </stream:error>

Eelis van der Weegen eelis at eelis.net
Tue Feb 4 11:40:57 CST 2003

Section 4.6 of the XMPP Core specification says:
"If an error occurs at the level of the stream, the entity (initiating entity
or receiving entity) that detects the error SHOULD send a stream error to the
other entity specifying why the streams are being closed and then send a
closing </stream> tag."

Jabberd does not implement this behaviour properly; it sometimes closes the
connection directly after the </stream:error> closing tag, without a final
</stream:stream> tag.

For example, when I telnet to my local jabberd (1.4.2) server and send it:

<?xml version='1.0'?><stream:stream xmlns='jabber:client'
xmlns:stream='http://etherx.jabber.org/streams' to='eelis.net'><>

it replies with:

<?xml version='1.0'?><stream:stream
xmlns:stream='http://etherx.jabber.org/streams' id='3E4007BB'
xmlns='jabber:client' from='eelis.net'><stream:error>Invalid

and then closes the connection.

Is this indeed a bug that needs fixing?


Eelis van der Weegen

More information about the JDev mailing list