diff options
-rw-r--r-- | mail/src/leap/mail/imap/service/imap.py | 15 | ||||
-rw-r--r-- | mail/src/leap/mail/smtp/__init__.py | 5 |
2 files changed, 15 insertions, 5 deletions
diff --git a/mail/src/leap/mail/imap/service/imap.py b/mail/src/leap/mail/imap/service/imap.py index 6b2a61da..09ac5427 100644 --- a/mail/src/leap/mail/imap/service/imap.py +++ b/mail/src/leap/mail/imap/service/imap.py @@ -20,13 +20,14 @@ Imap service initialization from copy import copy import logging -logger = logging.getLogger(__name__) from twisted.internet.protocol import ServerFactory - +from twisted.internet.error import CannotListenError from twisted.mail import imap4 from twisted.python import log +logger = logging.getLogger(__name__) + from leap.common import events as leap_events from leap.common.check import leap_assert, leap_assert_type from leap.keymanager import KeyManager @@ -164,13 +165,17 @@ def run_service(*args, **kwargs): soledad, factory.theAccount, check_period) + except CannotListenError: + logger.error("IMAP Service failed to start: " + "cannot listen in port %s" % (port,)) except Exception as exc: - # XXX cannot listen? logger.error("Error launching IMAP service: %r" % (exc,)) - leap_events.signal(IMAP_SERVICE_FAILED_TO_START, str(port)) - return else: + # all good. fetcher.start_loop() logger.debug("IMAP4 Server is RUNNING in port %s" % (port,)) leap_events.signal(IMAP_SERVICE_STARTED, str(port)) return fetcher + + # not ok, signal error. + leap_events.signal(IMAP_SERVICE_FAILED_TO_START, str(port)) diff --git a/mail/src/leap/mail/smtp/__init__.py b/mail/src/leap/mail/smtp/__init__.py index 54f5c810..d5d61bf0 100644 --- a/mail/src/leap/mail/smtp/__init__.py +++ b/mail/src/leap/mail/smtp/__init__.py @@ -18,10 +18,12 @@ """ SMTP relay helper function. """ +import logging from twisted.internet import reactor from twisted.internet.error import CannotListenError +logger = logging.getLogger(__name__) from leap.common.events import proto, signal from leap.mail.smtp.smtprelay import SMTPFactory @@ -76,4 +78,7 @@ def setup_smtp_relay(port, keymanager, smtp_host, smtp_port, reactor.listenTCP(port, factory) signal(proto.SMTP_SERVICE_STARTED, str(smtp_port)) except CannotListenError: + logger.error("STMP Service failed to start: " + "cannot listen in port %s" % ( + smtp_port,)) signal(proto.SMTP_SERVICE_FAILED_TO_START, str(smtp_port)) |