summaryrefslogtreecommitdiff
path: root/service/pixelated/bitmask_libraries/provider.py
diff options
context:
space:
mode:
Diffstat (limited to 'service/pixelated/bitmask_libraries/provider.py')
-rw-r--r--service/pixelated/bitmask_libraries/provider.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/service/pixelated/bitmask_libraries/provider.py b/service/pixelated/bitmask_libraries/provider.py
index b7f82f8a..071b0bbf 100644
--- a/service/pixelated/bitmask_libraries/provider.py
+++ b/service/pixelated/bitmask_libraries/provider.py
@@ -14,6 +14,7 @@
# You should have received a copy of the GNU Affero General Public License
# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
import json
+import os
from leap.common.certs import get_digest
import requests
@@ -95,6 +96,13 @@ class LeapProvider(object):
if fingerprint.strip() != digest:
raise Exception('Certificate fingerprints don\'t match! Expected [%s] but got [%s]' % (fingerprint.strip(), digest))
+ def smtp_info(self):
+ json_data = self.fetch_smtp_json()
+ hosts = json_data['hosts']
+ hostname = hosts.keys()[0]
+ host = hosts[hostname]
+ return host['hostname'], host['port']
+
def _validated_get(self, url):
session = requests.session()
try:
@@ -130,3 +138,10 @@ class LeapProvider(object):
def address_for(self, username):
return '%s@%s' % (username, self.domain)
+
+ def _client_cert_path(self):
+ return os.path.join(
+ self.config.leap_home,
+ "providers",
+ self.domain,
+ "keys", "client", "smtp.pem")