[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