this patch handles sun specific private extension and possibly cannot be submitted to dojo community Index: dojo-release-1.3.2-src/dojox/xmpp/xmppSession.js =================================================================== --- dojo-release-1.3.2-src.orig/dojox/xmpp/xmppSession.js 2009-09-04 11:21:11.000000000 -0700 +++ dojo-release-1.3.2-src/dojox/xmpp/xmppSession.js 2009-09-04 11:22:42.000000000 -0700 @@ -490,6 +490,7 @@ } var req = new dojox.string.Builder(dojox.xmpp.util.createElement("iq",props,false)); req.append(dojox.xmpp.util.createElement("query",{xmlns: "jabber:iq:roster"},true)); + req.append(dojox.xmpp.util.createElement("x",{xmlns: "sun:im:xmpp:roster:extra"},true)); req.append(""); var def = this.dispatchPacket(req,"iq", props.id); @@ -513,6 +514,7 @@ name: elem.getAttribute('name'), jid: elem.getAttribute('jid'), groups: [], + email: [], status: dojox.xmpp.presence.SUBSCRIPTION_NONE, substatus: dojox.xmpp.presence.SUBSCRIPTION_SUBSTATUS_NONE // displayToUser: false @@ -529,6 +531,22 @@ if (n.nodeName=='group' && n.hasChildNodes()){ re.groups.push(n.firstChild.nodeValue); } + if (n.nodeName=='x' && + n.getAttribute('xmlns')=="sun:im:xmpp:roster:extra" && + n.hasChildNodes()) + { + for(var k=0; k