Not logged in. · Lost password · Register
Forum: agsXMPP RSS
Avatar
Dmitriy #1
Member since Feb 2009 · 6 posts · Location: Pennsylvania, U.S.
Group memberships: Members
Show profile · Link to this post
Subject: Bug in RosterControl.SetPresence method
Hi,

I think I found a bug...

if (m_Roster.ContainsKey(pres.From.Bare))

This line in the RosterControl.SetPresence method causes a problem:

I look into my roster. It has 8 items, and one of them is myname@gmail.com

The presence packet is coming from MyName@gmail.com (note the capitalization).

So, the roster controls in MiniClient shows "myname" as unavailable.

I can still send a message to it (because it is in fact available), but when this user replies to MiniClient, MiniClient blows up with an exception.


I tried a quick workaround (using ToLower() and a temporary List<string> from roster), but it only got me a few lines lower in that method, and then - another exception.


I think you can easily replicate this problem if you register a new GMail/GTalk account and make sure it has a capital letter in it.

Thank you.

--Dmitriy
Avatar
Alex #2
Member since Feb 2003 · 4327 posts · Location: Germany
Group memberships: Administrators, Members
Show profile · Link to this post
MyName@gmail.com != myname@gmail.com

To all Jids the stringprep profiles as defined in the rfcs must be applied. So the client must lower it before it logins. If it doesn't than at least the server should do it. If the GTalk server routes this Jid then this is an issue in their server.

If you control both clients then use stringprep before you login. If the Google Talk client does this then please send a bug report to Google.

Alex
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please enter the word from the image into the text field below. (Type the letters only, lower case is okay.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Forum: agsXMPP RSS