Merged revisions 80228 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r80228 | giampaolo.rodola | 2010-04-20 00:05:54 +0200 (mar, 20 apr 2010) | 9 lines

  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 bcfa652..ea91c17 100644
--- a/Lib/ftplib.py
+++ b/Lib/ftplib.py
@@ -296,6 +296,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):
@@ -348,6 +350,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)