[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