diff options
author | Ivan Alejandro <ivanalejandro0@yahoo.com.ar> | 2013-07-05 16:01:45 -0300 |
---|---|---|
committer | Ivan Alejandro <ivanalejandro0@yahoo.com.ar> | 2013-07-05 16:01:45 -0300 |
commit | 4480361f2fbdd293840f4eb1942c3edab2ff40c0 (patch) | |
tree | fa453b235ea38c8157e7e1ec4e61e3c000e196fb /src | |
parent | 57184883c7aa30475d37681d6b88ff0c699e1c7b (diff) | |
parent | 17f608f0148c2340a811d6eb85bebd2e612f10be (diff) |
Merge branch 'bug/handle_unreachable_provider' into develop
Diffstat (limited to 'src')
-rw-r--r-- | src/leap/crypto/srpauth.py | 10 | ||||
-rw-r--r-- | src/leap/crypto/srpregister.py | 2 | ||||
-rw-r--r-- | src/leap/services/eip/eipbootstrapper.py | 7 | ||||
-rw-r--r-- | src/leap/services/eip/providerbootstrapper.py | 13 | ||||
-rw-r--r-- | src/leap/util/constants.py (renamed from src/leap/crypto/constants.py) | 1 |
5 files changed, 23 insertions, 10 deletions
diff --git a/src/leap/crypto/srpauth.py b/src/leap/crypto/srpauth.py index 0e95ae64..89fee80b 100644 --- a/src/leap/crypto/srpauth.py +++ b/src/leap/crypto/srpauth.py @@ -31,6 +31,7 @@ from twisted.internet import threads from leap.common.check import leap_assert from leap.util.request_helpers import get_content +from leap.util.constants import REQUEST_TIMEOUT from leap.common.events import signal as events_signal from leap.common.events import events_pb2 as proto @@ -155,7 +156,8 @@ class SRPAuth(QtCore.QObject): init_session = self._session.post(sessions_url, data=auth_data, verify=self._provider_config. - get_ca_cert_path()) + get_ca_cert_path(), + timeout=REQUEST_TIMEOUT) except requests.exceptions.ConnectionError as e: logger.error("No connection made (salt): %r" % (e,)) @@ -230,7 +232,8 @@ class SRPAuth(QtCore.QObject): auth_result = self._session.put(auth_url, data=auth_data, verify=self._provider_config. - get_ca_cert_path()) + get_ca_cert_path(), + timeout=REQUEST_TIMEOUT) except requests.exceptions.ConnectionError as e: logger.error("No connection made (HAMK): %r" % (e,)) raise SRPAuthenticationError(self.tr("Could not connect to " @@ -377,7 +380,8 @@ class SRPAuth(QtCore.QObject): self._session.delete(logout_url, data=self.get_session_id(), verify=self._provider_config. - get_ca_cert_path()) + get_ca_cert_path(), + timeout=REQUEST_TIMEOUT) except Exception as e: logger.warning("Something went wrong with the logout: %r" % (e,)) diff --git a/src/leap/crypto/srpregister.py b/src/leap/crypto/srpregister.py index 07b3c917..42a2c4b0 100644 --- a/src/leap/crypto/srpregister.py +++ b/src/leap/crypto/srpregister.py @@ -25,7 +25,7 @@ from PySide import QtCore from urlparse import urlparse from leap.config.providerconfig import ProviderConfig -from leap.crypto.constants import SIGNUP_TIMEOUT +from leap.util.constants import SIGNUP_TIMEOUT from leap.common.check import leap_assert, leap_assert_type logger = logging.getLogger(__name__) diff --git a/src/leap/services/eip/eipbootstrapper.py b/src/leap/services/eip/eipbootstrapper.py index b2af0aea..60270b5b 100644 --- a/src/leap/services/eip/eipbootstrapper.py +++ b/src/leap/services/eip/eipbootstrapper.py @@ -31,6 +31,7 @@ from leap.config.providerconfig import ProviderConfig from leap.crypto.srpauth import SRPAuth from leap.services.eip.eipconfig import EIPConfig from leap.util.request_helpers import get_content +from leap.util.constants import REQUEST_TIMEOUT from leap.services.abstractbootstrapper import AbstractBootstrapper logger = logging.getLogger(__name__) @@ -89,7 +90,8 @@ class EIPBootstrapper(AbstractBootstrapper): res = self._session.get(config_uri, verify=self._provider_config .get_ca_cert_path(), - headers=headers) + headers=headers, + timeout=REQUEST_TIMEOUT) res.raise_for_status() # Not modified @@ -139,7 +141,8 @@ class EIPBootstrapper(AbstractBootstrapper): res = self._session.get(cert_uri, verify=self._provider_config .get_ca_cert_path(), - cookies=cookies) + cookies=cookies, + timeout=REQUEST_TIMEOUT) res.raise_for_status() client_cert = res.content diff --git a/src/leap/services/eip/providerbootstrapper.py b/src/leap/services/eip/providerbootstrapper.py index 754d0643..274fd3bd 100644 --- a/src/leap/services/eip/providerbootstrapper.py +++ b/src/leap/services/eip/providerbootstrapper.py @@ -31,6 +31,7 @@ from leap.common.files import check_and_fix_urw_only, get_mtime, mkdir_p from leap.common.check import leap_assert, leap_assert_type from leap.config.providerconfig import ProviderConfig from leap.util.request_helpers import get_content +from leap.util.constants import REQUEST_TIMEOUT from leap.services.abstractbootstrapper import AbstractBootstrapper from leap.provider.supportedapis import SupportedAPIs @@ -103,7 +104,8 @@ class ProviderBootstrapper(AbstractBootstrapper): try: res = self._session.get("https://%s" % (self._domain,), - verify=not self._bypass_checks) + verify=not self._bypass_checks, + timeout=REQUEST_TIMEOUT) res.raise_for_status() except requests.exceptions.SSLError: self._err_msg = self.tr("Provider certificate could " @@ -135,7 +137,8 @@ class ProviderBootstrapper(AbstractBootstrapper): res = self._session.get("https://%s/%s" % (self._domain, "provider.json"), headers=headers, - verify=not self._bypass_checks) + verify=not self._bypass_checks, + timeout=REQUEST_TIMEOUT) res.raise_for_status() # Not modified @@ -220,7 +223,8 @@ class ProviderBootstrapper(AbstractBootstrapper): return res = self._session.get(self._provider_config.get_ca_cert_uri(), - verify=not self._bypass_checks) + verify=not self._bypass_checks, + timeout=REQUEST_TIMEOUT) res.raise_for_status() cert_path = self._provider_config.get_ca_cert_path( @@ -280,7 +284,8 @@ class ProviderBootstrapper(AbstractBootstrapper): self._provider_config.get_api_version()) res = self._session.get(test_uri, verify=self._provider_config - .get_ca_cert_path()) + .get_ca_cert_path(), + timeout=REQUEST_TIMEOUT) res.raise_for_status() def run_provider_setup_checks(self, diff --git a/src/leap/crypto/constants.py b/src/leap/util/constants.py index c5eaef1f..63f6b1f7 100644 --- a/src/leap/crypto/constants.py +++ b/src/leap/util/constants.py @@ -16,3 +16,4 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. SIGNUP_TIMEOUT = 5 +REQUEST_TIMEOUT = 10 |