Attempt to instrument SecureXMLRPCServer

bzr revid: p_christ@hol.gr-20081118191148-c6oc2syudyvy6ohm
This commit is contained in:
P. Christeas 2008-11-18 21:11:48 +02:00
parent ba195ed72d
commit 1485c9a450
1 changed files with 16 additions and 0 deletions

View File

@ -83,8 +83,10 @@ class SSLBugFix:
Since servers create new sockets, we have to infect
them with our magic. :)
"""
sys.stderr.write("accept\n")
c, a = self.__dict__["conn"].accept()
return (SSLBugFix(c), a)
#def close()
@ -114,6 +116,12 @@ class SecureTCPServer(SocketServer.TCPServer):
self.socket_type)))
self.server_bind()
self.server_activate()
def handle_error(self, request, client_address):
""" Override the error handler
"""
import traceback
logger.notifyChannel("init", netsvc.LOG_ERROR,"SSL Server error in request from %s: %s" %
(client_address,traceback.format_exc()))
class SecureXMLRPCRequestHandler(SimpleXMLRPCServer.SimpleXMLRPCRequestHandler):
@ -123,6 +131,7 @@ class SecureXMLRPCRequestHandler(SimpleXMLRPCServer.SimpleXMLRPCRequestHandler):
doesn't have a 'dup'. Not exactly sure WHY this is, but
this is backed up by comments in socket.py and SSL/connection.c
"""
sys.stderr.write("rhandler setup\n")
self.connection = self.request # for doPOST
self.rfile = socket._fileobject(self.request, "rb", self.rbufsize)
self.wfile = socket._fileobject(self.request, "wb", self.wbufsize)
@ -144,6 +153,13 @@ class SecureXMLRPCServer(SimpleXMLRPCServer.SimpleXMLRPCServer, SecureTCPServer)
self.instance = None
SecureTCPServer.__init__(self, addr, requestHandler)
def handle_error(self, request, client_address):
""" Override the error handler
"""
import traceback
logger.notifyChannel("init", netsvc.LOG_ERROR,"SSL Server error in request from %s: %s" %
(client_address,traceback.format_exc()))
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: