Christian Heimes added the comment:

It's not a bug in Python's ssl module. If I understand David's approach 
correctly, then he is using the SNI callback the wrong way. By using it the 
wrong way he has discovered a threading bug in OpenSSL. There is some kind of 
race condition going on in which two threads free and replace the RSA private 
key at the same time.

I'm -1 to try to make the SSLContext object magically read-only.

David, which examples did you read? The documentation 
https://docs.python.org/3/library/ssl.html#ssl.SSLContext.set_servername_callback
 is pretty clear:

A typical use of this callback is to change the ssl.SSLSocket‘s 
SSLSocket.context attribute to a new object of type SSLContext representing a 
certificate chain that matches the server name.

Apache mod_ssl does it correctly, the first hit on stack overflow, too. 
https://stackoverflow.com/questions/5113333/how-to-implement-server-name-indication-sni

----------

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

Reply via email to