[Pidgin] #2266: Can't reenter XMPP (Jabber) MUC chat rooms that rewrite room nicknames
Pidgin
trac at pidgin.im
Wed Jul 25 03:55:54 EDT 2007
#2266: Can't reenter XMPP (Jabber) MUC chat rooms that rewrite room nicknames
------------------------+---------------------------------------------------
Reporter: bibliochat | Type: patch
Status: new | Priority: minor
Component: libpurple | Version: 2.0.2
Keywords: | Pending: 0
------------------------+---------------------------------------------------
Pidgin 2.0.2 does not allow reentry into an XMPP (Jabber) MUC chat room if
that chat room rewrote the user's room-nickname. Because Pidgin does not
know that its room nick was rewritten, it will not recognize the
'unavailable' presence stanza received upon leaving the room, and
therefore will not invoke {{{jabber_chat_destroy()}}}. Because the client
retains the chat in {{{js->chats}}}, it will never attempt to reenter the
room until the client is restarted.
XEP-0045: Multi-User Chat, ''7.1.3 Presence Broadcast'', states, "The
service MAY rewrite the new occupant's roomnick (e.g., if roomnicks are
locked down). If the service does not accept the new occupant's requested
roomnick but instead assigns a new roomnick, it MUST include a status code
of "210" in the presence broadcast that it sends to the new occupant."
Pidgin 2.0.2 ignores any received "210" status code.
The attached patch modifies {{{jabber_presence_parse()}}} to handle this
status code. If encountered, the patch frees the chat's current handle,
and then assigns to the chat a handle which is a copy of the received
{{{jid->resource}}}.
With this patch applied, Pidgin properly handles the 'unavailable'
presence stanza received upon leaving the room. Room reentry then
functions properly.
--
Ticket URL: <http://developer.pidgin.im/ticket/2266>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list