Hello, IIAC, when using the standard library's ssl module, the following can happen (distilled from http://bugs.python.org/issue22499):
1. User calls SSLSocket.send(something) 2. SSLSocket.send raises SSLWantRead (or SSLWantWrite) 3. User calls select() to wait for Read (or write) readyness of the underlying fd. 4. User calls SSLSocket.send(something) again 5. SSLSocket.send raises SSLError If I understand correctly, this is because the ssl module does not actually implement the 'struct iostate' state machinery required by OpenSSL and instead just blindly raises SSLWantRead/SSLWantWrite. Can someone tell me how pyOpenSSL supports non-blocking socket? Does it also require the caller to maintain struct iostate, or does it allow to work with just SSLWantRead/Write and select()? (Background: I'm wondering if switching to pyOpenSSL would be a feasible way to tackle https://bitbucket.org/nikratio/s3ql/issues/87). Thanks, -Nikolaus -- GPG encrypted emails preferred. Key id: 0xD113FCAC3C4E599F Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F »Time flies like an arrow, fruit flies like a Banana.« _______________________________________________ Cryptography-dev mailing list Cryptography-dev@python.org https://mail.python.org/mailman/listinfo/cryptography-dev