[Pidgin] #14390: Title: Pidgin (2.9.0) Windows - incorrectly detects IP address when multiple network adapters are detected, causing file transfer to fail.
Pidgin
trac at pidgin.im
Sun Jul 17 00:55:32 EDT 2011
#14390: Title: Pidgin (2.9.0) Windows - incorrectly detects IP address when
multiple network adapters are detected, causing file transfer to fail.
-------------------------+--------------------------------------------------
Reporter: jonathan | Owner: deryni
Type: enhancement | Status: new
Milestone: | Component: XMPP
Version: 2.9.0 | Resolution:
Keywords: |
-------------------------+--------------------------------------------------
Changes (by darkrain42):
* type: defect => enhancement
Old description:
> Pidgin is used in LAN, server is on the same subnet (192.168.9.x),
> however Pidgin auto detect seems to radomly detect and use all installed
> network adapters addresses, including invalid ones like 169.254.65.* and
> 0.0.0.0. Worst, manual IP setting does not seem to make any difference.
> This bad detection causes XMPP file transfer to often fail, transfer
> slowly starts or receving side crashes, even with configured IP and a
> file proxy. Here is the file transfer request generated by pidgin:
>
> <iq from='jonathan at server-pc/924824306131037034820002' to='niki at server-
> pc/3663187984131042080451492' type='set' id='purpled4e8a704'>
> <query xmlns='http://jabber.org/protocol/bytestreams'
> sid='purpled4e8a703'>
> <streamhost jid='jonathan at server-pc/924824306131037034820002'
> host='192.168.116.1' port='53379'/>
> <streamhost jid='jonathan at server-pc/924824306131037034820002'
> host='192.168.56.1' port='53379'/>
> <streamhost jid='jonathan at server-pc/924824306131037034820002'
> host='169.254.65.217' port='53379'/>
> <streamhost jid='jonathan at server-pc/924824306131037034820002'
> host='192.168.9.58' port='53379'/>
> <streamhost jid='jonathan at server-pc/924824306131037034820002'
> host='0.0.0.0' port='53379'/>
> <streamhost jid='jonathan at server-pc/924824306131037034820002'
> host='0.0.0.0' port='53379'/>
> <streamhost jid='jonathan at server-pc/924824306131037034820002'
> host='127.0.0.1' port='53379'/>
> <streamhost jid='proxy.server-pc' host='192.168.9.128'
> port='7777'/>
> </query>
> </iq>
>
> The server and file proxy is 192.168.9.128, actual sender IP is
> 192.168.9.58, the hardcoded IP in prefs is 127.0.0.1. Receiving Pidgin
> will try all IPs in a row, time out on every, or just crash.
>
> Why the hardcoded IP is not used first, and then the file proxy?
New description:
Pidgin is used in LAN, server is on the same subnet (192.168.9.x), however
Pidgin auto detect seems to radomly detect and use all installed network
adapters addresses, including invalid ones like 169.254.65.* and 0.0.0.0.
Worst, manual IP setting does not seem to make any difference.
This bad detection causes XMPP file transfer to often fail, transfer
slowly starts or receving side crashes, even with configured IP and a file
proxy. Here is the file transfer request generated by pidgin:
{{{
<iq from='jonathan at server-pc/924824306131037034820002' to='niki at server-
pc/3663187984131042080451492' type='set' id='purpled4e8a704'>
<query xmlns='http://jabber.org/protocol/bytestreams'
sid='purpled4e8a703'>
<streamhost jid='jonathan at server-pc/924824306131037034820002'
host='192.168.116.1' port='53379'/>
<streamhost jid='jonathan at server-pc/924824306131037034820002'
host='192.168.56.1' port='53379'/>
<streamhost jid='jonathan at server-pc/924824306131037034820002'
host='169.254.65.217' port='53379'/>
<streamhost jid='jonathan at server-pc/924824306131037034820002'
host='192.168.9.58' port='53379'/>
<streamhost jid='jonathan at server-pc/924824306131037034820002'
host='0.0.0.0' port='53379'/>
<streamhost jid='jonathan at server-pc/924824306131037034820002'
host='0.0.0.0' port='53379'/>
<streamhost jid='jonathan at server-pc/924824306131037034820002'
host='127.0.0.1' port='53379'/>
<streamhost jid='proxy.server-pc' host='192.168.9.128'
port='7777'/>
</query>
</iq>
}}}
The server and file proxy is 192.168.9.128, actual sender IP is
192.168.9.58, the hardcoded IP in prefs is 127.0.0.1. Receiving Pidgin
will try all IPs in a row, time out on every, or just crash.
Why the hardcoded IP is not used first, and then the file proxy?
--
Comment:
I see three distinct issues:
* If you're ever getting a ''crash'', please [wiki:GetABacktrace get a
backtrace] and attach it to this ticket.
* We should certainly not generate 0.0.0.0 as a valid streamhost. I'm
a little surprised your OS returned that while enumerating local IP
addresses.
* A request to add more intelligence to which addresses are attempted
in what order, e.g. looking for overlap and trying those first.
(in addition, if we had the ability to have multiple simultaneous attempts
going on at once, that would slightly obviate the third bullet point)
--
Ticket URL: <http://developer.pidgin.im/ticket/14390#comment:2>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list