diff options
Diffstat (limited to 'src/lib/Server')
-rw-r--r-- | src/lib/Server/Component.py | 5 | ||||
-rw-r--r-- | src/lib/Server/Plugin.py | 5 |
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'] |