Index: ftplib.py =================================================================== --- ftplib.py (revision 68179) +++ ftplib.py (working copy) @@ -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)