diff options
author | Ivan Alejandro <ivanalejandro0@gmail.com> | 2013-10-23 16:20:58 -0300 |
---|---|---|
committer | Ivan Alejandro <ivanalejandro0@gmail.com> | 2013-10-29 11:04:19 -0300 |
commit | 30c922e03f61d9c588d4d4eca5edcdf2a5c4056c (patch) | |
tree | 62a47debaf9af7013180a1a0f010f3a9eb9344ca | |
parent | e149f7e3e6a5c4621edd252fd7f75c580c5e49b3 (diff) |
Use unicode values and encode them out.
-rw-r--r-- | changes/bug-4189_non-ascii-path-problem | 1 | ||||
-rw-r--r-- | src/leap/bitmask/provider/providerbootstrapper.py | 15 |
2 files changed, 12 insertions, 4 deletions
diff --git a/changes/bug-4189_non-ascii-path-problem b/changes/bug-4189_non-ascii-path-problem new file mode 100644 index 00000000..a6bead2d --- /dev/null +++ b/changes/bug-4189_non-ascii-path-problem @@ -0,0 +1 @@ + o Fix problem with non-ascii paths. Closes #4189. diff --git a/src/leap/bitmask/provider/providerbootstrapper.py b/src/leap/bitmask/provider/providerbootstrapper.py index 1b5947e1..2adf8aa8 100644 --- a/src/leap/bitmask/provider/providerbootstrapper.py +++ b/src/leap/bitmask/provider/providerbootstrapper.py @@ -20,6 +20,7 @@ Provider bootstrapping import logging import socket import os +import sys import requests @@ -125,9 +126,13 @@ class ProviderBootstrapper(AbstractBootstrapper): # err --- but we can do it after a failure, to diagnose what went # wrong. Right now we're just adding connection overhead. -- kali + verify = self.verify + if verify: + verify = self.verify.encode(sys.getfilesystemencoding()) + try: res = self._session.get("https://%s" % (self._domain,), - verify=self.verify, + verify=verify, timeout=REQUEST_TIMEOUT) res.raise_for_status() except requests.exceptions.SSLError as exc: @@ -180,6 +185,8 @@ class ProviderBootstrapper(AbstractBootstrapper): # no ca? then download from main domain again. pass + if verify: + verify = verify.encode(sys.getfilesystemencoding()) logger.debug("Requesting for provider.json... " "uri: {0}, verify: {1}, headers: {2}".format( uri, verify, headers)) @@ -336,9 +343,9 @@ class ProviderBootstrapper(AbstractBootstrapper): test_uri = "%s/%s/cert" % (self._provider_config.get_api_uri(), self._provider_config.get_api_version()) - res = self._session.get(test_uri, - verify=self._provider_config - .get_ca_cert_path(), + ca_cert_path = self._provider_config.get_ca_cert_path() + ca_cert_path = ca_cert_path.encode(sys.getfilesystemencoding()) + res = self._session.get(test_uri, verify=ca_cert_path, timeout=REQUEST_TIMEOUT) res.raise_for_status() |