The features stanza sent to the client says that client can either start TLS or login using X-GOOGLE-TOKEN. Because X-GOOGLE-TOKEN is not documented and subject to change, your only choice is to start TLS by sending <starttls/> to the server.
After the stream is started on TLS, the server will send the client a features stanza containing SASL PLAIN. I recommend using SASL authentication (XMPP Core, section 6) instead of Non-SASL Authentication (JEP-078). I'll update the error messages to make them more clear. On 10/24/05, Mukil Kesavan <[EMAIL PROTECTED]> wrote: > I do agree Norman that instead of building something from scratch I can work > on improving an existing library. But the "so-called" library that I am > working on is going to be very basic and I am writing it purely for my own > understanding. Besides, most of the current libraries have many dependancies > which I am not so comfortable with. > > Somebody please tell me how I can do the TLS/SASL part in order to connect > to GoogleTalk... This is the latest XML trace that I get... > > SENT: > <?xml version='1.0'?><stream:stream to='gmail.com' > xmlns='jabber:client' > xmlns:stream='http://etherx.jabber.org/streams' > version='1.0'> > > > RECEIVED: > <?xml version="1.0" encoding="UTF-8"?><stream:stream > from="gmail.com" > id="E6B9A3D4" version="1.0" > xmlns:stream="http://etherx.jabber.org/streams" > xmlns="jabber:client"><stream:features><starttls > xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms > xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>X-GOOGLE-TOKEN</mechanism></mechanisms></stream:features> > > SENT: > <iq type='set' id='MyLib0'><query > xmlns='jabber:iq:auth'><username>[EMAIL > PROTECTED]</username><password>mypasswd</password><resource>Res1</resource></query></iq> > > > RECEIVED: > <iq type="error" id="MyLib0"><query > xmlns="jabber:iq:auth"><username>[EMAIL > PROTECTED]</username><password>mypasswd</password><resource>Res1</resource></query><error > code="405" type="cancel"><not-allowed > xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/><text > xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">Server > does not support PLAIN</text></error></iq></stream:stream> > > Does this mean GoogleTalk ONLY supports X-GOOGLE-TOKEN??? I don't see any > advertisement for SASL-PLAIN or MD5 or anything.... > > How did you guys fix this problem? Can somebody tell me what things should > be done after I first receive the reply from google server??? > > Thanks and awaiting your reply, > > - Mukil >
