[Pidgin] #12213: Yahoo filetransfer randomly never start with message "Waiting for transfer to begin" (on pidgin filetransfer gui) and "Receiving 1 file from xxx" (on yahoo messenger)

Pidgin trac at pidgin.im
Mon Jun 21 18:09:35 EDT 2010


#12213: Yahoo filetransfer randomly never start with message "Waiting for transfer
to begin" (on pidgin filetransfer gui) and "Receiving 1 file from xxx" (on
yahoo messenger)
---------------------------------+------------------------------------------
 Reporter:  john13               |     Owner:  sulabh.dev
     Type:  defect               |    Status:  new       
Component:  Yahoo!/Yahoo! JAPAN  |   Version:  2.7.1     
 Keywords:  filetransfer         |  
---------------------------------+------------------------------------------
 Hi,

 First note that transfers from Yahoo (tested with 8.1, 9 and last 10) to
 Pidgin always work fine.

 When trying to send file from Pidgin to Yahoo clients (tested with same
 versions) sometimes fails and sometimes works. More failures than
 successes.

 When fails :
 The message "Waiting for transfer to begin" is displayed on Pidgin. And
 after accepted on Yahoo client, "Receiving 1 file from xxx" is displayed
 but file never comes to yahoo client.

 Log only displays that and nothing still no action :

 {{{
 (23:56:21) xfer: request accepted for 041484F0
 (23:56:25) yahoo: 73 bytes to read, rxlen is 93
 (23:56:25) yahoo: Yahoo Service: 0xdc Status: 1
 (23:56:25) dnsquery: Performing DNS lookup for relay.msg.yahoo.com
 (23:56:25) dnsquery: IP resolved for relay.msg.yahoo.com
 }}}


 Nota : only one IP (lan) and 1 IP (WAN) are used and correctly found at
 startup.

 I've compiled the progam under Cygwin and extended the error log to remark
 that when it fails IP is a negative long value at line
 {{{
 actaddr = addr->sin_addr.s_addr;
 }}}
  (from method :
 {{{
 static void yahoo_xfer_dns_connected_15(GSList *hosts, gpointer data,
 const char *error_message)
 }}}
  from file "yahoo_filexfer.c")

 EXAMPLE OF SUCCESS:

 {{{
 (23:08:50) MWK: Entering : yahoo_xfer_dns_connected_15 - 4 addr= 0
 (23:08:50) MWK: Entering : yahoo_xfer_dns_connected_15 - 4bis
 addr=56835744, actaddr=728795234
 (23:08:50) MWK: Entering : yahoo_xfer_dns_connected_15 - 4ter d=98, c=136,
 b=112, a=43
 (23:08:50) MWK: Entering : yahoo_xfer_dns_connected_15 - 5 , url
 98.136.112.43
 }}}


 EXAMPLE 1 OF FAILURE:

 {{{
 (23:08:47) MWK: Entering : yahoo_xfer_dns_connected_15 - 4 addr= 0
 (23:08:47) MWK: Entering : yahoo_xfer_dns_connected_15 - 4bis
 addr=57040008, actaddr=-1653503902
 (23:08:47) MWK: Entering : yahoo_xfer_dns_connected_15 - 4ter d=-158,
 c=-119, b=-142, a=-98
 (23:08:47) MWK: Entering : yahoo_xfer_dns_connected_15 - 5 , url
 -158.-119.-142.-98
 }}}


 EXAMPLE 2 OF FAILURE:

 {{{
 (23:25:08) MWK: Entering : yahoo_xfer_dns_connected_15 - 4 addr= 0
 (23:25:08) MWK: Entering : yahoo_xfer_dns_connected_15 - 4bis
 addr=56121952, actaddr=-1687058334
 (23:25:08) MWK: Entering : yahoo_xfer_dns_connected_15 - 4ter d=-158,
 c=-119, b=-142, a=-100
 (23:25:08) MWK: Entering : yahoo_xfer_dns_connected_15 - 5 , url
 -158.-119.-142.-100
 }}}


 so the code
 {{{
 url = g_strdup_printf("%ld.%ld.%ld.%ld", d, c, b, a);
 }}}
  contains something wrong (negative ints) to allow correct transfert.

 Thanks you for solving it (don't know exactly how sockaddr_in works...).

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


More information about the Tracker mailing list