Opened 8 years ago

Closed 8 years ago

Last modified 7 years ago

#12213 closed defect (fixed)

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)

Reported by: john13 Owned by: sulabh.dev
Milestone: 2.7.3 Component: Yahoo!/Yahoo! JAPAN
Version: 2.7.1 Keywords: filetransfer
Cc:

Description

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...).

Change History (3)

comment:1 Changed 8 years ago by QuLogic

Ticket #11695 has been marked as a duplicate of this ticket.

comment:2 Changed 8 years ago by qulogic@…

  • Milestone set to 2.7.2
  • Resolution set to fixed
  • Status changed from new to closed

(In da989b76dd8d021004b552840e9ad62dfe970bd9):
Fix Yahoo file transfers that get stuck saying \"Waiting for transfer to begin\". The IP address and its parts should be unsigned. Also, this math was a bit too complicated. Integer division means we don't need to care about the fractional part.

Fixes #12213.

comment:3 Changed 7 years ago by MarkDoliner

  • Milestone changed from 2.7.2 to 2.7.3

This change will actually go out in 2.7.3.

Note: See TracTickets for help on using tickets.
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!