From 26cbb616eb3ada3a0fb82e3156737b43cd2bc1ac Mon Sep 17 00:00:00 2001 From: Bruno Wagner Goncalves Date: Wed, 6 Aug 2014 01:53:49 -0300 Subject: LeapSmtp SMTP_PORT constant is in fact the twisted communication port and must be unique between instances, so it cannot be a constant unless we change LeapSmtp to a singleton --- service/app/bitmask_libraries/smtp.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'service/app') diff --git a/service/app/bitmask_libraries/smtp.py b/service/app/bitmask_libraries/smtp.py index 5fa7ad70..f07a4838 100644 --- a/service/app/bitmask_libraries/smtp.py +++ b/service/app/bitmask_libraries/smtp.py @@ -2,6 +2,8 @@ import os import requests from .certs import which_bundle from leap.mail.smtp import setup_smtp_gateway +import random + class LeapSmtp(object): @@ -14,6 +16,7 @@ class LeapSmtp(object): self._hostname, self._port = self._discover_smtp_server() self._smtp_port = None self._smtp_service = None + self._twisted_port = 10000 + int(random.random() * 5000) def smtp_info(self): return ('localhost', LeapSmtp.SMTP_PORT) @@ -60,14 +63,15 @@ class LeapSmtp(object): email = '%s@%s' % (self._srp_session.user_name, self._provider.domain) self._smtp_service, self._smtp_port = setup_smtp_gateway( - port=LeapSmtp.SMTP_PORT, + port=(self._twisted_port), userid=email, keymanager=self._keymanager, smtp_host=self._hostname.encode('UTF-8'), smtp_port=self._port, smtp_cert=cert_path, smtp_key=cert_path, - encrypted_only=False) + encrypted_only=False + ) def stop(self): if self._smtp_service is not None: -- cgit v1.2.3