powered by Jive Software

Bug: Routing messages between several clients with same username / password

I posted a few month ago a bugreport on the same problem and I was fixed but not fully fixed.

The problem only occurs if a user is connected with his credentials several time under different ressources like:

guido@localhost/smack

guido@localhost/xiff

the server should then consider the priority for delivering messages:

online

4

Jivemessenger is doing this but only considers priority 0 as lower than for example 5.

if prio is 0 and 5 the messeages go to prio 5 -> ok

if prio is 1 and 5 the messages go to 1 -> Wrong implementaion

ift looks like the the server has other mechnisms like last activity or so to schedule the messages but the jabber protocol says:

"For message stanzas, the server SHOULD deliver the stanza to

the highest-priority available resource (if the resource did

not provide a value for the element, the server

SHOULD consider it to have provided a value of zero)."

thanks

guido

Hey guido,

Could you be more specific on how to reproduce the problem? I just modified our test case (JUnit) to cover more possibilities and it’‘s working fine for me. I assume that you are using the latest Messenger version. BTW, an enhancement I was going to add was to consider negative priorities so that resources with negative priorities won’'t receive messages.

Thanks,

– Gato

I use three IM clients A, B, C

B and C will be started as same user but with different resssources.

A sends a message to B -> it arrives at B. B has priority 1 (correct)

C starts with priority 5 (higher than B)

if new A sends a message to B or C it arrives at B but should arrive at C.

I cant reproduce it all the times but in most cases the error is reproducable.

But the funny thing is, if the client B has the prio 0 and the new startet client C has the prio 5 or so then it works as described in the protocol and C gets the new receiver for messages as soon he is connected.

If I start both clients B and C bevor sending a message from A everything works correct and C with higher prio is the receiver. It looks like that the server has a problem when routing a message to a new ressource joining while a chat is startet already.

I know Its a rather tricky bug but our application is depending on this feature and it always worked with jabberd.

Thanks

guido

ps: the enhancement is nice as well to mark clients that are online not to receive messages at all. thanks

We use jivemessenger 2.1.2.

Guido,

Thanks for the info. I will try to reproduce the problem and back to you with a fix.

Thanks,

– Gato

Hey guido,

The problem has been fixed. You can try using the latest code in CVS or the next nightly build.

Let me know how it goes.

Regards,

– Gato

Many thanks! I’'ll inform you about my test results.

nice weekend.

guido

I tested today the latest nigthly and the problems described above are now solved.

Thanks again and nice long easter weekend.

guido