summaryrefslogtreecommitdiff
path: root/src/leap/crypto/srpregister.py
diff options
context:
space:
mode:
authorTomás Touceda <chiiph@leap.se>2013-07-19 11:35:27 -0300
committerTomás Touceda <chiiph@leap.se>2013-07-19 12:14:23 -0300
commit2b2505683f9dd91b6f2f8aeb1ac0798c975a53d6 (patch)
treeb641d44e2f4819ca0458f3754246c4314864a483 /src/leap/crypto/srpregister.py
parent7ec29145b064afab312cb57e74dc33c38da1e3ea (diff)
Workaround segfault when emitting a signal with a None parameter
Also, support a response from requests be None in certain places.
Diffstat (limited to 'src/leap/crypto/srpregister.py')
-rw-r--r--src/leap/crypto/srpregister.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/leap/crypto/srpregister.py b/src/leap/crypto/srpregister.py
index 24f73504..de1978b5 100644
--- a/src/leap/crypto/srpregister.py
+++ b/src/leap/crypto/srpregister.py
@@ -124,7 +124,12 @@ class SRPRegister(QtCore.QObject):
logger.debug('Post to uri: %s' % uri)
logger.debug("Will try to register user = %s" % (username,))
- ok = None
+ ok = False
+ # This should be None, but we don't like when PySide segfaults,
+ # so it something else.
+ # To reproduce it, just do:
+ # self.registration_finished.emit(False, None)
+ req = []
try:
req = self._session.post(uri,
data=user_data,
@@ -132,12 +137,13 @@ class SRPRegister(QtCore.QObject):
verify=self._provider_config.
get_ca_cert_path())
- except requests.exceptions.SSLError as exc:
- logger.error("SSLError: %s" % exc.message)
- req = None
+ except (requests.exceptions.SSLError,
+ requests.exceptions.ConnectionError) as exc:
+ logger.error(exc.message)
ok = False
else:
ok = req.ok
+
self.registration_finished.emit(ok, req)
return ok