aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/jabber/jabber.c
diff options
context:
space:
mode:
authordequis <dx@dxzone.com.ar>2017-11-19 21:51:16 -0300
committerdequis <dx@dxzone.com.ar>2017-11-19 21:51:16 -0300
commit49108f35b8ca7974820b9d29e31965e5f0264270 (patch)
tree5e56e86bc5ae449048544402ac1030a638c37aa4 /protocols/jabber/jabber.c
parentf75aaac5e9c0a0ce6e19c3d167ae41acc02f95b1 (diff)
jabber: Fix chat joins when ext_jid is provided for your own user
This is the presence needed to finalize a join to the channel, the 'from' field is our own user in the context of that channel: <presence to="dx@server/resource" from="channel@gateway.server/dx"> <x xmlns="http://jabber.org/protocol/muc#user"> <status code="110"/> <item jid="~dx@198.51.100.1" affiliation="none" role="participant"/> </x> </presence> Bitlbee takes the stuff to <item jid="..."> as the "real" jid, as it does for non-anonymous MUCs. It sets that to ext_jid, and uses it as the handle internally. In this particular case, that real jid is nonsense for us, so imcb_chat_add_buddy() interprets that as yet another person joining the channel, instead of the expected self-join. This fixes it by checking if the buddy is our own user, and ignoring the provided ext_jid in those cases. Thanks to ivucica for reporting this, who was using Biboumi (a gateway from XMPP to IRC)
Diffstat (limited to 'protocols/jabber/jabber.c')
0 files changed, 0 insertions, 0 deletions