diff options
-rw-r--r-- | src/leap/mail/imap/account.py | 11 | ||||
-rw-r--r-- | src/leap/mail/imap/server.py | 2 |
2 files changed, 11 insertions, 2 deletions
diff --git a/src/leap/mail/imap/account.py b/src/leap/mail/imap/account.py index 146d066..0cf583b 100644 --- a/src/leap/mail/imap/account.py +++ b/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/src/leap/mail/imap/server.py b/src/leap/mail/imap/server.py index f294f42..23ddefc 100644 --- a/src/leap/mail/imap/server.py +++ b/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" |