Merged revisions 80226 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80226 | giampaolo.rodola | 2010-04-19 23:46:28 +0200 (lun, 19 apr 2010) | 1 line

  Fix Issue #4841: timeout is now applied for connections resulting from PORT/EPRT commands
........
diff --git a/Lib/ftplib.py b/Lib/ftplib.py
index c0cfe27..22decb2 100644
--- a/Lib/ftplib.py
+++ b/Lib/ftplib.py
@@ -294,6 +294,8 @@
             resp = self.sendport(host, port)
         else:
             resp = self.sendeprt(host, port)
+        if self.timeout is not _GLOBAL_DEFAULT_TIMEOUT:
+            sock.settimeout(self.timeout)
         return sock
 
     def makepasv(self):
@@ -346,6 +348,8 @@
             if resp[0] != '1':
                 raise error_reply, resp
             conn, sockaddr = sock.accept()
+            if self.timeout is not _GLOBAL_DEFAULT_TIMEOUT:
+                conn.settimeout(self.timeout)
         if resp[:3] == '150':
             # this is conditional in case we received a 125
             size = parse150(resp)
diff --git a/Misc/NEWS b/Misc/NEWS
index d0e4656..bd4b807 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -33,6 +33,9 @@
 Library
 -------
 
+- Issue #4814: timeout parameter is now applied also for connections resulting
+  from PORT/EPRT commands.
+
 - Issue #3817: ftplib.FTP.abort() method now considers 225 a valid response
   code as stated in RFC-959 at chapter 5.4.