paramiko does not try all available address families
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
| Bazaar |
Medium
|
Unassigned | ||
| paramiko |
New
|
Undecided
|
Unassigned |
Bug Description
See failure at <http://
The situation is a server that is listening on an IPv4 address only, but that host/interface has both IPv4 and IPv6 connectivity, and getaddinfo returns the IPv6 result before the IPv4. bzr asks paramiko to connect to the right (host,port) pair by calling paramiko.Transport.
What should happen is that paramiko should successfully connect to the server.
What does happen is that paramiko attempts to connect via IPv6, that fails with connection refused, and paramiko stops there with a connection refused error.
We can workaround this in bzr by connecting the socket ourselves and passing that object instead of an address to paramiko.
Related branches
- Steve Kowalik: Approve on 2011-01-18
-
Diff: 857 lines (+828/-0)5 files modifieddebian/changelog (+15/-0)
debian/patches/01_no-randompool.patch (+780/-0)
debian/patches/02_addressfamilies.patch (+30/-0)
debian/patches/series (+2/-0)
debian/source/format (+1/-0)
Andrew Bennetts (spiv) wrote : | #1 |
Vincent Ladeuil (vila) wrote : | #2 |
.. and it's back on maverick.
@spiv, could you build your patched package for maverick too in https:/
Vincent Ladeuil (vila) wrote : | #3 |
... and now on natty as reported by jelmer on IRC
Jelmer Vernooij (jelmer) wrote : Forwarded | #4 |
I took the liberty of forwarding this bug and the proposed merge
upstream:
http://
http://
Cheers,
Jelmer
Jelmer Vernooij (jelmer) wrote : | #5 |
Cherrypicked into debian and ubuntu.
Changed in bzr: | |
status: | Confirmed → Invalid |
Btw, see the socket. create_ connection function from the Python 2.6 standard library for the right way to handle this situation.