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: SSLError is not passed to the client during handshake
Type: behavior Stage: resolved
Components: asyncio Versions: Python 3.8, Python 3.7
process
Status: closed Resolution: out of date
Dependencies: Superseder:
Assigned To: Nosy List: asvetlov, iivanyuk, yselivanov
Priority: normal Keywords:

Created on 2020-04-08 14:37 by iivanyuk, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Messages (2)
msg365988 - (view) Author: Ivan Ivanyuk (iivanyuk) Date: 2020-04-08 14:37
Due to the combination of the logic here: https://github.com/python/cpython/blob/master/Lib/asyncio/sslproto.py#L483 and changes introduced in the issue https://bugs.python.org/issue37035, the assumption that "Not-logged exceptions are not skipped but reported to the user by protocol.connection_lost(exc) callback." as stated in the issue is not valid.
 If SSLError happens during the handshake, no exception get's propagated even if it's possible to log stacktrace using loop.set_debug(True).

 As opposed to the usage pattern mentioned in the initial issue comment, we are very much interested in the errors there, so, for now, I just monkey patch SSLprotocol.connection_lost() in runtime to be like this https://github.com/anthrax-0/cpython/pull/1/commits/d652ed8d0e72bb839fe4841530cc48928b3c3bb0 .

What should be the best solution for this?
msg415010 - (view) Author: Andrew Svetlov (asvetlov) * (Python committer) Date: 2022-03-12 19:57
asyncio ssl support was rewritten from scratch.
History
Date User Action Args
2022-04-11 14:59:29adminsetgithub: 84408
2022-03-12 19:57:50asvetlovsetstatus: open -> closed
resolution: out of date
messages: + msg415010

stage: resolved
2020-04-08 14:37:35iivanyukcreate