summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/Server/Component.py5
-rw-r--r--src/lib/Server/Plugin.py5
2 files changed, 8 insertions, 2 deletions
diff --git a/src/lib/Server/Component.py b/src/lib/Server/Component.py
index 01b4e1b0a..de41a2277 100644
--- a/src/lib/Server/Component.py
+++ b/src/lib/Server/Component.py
@@ -90,7 +90,10 @@ class Component(SSL.SSLServer,
self.logRequests = 0
# setup unhandled request syslog handling
SimpleXMLRPCServer.SimpleXMLRPCDispatcher.__init__(self)
- SSL.SSLServer.__init__(self, location, CobaltXMLRPCRequestHandler, sslctx)
+ try:
+ SSL.SSLServer.__init__(self, location, CobaltXMLRPCRequestHandler, sslctx)
+ except socket.error, serr:
+ self.logger.error("Failed to bind to location %s" % (location,), exc_info=1)
self.port = self.socket.socket.getsockname()[1]
self.logger.info("Bound to port %s" % self.port)
self.funcs.update({'HandleEvents':self.HandleEvents,
diff --git a/src/lib/Server/Plugin.py b/src/lib/Server/Plugin.py
index be4d7ba23..fb3775034 100644
--- a/src/lib/Server/Plugin.py
+++ b/src/lib/Server/Plugin.py
@@ -241,7 +241,10 @@ class XMLSrc(XMLFileBacked):
def Index(self):
self.names = []
- xdata = XML(self.data)
+ try:
+ xdata = lxml.etree.XML(self.data)
+ except lxml.etree.XMLSyntaxError:
+ logger.error("Failed to parse file %s" % ( self.name))
self.pnode = self.__node__(xdata, self.names)
self.cache = None
self.priority = xdata.attrib['priority']