summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIvan Alejandro <ivanalejandro0@yahoo.com.ar>2013-07-05 16:01:45 -0300
committerIvan Alejandro <ivanalejandro0@yahoo.com.ar>2013-07-05 16:01:45 -0300
commit4480361f2fbdd293840f4eb1942c3edab2ff40c0 (patch)
treefa453b235ea38c8157e7e1ec4e61e3c000e196fb /src
parent57184883c7aa30475d37681d6b88ff0c699e1c7b (diff)
parent17f608f0148c2340a811d6eb85bebd2e612f10be (diff)
Merge branch 'bug/handle_unreachable_provider' into develop
Diffstat (limited to 'src')
-rw-r--r--src/leap/crypto/srpauth.py10
-rw-r--r--src/leap/crypto/srpregister.py2
-rw-r--r--src/leap/services/eip/eipbootstrapper.py7
-rw-r--r--src/leap/services/eip/providerbootstrapper.py13
-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