diff options
-rw-r--r-- | src/leap/gui/mainwindow.py | 17 | ||||
-rw-r--r-- | src/leap/services/soledad/soledadbootstrapper.py | 28 |
2 files changed, 29 insertions, 16 deletions
diff --git a/src/leap/gui/mainwindow.py b/src/leap/gui/mainwindow.py index 89790239..87dd4f5c 100644 --- a/src/leap/gui/mainwindow.py +++ b/src/leap/gui/mainwindow.py @@ -900,7 +900,6 @@ class MainWindow(QtGui.QMainWindow): self.ui.stackedWidget.setCurrentIndex(self.EIP_STATUS_INDEX) - # XXX disabling soledad for now self._soledad_bootstrapper.run_soledad_setup_checks( self._provider_config, self._login_widget.get_user(), @@ -921,9 +920,11 @@ class MainWindow(QtGui.QMainWindow): """ passed = data[self._soledad_bootstrapper.PASSED_KEY] if not passed: - # TODO: display in the GUI - logger.error("Soledad failed to start: %s" % - (data[self._soledad_bootstrapper.ERROR_KEY],)) + # TODO: display in the GUI: + # should pass signal to a slot in status_panel + # that sets the global status + logger.warning("Soledad failed to start: %s" % + (data[self._soledad_bootstrapper.ERROR_KEY],)) def _soledad_bootstrapped_stage(self, data): """ @@ -1397,8 +1398,15 @@ class MainWindow(QtGui.QMainWindow): if self._srp_auth is not None: if self._srp_auth.get_session_id() is not None or \ self._srp_auth.get_token() is not None: + # XXX this can timeout after loong time: See #3368 self._srp_auth.logout() + if self._soledad: + logger.debug("Closing soledad...") + self._soledad.close() + else: + logger.error("No instance of soledad was found.") + logger.debug('Cleaning pidfiles') self._cleanup_pidfiles() @@ -1412,6 +1420,7 @@ class MainWindow(QtGui.QMainWindow): self._cleanup_and_quit() self._really_quit = True + if self._wizard: self._wizard.close() diff --git a/src/leap/services/soledad/soledadbootstrapper.py b/src/leap/services/soledad/soledadbootstrapper.py index a952fac5..ac3243c1 100644 --- a/src/leap/services/soledad/soledadbootstrapper.py +++ b/src/leap/services/soledad/soledadbootstrapper.py @@ -62,6 +62,7 @@ class SoledadBootstrapper(AbstractBootstrapper): self._download_if_needed = False self._user = "" self._password = "" + self._soledad = None @property def keymanager(self): @@ -89,10 +90,12 @@ class SoledadBootstrapper(AbstractBootstrapper): # TODO: Select server based on timezone (issue #3308) server_dict = self._soledad_config.get_hosts() - if len(server_dict.keys() > 0): + if server_dict.keys(): selected_server = server_dict[server_dict.keys()[0]] server_url = "https://%s:%s/user-%s" % ( - selected_server["hostname"], selected_server["port"], uuid) + selected_server["hostname"], + selected_server["port"], + uuid) logger.debug("Using soledad server url: %s" % (server_url,)) @@ -126,12 +129,12 @@ class SoledadBootstrapper(AbstractBootstrapper): self._soledad_config = SoledadConfig() headers = {} - mtime = get_mtime(os.path.join(self._soledad_config - .get_path_prefix(), - "leap", - "providers", - self._provider_config.get_domain(), - "soledad-service.json")) + mtime = get_mtime( + os.path.join( + self._soledad_config.get_path_prefix(), + "leap", "providers", + self._provider_config.get_domain(), + "soledad-service.json")) if self._download_if_needed and mtime: headers['if-modified-since'] = mtime @@ -159,9 +162,10 @@ class SoledadBootstrapper(AbstractBootstrapper): if res.status_code == 304: logger.debug("Soledad definition has not been modified") self._soledad_config.load( - os.path.join("leap", "providers", - self._provider_config.get_domain(), - "soledad-service.json")) + os.path.join( + "leap", "providers", + self._provider_config.get_domain(), + "soledad-service.json")) else: soledad_definition, mtime = get_content(res) @@ -190,7 +194,7 @@ class SoledadBootstrapper(AbstractBootstrapper): address, "https://nicknym.%s:6425" % (self._provider_config.get_domain(),), self._soledad, - #token=srp_auth.get_token(), # TODO: enable token usage + #token=srp_auth.get_token(), # TODO: enable token usage session_id=srp_auth.get_session_id(), ca_cert_path=self._provider_config.get_ca_cert_path(), api_uri=self._provider_config.get_api_uri(), |