XMPP Version not being sent to application

Hi, I have eJabberd running on Windows and this is operating fine apart from trying to send messages into chatrooms through XMPP.

The developers are telling me that:

"As per section 4.4.1 of this RFC, the server _must_ send the version tag in its first message to a client. "

However when they try to send information into a chatroom using code developed with the Gloox C++ library (version 1.0) the gloox logs record the following error:

> 'This server is not XMPP-compliant (it does not send a 'version'
> attribute). Please fix it or try another one.'

We then tested the same code against a linux based ejabberd server and got the following:

"OK, so the linux server sends me the following:

<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' id='2049711087' from='aldunx01' version='1.0' xml:lang='en'/>

And the Windows one sends me the following:

<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' id='1537011573' from='thswinc04' xml:lang='en'/>

It is the missing version tag on the Windows response that is making the gloox library barf."

Is there any way to ensure that the windows version of eJabberD sends the version statement or is this a known issue?

Thanks

Nick

Quote: The developers are

Quote:

The developers are telling me that:

Those developers are hiding you important information. ejabberd replies to the client queries, so it's important to consider not only ejabberd reply, but also the related client query.

I tested ejabberd 2.1.2 compiled from source code in Debian, using the Tkabber client with two different client configurations

First I use STARTTLS encryption and SASL authentication (RFC 3920 compliant). The client sends to ejabberd:

<stream:stream
 xmlns:stream='http://etherx.jabber.org/streams'
 xmlns='jabber:client'
 to='localhost'
 xml:lang='es'
 version='1.0'>

Then ejabberd replies to the client:

<stream:stream
 xmlns='jabber:client'
 xmlns:stream='http://etherx.jabber.org/streams'
 id='3804815462'
 from='localhost'
 version='1.0'
 xml:lang='en'>   

Second, I disable STARTTLS and SASL (like in old Jabber protocol, before RFC 3920 was written). The client sends to ejabberd:

<stream:stream
 xmlns:stream='http://etherx.jabber.org/streams'
 xmlns='jabber:client'
 to='localhost'
 xml:lang='es'>

Then ejabberd replies to the client:

<stream:stream
 xmlns='jabber:client'
 xmlns:stream='http://etherx.jabber.org/streams'
 id='2262839397'
 from='localhost'
 xml:lang='en'>
Syndicate content