Issue 1661754: ftplib passive ftp problem on multihomed clients (original) (raw)

Issue1661754

Created on 2007-02-16 19:36 by timbaum, last changed 2022-04-11 14:56 by admin.

Files
File name Uploaded Description Edit
ftplib.patch timbaum,2007-02-16 19:36 patch in unified forward diff format
ftplib.patch giampaolo.rodola,2011-03-03 22:12 review
Messages (4)
msg51894 - (view) Author: Tim Baum (timbaum) Date: 2007-02-16 19:36
When using passive FTP on a multihomed client, data connections should originate from the same address as the control connection. Otherwise, the connection can be blocked by stateful firewalls or rejected by the ftp server. The ftplib.py library allows the OS to choose the local address for each passive data connection, so connections fail intermittently if the operating system selects a different local address than used for the initial connection. The attached patch binds the passive-mode data connection to the same local address as the control connection.
msg104750 - (view) Author: Giampaolo Rodola' (giampaolo.rodola) * (Python committer) Date: 2010-05-01 20:39
Issue 8594 is related with this one.
msg130007 - (view) Author: Giampaolo Rodola' (giampaolo.rodola) * (Python committer) Date: 2011-03-03 22:12
Patch in attachment updates the previous one which no longer applies cleanly in py 3.3. The control connection address is used for *both* passive (PASV) and active (PORT) connections, which is the same approach I used in pyftpdlib. Removed test_source_address_passive_connection test because we do not want that the same (host, port) is used for both control and data connections. I think it makes sense to port this patch in previous python versions as well.
msg130009 - (view) Author: Giampaolo Rodola' (giampaolo.rodola) * (Python committer) Date: 2011-03-03 22:24
> we do not want that the same (host, port) is used for > both control and data connections. I meant *port*, not (host, port).
History
Date User Action Args
2022-04-11 14:56:22 admin set github: 44590
2011-03-03 22:24:05 giampaolo.rodola set nosy:exarkun, pitrou, giampaolo.rodola, timbaummessages: +
2011-03-03 22:13:20 giampaolo.rodola set assignee: giampaolo.rodolanosy:exarkun, pitrou, giampaolo.rodola, timbaum
2011-03-03 22:12:34 giampaolo.rodola set files: + ftplib.patchversions: + Python 3.3nosy: + exarkun, pitroumessages: + stage: test needed -> patch review
2010-09-16 21:04:04 BreamoreBoy set versions: + Python 3.1, Python 2.7, Python 3.2, - Python 2.6, Python 3.0
2010-05-01 20:39:48 giampaolo.rodola set superseder: Add a "source_address" option to ftplibmessages: +
2009-03-30 21:41:08 ajaksu2 set nosy: + giampaolo.rodolaversions: + Python 2.6, Python 3.0, - Python 2.5type: behaviorstage: test needed
2007-02-16 19:36:59 timbaum create