summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKali Kaneko <kali@leap.se>2013-08-05 13:15:55 +0200
committerKali Kaneko <kali@leap.se>2013-08-06 16:48:02 +0200
commit485d3cf64e5102aeafcefed775b99f850cdf6686 (patch)
tree02e23944786ac2d640c29c5a4ca8298bb77bc6c1
parent9ede79b2d3a6172bcc5d458e70508b06d0033323 (diff)
catch errors during soledad initialization
-rw-r--r--src/leap/services/soledad/soledadbootstrapper.py22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/leap/services/soledad/soledadbootstrapper.py b/src/leap/services/soledad/soledadbootstrapper.py
index ac3243c1..d53aeadb 100644
--- a/src/leap/services/soledad/soledadbootstrapper.py
+++ b/src/leap/services/soledad/soledadbootstrapper.py
@@ -23,6 +23,7 @@ import logging
import os
from PySide import QtCore
+from u1db import errors as u1db_errors
from leap.common.check import leap_assert, leap_assert_type
from leap.common.files import get_mtime
@@ -103,15 +104,18 @@ class SoledadBootstrapper(AbstractBootstrapper):
# TODO: If selected server fails, retry with another host
# (issue #3309)
- self._soledad = Soledad(uuid,
- self._password.encode("utf-8"),
- secrets_path=secrets_path,
- local_db_path=local_db_path,
- server_url=server_url,
- cert_file=cert_file,
- auth_token=srp_auth.get_token())
-
- self._soledad.sync()
+ try:
+ self._soledad = Soledad(
+ uuid,
+ self._password.encode("utf-8"),
+ secrets_path=secrets_path,
+ local_db_path=local_db_path,
+ server_url=server_url,
+ cert_file=cert_file,
+ auth_token=srp_auth.get_token())
+ self._soledad.sync()
+ except u1db_errors.Unauthorized:
+ logger.error("Error while initializing soledad.")
else:
raise Exception("No soledad server found")