[Standards] summary: allowable characters

Robin Redeker elmex at x-paste.de
Sun Aug 5 13:52:47 UTC 2007

On Sun, Aug 05, 2007 at 12:44:27PM +0200, Matthias Wimmer wrote:
> Robin Redeker schrieb:
> >But the problem that we have then is that a 1.0 server, which will only
> >receive escaped JIDs, stores those (escaped) 1.1 JIDs in the 1.0 contacts
> >roster as escaped JIDs (because he doesn't even know they are escaped
> >JIDs!).
> >
> >That means that after migration (1.0 server upgrades software to a 1.1
> >capable one) those JIDs are still in their escaped form in the roster.
> >And because there doesn't happen any escaping between 1.1 servers our
> >recently upgraded 1.0 server has broken rosters.
> I'd say that this just means that when migrating from a 1.0 server to a 
> 1.1 server, that you have to convert the roster as it is stored on the 
> server.
> This is something the server implementation has to handle. E.g. by 
> flagging rosters that are created on the 1.1 software are that have 
> already been converted. Whenever the software reads a roster without 
> this flag, it knows it has to convert the roster first.
> Sorry, but I don't see the problem. Some sort of the same logic is also 
> needed for converting account names from a 1.0 server on upgrade to a 
> 1.1 server.

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.

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.


More information about the Standards mailing list