From 58ada9baff682dd9e982ae978931a170ac2021b2 Mon Sep 17 00:00:00 2001
From: Kali Kaneko <kali@leap.se>
Date: Wed, 21 Aug 2013 19:31:44 +0200
Subject: Add errors in logger so we get them in client.

---
 mail/src/leap/mail/imap/service/imap.py | 15 ++++++++++-----
 mail/src/leap/mail/smtp/__init__.py     |  5 +++++
 2 files changed, 15 insertions(+), 5 deletions(-)

(limited to 'mail/src')

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))
-- 
cgit v1.2.3