From 1f53212d62ae7202c6b8efdbe84e94b745663471 Mon Sep 17 00:00:00 2001 From: HelloZeroNet Date: Fri, 19 Jun 2015 12:26:56 +0200 Subject: [PATCH] rev246, Socket peek undhandler error fix --- src/Config.py | 2 +- src/Connection/Connection.py | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/Config.py b/src/Config.py index a3255e30..c441fc7d 100644 --- a/src/Config.py +++ b/src/Config.py @@ -4,7 +4,7 @@ import ConfigParser class Config(object): def __init__(self): self.version = "0.3.1" - self.rev = 245 + self.rev = 246 self.parser = self.createArguments() argv = sys.argv[:] # Copy command line arguments argv = self.parseConfig(argv) # Add arguments from config file diff --git a/src/Connection/Connection.py b/src/Connection/Connection.py index 51f133de..03a3e179 100644 --- a/src/Connection/Connection.py +++ b/src/Connection/Connection.py @@ -87,11 +87,14 @@ class Connection(object): def handleIncomingConnection(self, sock): self.log("Incoming connection...") self.type = "in" - if sock.recv( 1, gevent.socket.MSG_PEEK ) == "\x16": - self.log("Crypt in connection using implicit SSL") - self.sock = CryptConnection.manager.wrapSocket(self.sock, "tls-rsa", True) - self.sock_wrapped = True - self.crypt = "tls-rsa" + try: + if sock.recv(1, gevent.socket.MSG_PEEK) == "\x16": + self.log("Crypt in connection using implicit SSL") + self.sock = CryptConnection.manager.wrapSocket(self.sock, "tls-rsa", True) + self.sock_wrapped = True + self.crypt = "tls-rsa" + except Exception, err: + self.log("Socket peek error: %s" % Debug.formatException(err)) self.messageLoop()