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
'[EMAIL PROTECTED]', that will be unescaped with your logic when
migrating to 1.1 to 'stpeter @jabber.org' which would be wrong IMO.


Robin

Reply via email to