[jdev] How to do SASL authentication in C/C++
Remko Tronçon
remko at el-tramo.be
Tue Nov 11 11:39:18 CST 2008
> Ok, Remko, what is wrong with the xml strings I am sending above?
As Maciek explained, they use an old authentication protocol and an
old XMPP stream protocol. In this case, GTalk only supports the auth
protocol when you are on an encrypted SSL connection (port 5223).
If you want to be standards compliant, you should start by sending
'version=1.0' in your stream header. Then you should look at the
stream features to see what mechanisms you can use to log in.
> What should a successful xml string look like ?
RFC 3920, Section 6.5
> Based on the wiki and the orielly book I came up with the above xml
> strings to send.
Both are outdated. Don't use these to implement a standards-compliant client.
> Anyone else done this with talk.google.com 5222 ?
You will either need to implement TLS support in your client, or
implement DIGEST-MD5 SASL authentication (which is the only mechanism
Google supports over an unencrypted connection). You may want to try a
different server if you want to experiment yourself with easier (yet
insecure) mechanisms such as PLAIN SASL over unencrypted connection.
But I suspect you'll soon find out that going from a toy to a real
XMPP client from scratch is hard work, and that you're better off with
an XMPP library, as people on this list have tried to tell you.
cheers,
Remko
More information about the JDev
mailing list