Hello,
i have suspicion that there is a bug in ssl handshake implementation.
can someone tell me email or any other contact of author of that file?
asyncio/sslproto.py i wonder if they can help me to fix it?
to make long story short:
i am developing application with ssl websockets and have found a case when
sslproto gets into broken state.
there is a function
which suppose to write into socket
def _write_appdata(self, data):
self._write_backlog.append((data, 0))
self._write_buffer_size += len(data)
self._process_write_backlog()
actually - it just populates write backlog. and later it calls:
def _process_write_backlog(self):
# Try to make progress on the write backlog.
if self._transport is None:
return
which is silently exits doing nothing, because transport is *already gone*.
and backlog keeps growing producing memory leak. no error is ever raised.
so what i found is: that it is happening when connection is just
established,
and immediately lost so lost_connection handler manages to set None to
self._transport.
and whole proto just thinks it finished a handshake but same time it lost
the transport.
Regards,
Oleg.