[ejabberd] add/auth window continues to appear
jesse.thompson at doit.wisc.edu
Tue Jun 16 00:16:16 MSD 2009
We have been seeing sporadic cases where Psi users get into an Add/Auth
loop where the window keeps popping up after adding a contact. Usually
it goes away after clicking Add/Auth a few times.
This morning our desktop support team reported that recently all users
at one of our remote offices experience this when adding every contact,
and the Add/Auth windows do not stop popping up until they click Close
on one of the windows.
Here is the description of the problem from our desktop support staff:
Over the past week I have been adding several new users to Psi over at
xxxx. I'm noticing that the authorization process seems to get
stuck in a loop. In the past when you would add a contact the contact
would get a window where they had to click "Add/Auth". Then the
requester would get the same window where they would click "Add/Auth".
At this point they could now chat with each other. Lately, the
"Add/Auth" process is a never-ending loop. The only way I have been
able to make it stop is to have one of the users click "Close". Any ideas?
We upgrade from ejabberd 1.1.4 to 2.0.4 a few weeks ago, and it is
possible that these problems started happening after the upgrade, but it
is hard to tell for sure. ejabberd is set up as a 2 node cluster with
mnesia as the backend for roster data.
I approached the Psi-dev list first. I opened a bug report here:
(you can find an xml console log attached to the bug report.)
This was the response from Justin Karneges:
When you click Add/Auth in Psi, it sends both "subscribe" and
"subscribed" to the other contact. According to the log, it looks like
the "subscribe" request is getting sent to contacts that already have an
active subscription. The loop happens because whenever each client
receives a "subscribe", the user is prompted to send a "subscribe" back,
and so round and round you go. The contacts have a "both" subscription
state, so nothing is really happening at this point. It's just relaying
presence stanzas end to end until one of you decides to stop.
Psi could be made smarter here, to only send subscribe to contacts that
don't have a subscription or only prompt to authorize contacts that
don't have a subscription, but for historical reasons it doesn't do
that, and according to the spec, it doesn't have to.
RFC 3920, section 3.1.3:
"If the contact exists and the user already has a subscription to the
contact's presence, then the contact's server MUST auto-reply on behalf
of the contact by sending a presence stanza of type "subscribed" from
the contact's bare JID to the user's bare JID."
So, I think this is a server bug.
Division of Information Technology, University of Wisconsin-Madison
Email/IM: jesse.thompson at doit.wisc.edu
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 3353 bytes
Desc: S/MIME Cryptographic Signature
More information about the ejabberd