diff options
Diffstat (limited to 'src/lib/SSLServer.py')
-rw-r--r-- | src/lib/SSLServer.py | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/lib/SSLServer.py b/src/lib/SSLServer.py index f1e9a65a6..6d053b802 100644 --- a/src/lib/SSLServer.py +++ b/src/lib/SSLServer.py @@ -288,21 +288,27 @@ class XMLRPCRequestHandler (SimpleXMLRPCServer.SimpleXMLRPCRequestHandler): except: (type, msg) = sys.exc_info()[:2] if str(type) == 'socket.error' and msg[0] == 32: - self.logger.warning("Connection dropped from %s" % self.client_address[0]) + self.logger.warning("Connection dropped from %s" % + self.client_address[0]) elif str(type) == 'socket.error' and msg[0] == 104: - self.logger.warning("Connection reset by peer: %s" % self.client_address[0]) + self.logger.warning("Connection reset by peer: %s" % + self.client_address[0]) elif str(type) == 'ssl.SSLError': - self.logger.warning("SSLError handling client %s: %s" % \ - (self.client_address[0], msg)) + self.logger.warning("SSLError handling client %s: %s" % + (self.client_address[0], msg)) else: - self.logger.error("Error sending response (%s): %s" % \ - (type, msg)) + self.logger.error("Error sending response (%s): %s" % + (type, msg)) def finish(self): # shut down the connection if not self.wfile.closed: - self.wfile.flush() - self.wfile.close() + try: + self.wfile.flush() + self.wfile.close() + except socket.error: + err = sys.exc_info()[1] + self.logger.warning("Error closing connection: %s" % err) self.rfile.close() |