summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changes/bug_4925_close_session1
-rw-r--r--src/leap/mail/imap/account.py1
-rw-r--r--src/leap/mail/imap/service/imap.py12
3 files changed, 5 insertions, 9 deletions
diff --git a/changes/bug_4925_close_session b/changes/bug_4925_close_session
new file mode 100644
index 0000000..93dab55
--- /dev/null
+++ b/changes/bug_4925_close_session
@@ -0,0 +1 @@
+ o Add a flag to be able to reset the session. Closes: #4925
diff --git a/src/leap/mail/imap/account.py b/src/leap/mail/imap/account.py
index 8f5b57b..215564e 100644
--- a/src/leap/mail/imap/account.py
+++ b/src/leap/mail/imap/account.py
@@ -63,6 +63,7 @@ class SoledadBackedAccount(WithMsgFields, IndexedDB, MBoxParser):
_soledad = None
selected = None
+ closed = False
def __init__(self, account_name, soledad=None):
"""
diff --git a/src/leap/mail/imap/service/imap.py b/src/leap/mail/imap/service/imap.py
index 234996d..dfd4862 100644
--- a/src/leap/mail/imap/service/imap.py
+++ b/src/leap/mail/imap/service/imap.py
@@ -71,15 +71,6 @@ class LeapIMAPServer(imap4.IMAP4Server):
# populate the test account properly (and only once
# per session)
- # theAccount = SoledadBackedAccount(
- # user, soledad=soledad)
-
- # ---------------------------------
- # XXX pre-populate acct for tests!!
- # populate_test_account(theAccount)
- # ---------------------------------
- #self.theAccount = theAccount
-
def lineReceived(self, line):
"""
Attempt to parse a single line from the server.
@@ -88,6 +79,9 @@ class LeapIMAPServer(imap4.IMAP4Server):
:type line: str
"""
print "RECV: STATE (%s)" % self.state
+ if self.theAccount.closed is True and self.state != "unauth":
+ log.msg("Closing the session. State: unauth")
+ self.state = "unauth"
if "login" in line.lower():
# avoid to log the pass, even though we are using a dummy auth