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 c8eb078..a0c3578 100644
--- a/Lib/ftplib.py
+++ b/Lib/ftplib.py
@@ -297,6 +297,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):
@@ -349,6 +351,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)