diff --git a/Lib/ftplib.py b/Lib/ftplib.py index c75b31740c5..42f2bff9fa5 100644 --- a/Lib/ftplib.py +++ b/Lib/ftplib.py @@ -254,7 +254,7 @@ class FTP: port number. ''' hbytes = host.split('.') - pbytes = [repr(port/256), repr(port%256)] + pbytes = [repr(port//256), repr(port%256)] bytes = hbytes + pbytes cmd = 'PORT ' + ','.join(bytes) return self.voidcmd(cmd) diff --git a/Lib/test/test_ftplib.py b/Lib/test/test_ftplib.py index 10eabba8ebc..ae889f96c6f 100644 --- a/Lib/test/test_ftplib.py +++ b/Lib/test/test_ftplib.py @@ -348,7 +348,7 @@ class TestFTPClass(TestCase): self.client.dir(lambda x: l.append(x)) self.assertEqual(''.join(l), LIST_DATA.replace('\r\n', '')) - def Xtest_makeport(self): + def test_makeport(self): self.client.makeport() # IPv4 is in use, just make sure send_eprt has not been used self.assertEqual(self.server.handler.last_received_cmd, 'port') diff --git a/Misc/NEWS b/Misc/NEWS index 294c183e1c8..d4d0b42edcc 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -22,6 +22,8 @@ Core and Builtins Library ------- +- Issue #3911: ftplib.FTP.makeport() could give invalid port numbers. + - Issue #3929: When the database cannot be opened, dbm.open() would incorrectly raise a TypeError: "'tuple' object is not callable" instead of the expected dbm.error.