Fix Issue #4841: timeout is now applied for connections resulting from PORT/EPRT commands

This commit is contained in:
Giampaolo Rodolà 2010-04-19 21:46:28 +00:00
parent 8a12f940fe
commit 607f7c056e
2 changed files with 7 additions and 0 deletions

View File

@ -295,6 +295,8 @@ class FTP:
resp = self.sendport(host, port) resp = self.sendport(host, port)
else: else:
resp = self.sendeprt(host, port) resp = self.sendeprt(host, port)
if self.timeout is not _GLOBAL_DEFAULT_TIMEOUT:
sock.settimeout(self.timeout)
return sock return sock
def makepasv(self): def makepasv(self):
@ -347,6 +349,8 @@ class FTP:
if resp[0] != '1': if resp[0] != '1':
raise error_reply, resp raise error_reply, resp
conn, sockaddr = sock.accept() conn, sockaddr = sock.accept()
if self.timeout is not _GLOBAL_DEFAULT_TIMEOUT:
conn.settimeout(self.timeout)
if resp[:3] == '150': if resp[:3] == '150':
# this is conditional in case we received a 125 # this is conditional in case we received a 125
size = parse150(resp) size = parse150(resp)

View File

@ -20,6 +20,9 @@ Core and Builtins
Library Library
------- -------
- Issue #4814: timeout parameter is now applied also for connections resulting
from PORT/EPRT commands.
- Issue #8463: added missing reference to bztar in shutil's documentation. - Issue #8463: added missing reference to bztar in shutil's documentation.
- Issue #8438: Remove reference to the missing "surrogateescape" encoding - Issue #8438: Remove reference to the missing "surrogateescape" encoding