[pyOpenSSL] PyOpenSSL bug

Kevin Lindsay klindsay at mkintraweb.com
Fri Nov 15 18:37:49 CET 2002


Hello, I've been using pyopenssl with python's BaseHTTPServer and have
stumbled on to racy bug.

The server sometimes blocks indefinetly during the SSL handshake during
a read(). It appears todo this when there are reverse dns issues with
the client ip or dns server. Maybe if the dns server is slow to respond...
Basically everything is well and speedy when I added my client's IP to 
/etc/hosts on the server. (linux 2.4.19, debian woody). 

After alot of debugging it seems the following is happening (I'm not very
familiar with SSL or pyOpenSSL internals) so here is the high level list
of events:

1) Browser Connects to server
2) Server does handshake
3) Server blocks on read()
4) Browser waits for response from server indefinetly

This only happens with Mozilla based browsers, IE and Opera timeout after
5 seconds and will resend the connection request, Mozilla doesn't so will
spin forever.

It is a bit racy and only occurs when the server is serving 10 or so images
at once and I hit reload multiple times.

I've tested it without threads and the problem still exists. Its the only
issue I can see with pyOpenSSL, other than that its been excellent.

If anyone has any ideas or would like more info on debugging this thing
let me know.

Kevin-

---------------------------------------------------
Kevin Lindsay
Debian Developer
Fingerprint: 81E 58A3 B49A 580E EE3D 8CF0 519A 55F0 746C 51F4
Key Id:      746C51F4




More information about the pyopenssl-users mailing list