summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/ftplib.py4
-rw-r--r--Misc/NEWS3
2 files changed, 7 insertions, 0 deletions
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 @@ class FTP:
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 @@ class FTP:
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 085edc0..8ae4a65 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -33,6 +33,9 @@ Core and Builtins
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.