summaryrefslogtreecommitdiffstats
path: root/lite-xmlrpc.py
diff options
context:
space:
mode:
authorJason Gerard DeRose <jderose@redhat.com>2009-01-28 18:16:04 -0700
committerRob Crittenden <rcritten@redhat.com>2009-02-03 15:29:04 -0500
commit77e782e2cb5413cde9501568155cce9283ff7b7d (patch)
tree959f9c47e94456216c2e0e5591c674b281160dcd /lite-xmlrpc.py
parent83045f0ac85a677df99fc56ea561b65d52b30c11 (diff)
downloadfreeipa-77e782e2cb5413cde9501568155cce9283ff7b7d.tar.gz
freeipa-77e782e2cb5413cde9501568155cce9283ff7b7d.tar.xz
freeipa-77e782e2cb5413cde9501568155cce9283ff7b7d.zip
Fixed bug I introduced in KerbTransport; started work on lite-xmlrpc.py to add client address to context
Diffstat (limited to 'lite-xmlrpc.py')
-rwxr-xr-xlite-xmlrpc.py17
1 files changed, 14 insertions, 3 deletions
diff --git a/lite-xmlrpc.py b/lite-xmlrpc.py
index d755dfa3f..55babf9ef 100755
--- a/lite-xmlrpc.py
+++ b/lite-xmlrpc.py
@@ -24,7 +24,7 @@ In-tree XML-RPC server using SimpleXMLRPCServer.
"""
import sys
-from SimpleXMLRPCServer import SimpleXMLRPCServer
+from SimpleXMLRPCServer import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler
import krbV
from ipalib import api
@@ -54,14 +54,25 @@ class Server(SimpleXMLRPCServer):
ccache=krbV.default_context().default_ccache().name
return api.Backend.xmlserver.marshaled_dispatch(data, ccache)
except Exception, e:
- api.log.exception('Error caught by lite-xmlrpc.py...')
+ api.log.exception('lite-xmlrpc: caught error in _marshaled_dispatch()')
raise e
+class RequestHandler(SimpleXMLRPCRequestHandler):
+
+ def do_POST(self):
+ try:
+ client = '%r %r' % self.client_address
+ except Exception, e:
+ api.log.exception('lite-xmlrpc: caught error in do_POST()')
+ raise e
+ return SimpleXMLRPCRequestHandler.do_POST(self)
+
+
api.bootstrap_with_global_options(context='server')
api.finalize()
-kw = dict(logRequests=False)
+kw = dict(requestHandler=RequestHandler, logRequests=False)
if sys.version_info[:2] != (2, 4):
kw.update(dict(encoding='UTF-8', allow_none=True))
server = Server(('', api.env.lite_xmlrpc_port), **kw)