This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: When sending binary file to a Microsoft FTP server over FTP TLS, the SSL unwind method hangs
Type: crash Stage:
Components: Library (Lib) Versions: Python 3.11, Python 3.10, Python 3.9
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: James Campbell2, christian.heimes
Priority: normal Keywords:

Created on 2018-08-31 18:00 by James Campbell2, last changed 2022-04-11 14:59 by admin.

Messages (1)
msg324440 - (view) Author: James Campbell (James Campbell2) Date: 2018-08-31 18:00
When using the FTP library to transfer a binary file to a Microsoft FTP server using TLS, then the library will hang when unwinding the connection until it finally times out.

The storbinary method calls conn.unwind which seems to have an issue with SSL connections with a Microsoft server. If we terminate the connection early the file is successfully transferred so it's just the unwind procedure that crashes and hangs our server until it times out.


We are able to work around it by creating our own version of the storbinary method which just closes the connection and doesn't do the unwind step.

It's not clear why the library does this step since we never need to drop down to an unencrypted connection so it should be enough to just close it once done.

You can read more information on this by somebody else with Python 3.2
http://www.sami-lehtinen.net/blog/python-32-ms-ftps-ssl-tls-lockup-fix
History
Date User Action Args
2022-04-11 14:59:05adminsetgithub: 78738
2021-12-11 19:06:37iritkatrielsetversions: + Python 3.9, Python 3.10, Python 3.11, - Python 2.7, Python 3.4, Python 3.5, Python 3.6, Python 3.7, Python 3.8
2021-09-08 11:22:01iritkatrielsetnosy: + christian.heimes
2018-08-31 18:00:53James Campbell2create