Cyril <c...@excellency.fr> added the comment:

You're right about the assert, I've just uploaded a new patch.

In non-blocking mode, ssl_socket.send(data) will return either 0 (which means 
nothing was sent, you'll have to try again), or len(data) when everything was 
sent. It can't return anything inbetween. This is because 
SSL_MODE_ENABLE_PARTIAL_WRITE is not enabled.

In my opinion, SSL_MODE_ENABLE_PARTIAL_WRITE should probably be enabled, 
although I don't know if it would have any consequence on existing code. Note 
that _ssl.c header has:

   XXX should partial writes be enabled, SSL_MODE_ENABLE_PARTIAL_WRITE?

However, it's totally unrelated to our bug. Issue #8222 is also unrelated since 
SSL_MODE_AUTO_RETRY only applies to blocking sockets.

By the way, this bug was triaged "test needed". Am I missing anything? This is 
my first reported bug, I'm not sure about the process.

----------
Added file: http://bugs.python.org/file16670/test_ssl.py.patch.v2

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue8240>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to