summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/lib/Server/Component.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/lib/Server/Component.py b/src/lib/Server/Component.py
index 5aebbcbdc..fe4324b29 100644
--- a/src/lib/Server/Component.py
+++ b/src/lib/Server/Component.py
@@ -144,7 +144,13 @@ class Component(TLSServer,
"""Decode and dispatch XMLRPC requests. Overloaded to pass through
client address information
"""
- rawparams, method = xmlrpclib.loads(data)
+ try:
+ rawparams, method = xmlrpclib.loads(data)
+ except:
+ self.logger.error("Failed to parse request from %s" \
+ % (address[0]))
+ #open('/tmp/badreq', 'w').write(data)
+ return xmlrpclib.dumps(xmlrpclib.Fault(4, "Bad Request"))
if len(rawparams) < 2:
self.logger.error("No authentication included with request from %s" % address[0])
return xmlrpclib.dumps(xmlrpclib.Fault(2, "No Authentication Info"))