# HG changeset patch # User Laman # Date 2018-02-19 22:45:11 # Node ID 922291d72c0f1eb3fa8a4cc2280e0ca36a7994c5 # Parent a4bfaabaeabb7130f0560f5dc4d1aa8bb148d9ed bugfix: server recovers from a failed ssl connection diff --git a/src/server.py b/src/server.py --- a/src/server.py +++ b/src/server.py @@ -15,7 +15,10 @@ class Connection(BaseConnection): super().__init__() sock, address = serverSocket.accept() - self._socket=sslContext.wrap_socket(sock,server_side=True) + try: self._socket=sslContext.wrap_socket(sock,server_side=True) + except ssl.SSLError as e: + log.warning("Failed to establish an SSL connection from {0}.".format(sock.getpeername())) + raise e log.info('Connected by {0}'.format(address)) self.createNetworkers() @@ -38,7 +41,8 @@ class Miniserver: p=None with self._ss: while True: - connection=Connection(self._ss,self._ssl) + try: connection=Connection(self._ss,self._ssl) + except ssl.SSLError: continue if p and p.is_alive(): with connection as c: c[0].readMsg()