Пытаюсь разобраться с XMPP протоколом. Отправляю и получаю ответы такие
>>>>>>>>>>>>
<?xml version="1.0"?>
<stream:stream xmlns:stream="http://etherx.jabber.org/streams" version="1.0" xmlns="jabber:client" to="jabber.ru" xml:lang="en" xmlns:xml="http://www.w3.org/XML/1998/namespace">
<<<<<<<<<<<<
<?xml version='1.0'?><stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' id='3797363518' from='jabber.ru' version='1.0' xml:lang='ru'>
<stream:features><starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/><compression xmlns='http://jabber.org/features/compress'><method>zlib</method></compression><push xmlns='p1:push'/><rebind xmlns='p1:rebind'/><ack xmlns='p1:ack'/><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>SCRAM-SHA-1</mechanism></mechanisms><c xmlns='http://jabber.org/protocol/caps' hash='sha-1' node='http://www.process-one.net/en/ejabberd/' ver='S4v2n+rKmTsgLFog7BtVvK2o660='/><register xmlns='http://jabber.org/features/iq-register'/></stream:features>
>>>>>>>>>
<starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>
<<<<<<<<<<
<proceed xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>
Перевожу соккет в режим "Encrypted" в протоколе TLS 1.0
После чего снова отправляю
>>>>>>>>>>>>
<?xml version="1.0"?>
<stream:stream xmlns:stream="http://etherx.jabber.org/streams" version="1.0" xmlns="jabber:client" to="jabber.ru" xml:lang="en" xmlns:xml="http://www.w3.org/XML/1998/namespace">
<<<<<<<<<<<<<<<
<?xml version='1.0'?><stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' id='1144965688' from='jabber.ru' version='1.0' xml:lang='ru'>
<stream:features><compression xmlns='http://jabber.org/features/compress'><method>zlib</method></compression><push xmlns='p1:push'/><rebind xmlns='p1:rebind'/><ack xmlns='p1:ack'/><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>SCRAM-SHA-1</mechanism></mechanisms><c xmlns='http://jabber.org/protocol/caps' hash='sha-1' node='http://www.process-one.net/en/ejabberd/' ver='S4v2n+rKmTsgLFog7BtVvK2o660='/><register xmlns='http://jabber.org/features/iq-register'/></stream:features>
Посылаю ауторизацию но ответ получается фейловый. Не верный протокол
>>>>>>>>>>>>>>>>>>
<auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="PLAIN">"AHRlc3QtbG9naW4AcGFzc3dvcmQ="</auth>
<<<<<<<<<<<<<<<<<<
<failure xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><bad-protocol/></failure>
Я наверное пропускаю какое-то действие. Что-то связанное с sasl. Не нашёл где разобраться. И вообще кода сишного примера не нашёл нормального. Может кто знает в чём причина?
Разобрался
<auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="PLAIN">"AHRlc3QtbG9naW4AcGFzc3dvcmQ="</auth>
<auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="PLAIN">AHRlc3QtbG9naW4AcGFzc3dvcmQ=</auth>
Кавычки убрал заработало.