I've enabled the MSN transport on the XMPP server with which my gloox client
is talking. About 5 seconds after the client has connected and has
successfully logged on to the MSN network, I receive the following blob of
data which causes the parser in gloox to fail and the connection is closed
with ConnParseError:
<presence to="dreijer@xxxxxxx" from="xxx\40hotmail.com@xxxxxxxxxxx"><x
xmlns="vcard-temp:x:update"><photo><![CDATA[809b46e01d950fa05c1b623495a9716cffbcceea]]></photo><hash><![CDATA[809b46e01d950fa05c1b623495a9716cffbcceea]]></hash></x></presence>
I've traced the parsing error down to the following piece of code:
case TagOpening: // opening '<' has been found before
if( isWhitespace( c ) )
break;
switch( c )
{
case '<':
case '>':
case '!':
cleanup();
return false;
break;
c is set to '!', which is only present in the data as "![CDATA". I'm not
sure why gloox does its own XML parsing in the first place, but it
definitely doesn't like the data it's receiving :)
Anybody?