I was trying to get pyxmpp to work against my wildfire server. It worked against ejabberd at first attempt but failed with a sash authentication error when I tried it against wildfire. After some debugging help from Jajcus, he found that Wildfire sends the charset quoted. Examples from debug logs:
I did not find it explicit in any rfc either, but in 3920 all examples got some strings in quotes and other data without quote, the charset is without quotes all the time. For example in section 6.5, step 5. The mechanism is DIGEST-MD5.
Ok, DIGEST-MD5 is defined in rfc 2831. Take a look at section 2.1.1, its pretty clear what elements should have double quotes around them and which should not. You are correct, charset should not have quotes. The probem is, Java is handling this SASL mechanism, so this appears to be a bug in Java itself. What release of java are you using?
I dont have the time to verify it myself, but someone could write a simple java app using http://java.sun.com/j2se/1.5.0/docs/guide/security/sasl/sasl-refguide.html as an example, and just spit out whats going on. If we can prove its a problem in Java, perhaps the Jive guys can submit a bug report to them? Seeing as Sun is a customer of Jive, I would think they can hold more weight than one of us on our own.
Maybe this can be verified at the interop event? I assume the Sun xmpp server is also written in Java and might have the same problem. And maybe Sun listens to in-house bug reports even more than external.
Jay is right. The (encoded) content of the challenge is not being created by Wildfire but Java itself. This is a good point to be mentioned in the interop event. Good idea.