[Pidgin] #2976: Trillian AIM implementation is unable to send files to Pidgin

Pidgin trac at pidgin.im
Thu Sep 6 11:36:52 EDT 2007


#2976: Trillian AIM implementation is unable to send files to Pidgin
----------------------------------------+-----------------------------------
 Reporter:  mirya                       |       Type:  defect
   Status:  new                         |   Priority:  minor 
Component:  libpurple                   |    Version:  2.1.1 
 Keywords:  aim file transfer Trillian  |    Pending:  0     
----------------------------------------+-----------------------------------
 Assume Pidgin is accessible directly, while Trillian client is behind NAT.
 Trillian tries to send a file to Pidgin, so it results in pidgin listening
 to 5190 and awaiting for Trillian to connect there. In fact Trillian fail
 transfer hangs up with that and no byte is being sent. Please note, that
 the same configuration with AIM6 AOL client replacing Pidgin works well,
 so I guess something wrong with Pidgin, not Trillian.

 More digging led me to the following:
  1. libpurple starts listening on port 5190 and sends a notification
 message to Trillian about that (that's in
 libpurple/protocols/oscar/peer.c::peer_connection_establish_listener_cb(),
 aim_im_sendch2_sendfile_requestdirect() call)
  2. and then awaits for a response from Trillian that it's going to
 connect there
  3. only after that a watcher is being added to read data sent by Trillian
 (conn->watcher_incoming = purple_input_add(conn->listenerfd,
 PURPLE_INPUT_READ, peer_connection_listen_cb, conn))

 In fact Trillian never responds to that welcome message and instead
 connects to 5190 and sends the initial packet to it. Pidfin on the other
 side won't read it untill Trillian responds.

 As far as AIM6 accepts such behaviour I suppose the same should be done in
 Pidgin, so it Trillian connects to us, we accume it accepts our
 proposition (1.) and so start the exchange.

-- 
Ticket URL: <http://developer.pidgin.im/ticket/2976>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list