The error comes from the _ssl.c in python distribution. It would be nice if OpenSSL reports it with some more useful explanation!
mic 2011/9/26 Jonathan Lundell <jlund...@pobox.com>: > On Sep 26, 2011, at 10:11 AM, Timothy Farrell wrote: > >> I guess I could expound upon that a little more. Rocket does not >> allow insecure connections on secure sockets. So if a secure >> connection fails for whatever reason it will fail (here >> https://github.com/explorigin/Rocket/blob/master/rocket/listener.py#L106 >> ) but what happens is that the returned socket is a normal socket not >> an SSLSocket. The actual detection is a combination of things: >> >> 1) The Connection object detects if the connection is secure or not >> and also records if it should be secure (here: >> https://github.com/explorigin/Rocket/blob/master/rocket/connection.py#L45 >> ) >> 2) The Worker class compares these values such that if a socket is >> supposed to be secure but is not, it will close the connection and not >> process the request (here: >> https://github.com/explorigin/Rocket/blob/master/rocket/worker.py#L155 >> ). The code is not awesomely concise, but the net effect is that no >> insecure connections get processed as secure ones. >> >> I left the try/except block in there so that it wouldn't fail there so >> my listener threads weren't also having to handle responses. There >> seemed little reason to log the error (to me) since if things were >> setup correctly, it wouldn't error in interesting scenarios. However >> it's useful when developing (as Michele figured out) to add a log line >> there. >> >> I'm open to there being a log line there but I think it will overload >> the logfiles with useless messages because there are scanners all over >> the internet that try to connect to secure sockets insecurely all the >> time. >> >> I'm open to ideas. Share them with me. =) > > Thanks for chiming in, Tim. Is the exception that's showing up consistent > with an insecure request on a secure socket? The error seems a little > obscure, but I suppose that shouldn't surprise me. > > ERROR:Rocket.Errors.Port8000:SSL Error: Tranceback (most recent call last): > File "/media/psf/Python/web2py/gluon/rocket.py", line 512, in wrap_socket > ssl_version = ssl.PROTOCOL_SSLv23 > File "/usr/lib/python2.6/ssl.py", line 350, in wrap_socket > suppress_ragged_eofs=suppress_ragged_eofs) > File "/usr/lib/python2.6/ssl.py", line 118, in __init__ > self.do_handshake() > File "/url/lib/python2.6/ssl.py", line 293, in do_handshake > self._sslobj.do_handshake() > SSLError: [Errno 8] _ssl.c:480: EOF occurred in violation of protocol > >