Index: univention-management-console-web-server =================================================================== --- univention-management-console-web-server (Revision 32342) +++ univention-management-console-web-server (Arbeitskopie) @@ -73,10 +71,13 @@ self.client = umcp.Client() self.client.signal_connect( 'authenticated', self._authenticated ) self.client.signal_connect( 'response', self._response ) - if self.client.connect(): + try: + if not self.client.connect(): + CORE.process( 'Failed to connect ... just kidding' ) CORE.info('SessionClient(0x%x): connected to UMC server' % (id(self),)) - else: + except umcp.NoSocketError: CORE.process('SessionClient(0x%x): connection to UMC server failed' % (id(self),)) + raise umcp.NoSocketError( 'Connection failed' ) self._auth_response = None self._auth_response_queue = None self._requestid2response_queue = {} @@ -214,7 +215,15 @@ queuerequest.sessionid = str( uuid.uuid4() ) # create new session / umcp client # add a small offset to the timeout in order to avoid a mismatch between frontend and backend - client = SessionClient(timeout = _session_timeout + 5) + try: + client = SessionClient(timeout = _session_timeout + 5) + except Exception, e: + CORE.process( 'Failed to create UMC connection: %s' % str(e ) ) + response = umcp.Response( queuerequest.request ) + response.status = httplib.UNAUTHORIZED # set status to unauthorized + queuerequest.response_queue.put( response ) + return + cls.sessions[queuerequest.sessionid] = client callback = notifier.Callback(cls.cleanup_session, queuerequest.sessionid) client.client.signal_connect( 'closed', callback )