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.

Author vstinner
Recipients christian.heimes, miss-islington, pablogsal, steve.dower, vstinner
Date 2021-06-03.01:37:18
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1622684239.12.0.457404136892.issue43921@roundup.psfhosted.org>
In-reply-to
Content
See my comparison of read() and write() errors on Linux vs Windows:
https://github.com/python/cpython/pull/26501#issuecomment-853489167

I wrote PR 26502 to fix test_wrong_cert_tls13() on Windows (currently, the test is skipped).

On Linux, read() always raises an exception when the connection is reset.

On Windows, read() sometimes fails with SSL_ERROR_SYSCALL+WSAECONNRESET, and in this case the internal C function raises a SSLEOFError. But the outer Python wrapper method converts SSLEOFError to an empty string because the SSL socket is created with suppress_ragged_eofs=True by default.

I don't know why on Linux read() only fails with SSL_ERROR_SSL with ERR_peek_last_error()=0x14094418, whereas it's not the case on Windows. It may be an implementation detail, different between Windows socket and Linux socket.
History
Date User Action Args
2021-06-03 01:37:19vstinnersetrecipients: + vstinner, christian.heimes, steve.dower, pablogsal, miss-islington
2021-06-03 01:37:19vstinnersetmessageid: <1622684239.12.0.457404136892.issue43921@roundup.psfhosted.org>
2021-06-03 01:37:19vstinnerlinkissue43921 messages
2021-06-03 01:37:18vstinnercreate