diff options
| -rw-r--r-- | mail/src/leap/mail/imap/account.py | 11 | ||||
| -rw-r--r-- | mail/src/leap/mail/imap/server.py | 2 | 
2 files changed, 11 insertions, 2 deletions
| diff --git a/mail/src/leap/mail/imap/account.py b/mail/src/leap/mail/imap/account.py index 146d066..0cf583b 100644 --- a/mail/src/leap/mail/imap/account.py +++ b/mail/src/leap/mail/imap/account.py @@ -61,7 +61,7 @@ class IMAPAccount(object):      implements(imap4.IAccount, imap4.INamespacePresenter)      selected = None -    closed = False +    session_ended = False      def __init__(self, user_id, store, d=defer.Deferred()):          """ @@ -92,6 +92,15 @@ class IMAPAccount(object):              return None          mbox = IMAPMailbox(collection, rw=readwrite)          return mbox +    def end_session(self): +        """ +        Used to mark when the session has closed, and we should not allow any +        more commands from the client. + +        Right now it's called from the client backend. +        """ +        # TODO move its use to the service shutdown in leap.mail +        self.session_ended = True      def callWhenReady(self, cb, *args, **kw):          d = self.account.callWhenReady(cb, *args, **kw) diff --git a/mail/src/leap/mail/imap/server.py b/mail/src/leap/mail/imap/server.py index f294f42..23ddefc 100644 --- a/mail/src/leap/mail/imap/server.py +++ b/mail/src/leap/mail/imap/server.py @@ -67,7 +67,7 @@ class LEAPIMAPServer(imap4.IMAP4Server):          :param line: the line from the server, without the line delimiter.          :type line: str          """ -        if self.theAccount.closed is True and self.state != "unauth": +        if self.theAccount.session_ended is True and self.state != "unauth":              log.msg("Closing the session. State: unauth")              self.state = "unauth" | 
