[Pidgin] #8524: Uses the wrong jid when sending/receiving files to MUC participants
Pidgin
trac at pidgin.im
Thu Feb 26 11:01:40 EST 2009
#8524: Uses the wrong jid when sending/receiving files to MUC participants
--------------------+-------------------------------------------------------
Reporter: resiak | Owner: deryni
Type: defect | Status: new
Component: XMPP | Version: 2.5.4
Keywords: | Launchpad_bug:
--------------------+-------------------------------------------------------
When sending and receiving files using SOCKS5 as described in XEP-0065,
the SOCKS5 negotiation protocol includes a hash containing the stream id,
the initiator's jid and the target's jid. From the XEP, section 4.6:
> The JIDs provided MUST be the JIDs used for the IQ exchange, which MAY
be full JIDs (<localpart at domain.tld/resource> or <domain.tld/resource>) or
bare JIDs (<localpart at domain.tld> or <domain.tld>).
Since in general you can't find the "real" jid of MUC participants, you
have to send the IQs to the other person's MUC-specific jid. But, when
iq.c constructs the hash — both as the initiator and as the recipient — it
uses the local user's real jid, rather than your jid in the MUC. This
means that the SOCKS5 negotiation fails, and thus you can't send or
receive files with another MUC user.
There's a slight complication in that your server rewrites the to=
attribute in the IQs you receive to be your real jid, rather than the MUC
jid; but you can tell that this is in the context of a MUC by examining
the from= jid.
(This was noticed by Guillaume Desmottes in the course of testing
interoperability while adding file transfer support to Telepathy-Gabble,
but applies equally to two instances of Pidgin in a MUC.)
The XEP's not very clear on this point; perhaps we could get PSA to
clarify it.
--
Ticket URL: <http://developer.pidgin.im/ticket/8524>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list