]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
gh-81403: Fix for CacheFTPHandler in urllib (#13951)
authorDan Hemberger <846186+hemberger@users.noreply.github.com>
Sun, 23 Apr 2023 04:41:23 +0000 (21:41 -0700)
committerGitHub <noreply@github.com>
Sun, 23 Apr 2023 04:41:23 +0000 (21:41 -0700)
commite38bebb9ee805df6848f42845e71c8da8a821ad3
tree312191c65d55298bcab47e335ff1b82bddf5f4c3
parent0fd38917582aae0728e20d8a641e56d9be9270c7
gh-81403: Fix for CacheFTPHandler in urllib (#13951)

bpo-37222: Fix for CacheFTPHandler in urllib

A call to FTP.ntransfercmd must be followed by FTP.voidresp to clear
the "end transfer" message. Without this, the client and server get
out of sync, which will result in an error if the FTP instance is
reused to open a second URL. This scenario occurs for even the most
basic usage of CacheFTPHandler.

Reverts the patch merged as a resolution to bpo-16270 and adds a test
case for the CacheFTPHandler in test_urllib2net.py.

Co-authored-by: Senthil Kumaran <senthil@python.org>
Lib/test/test_urllib2net.py
Lib/urllib/request.py