[Standards] summary: allowable characters

Matthias Wimmer m at tthias.eu
Sun Aug 5 14:02:37 UTC 2007

Hi Robin!

Robin Redeker schrieb:
> The problem is that you don't know which JID was a 1.1 JID before it was
> escaped. So you would unescape every JID in the roster, leading to
> falsely unescaped JIDs.

Well any JID received on a XMPP 1.0 server is escaped, no?

> Of course we currently don't have many JIDs with a \ in the nodepart,
> and probably even less which would represent an escaped JID. But you
> will have false positives, like jabber.org currently has
> 'stpeter\20 at jabber.org', that will be unescaped with your logic when
> migrating to 1.1 to 'stpeter @jabber.org' which would be wrong IMO.

The case stpeter\20 at jabber.org which is no valid escaped JID won't get 
unescaped I'd say. But that's something in the escaping XEP that has to 
be clearified there.

Let's asume the cleaner case where the \20 is inside the node: 
st\20peter at jabber.org.

Yes, this one would get unescaped when converting the roster from 
XMPP1.0 storage to XMPP1.1 storage. If jabber.org is still an XMPP1.0 
server it will get escaped again when the presence is passing the 
XMPP1.1 to XMPP1.0 border and everything is working fine.

If jabber.org in contrary is also a XMPP1.1 server, there would not have 
been st\20peter at jabber.org in the roster, as the jabber.org server would 
have escaped the JID when passing it to the XMPP1.0 world in which case 
on the roster there would have been stored st\5c20peter at jabber.org ... 
which when converting this to XMPP1.1 gets the correct 
st\20peter at jabber.org.


More information about the Standards mailing list