From e71cf9ee4dd28ea8cc016b162a9b1099aa41ee59 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 14 Mar 2021 18:16:17 +0100 Subject: [PATCH] Preserving LOGINDISABLED --- app/src/main/java/com/sun/mail/imap/IMAPStore.java | 5 +++++ .../main/java/com/sun/mail/imap/protocol/IMAPProtocol.java | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/app/src/main/java/com/sun/mail/imap/IMAPStore.java b/app/src/main/java/com/sun/mail/imap/IMAPStore.java index 3527ce1598..9b4f5d4d86 100644 --- a/app/src/main/java/com/sun/mail/imap/IMAPStore.java +++ b/app/src/main/java/com/sun/mail/imap/IMAPStore.java @@ -750,7 +750,12 @@ public class IMAPStore extends Store if (p.hasCapability("STARTTLS")) { p.startTLS(); // if startTLS succeeds, refresh capabilities + boolean logindisabled = p.hasCapability("LOGINDISABLED"); p.capability(); + if (logindisabled && !p.hasCapability("LOGINDISABLED")) { + eu.faircode.email.Log.e("Preserving LOGINDISABLED"); + p.setCapability("LOGINDISABLED"); + } } else if (requireStartTLS) { logger.fine("STARTTLS required but not supported by server"); throw new ProtocolException( diff --git a/app/src/main/java/com/sun/mail/imap/protocol/IMAPProtocol.java b/app/src/main/java/com/sun/mail/imap/protocol/IMAPProtocol.java index 85727902ad..a32101d0f0 100644 --- a/app/src/main/java/com/sun/mail/imap/protocol/IMAPProtocol.java +++ b/app/src/main/java/com/sun/mail/imap/protocol/IMAPProtocol.java @@ -412,6 +412,10 @@ public class IMAPProtocol extends Protocol { return capabilities.containsKey(c.toUpperCase(Locale.ENGLISH)); } + public void setCapability(String c) { + capabilities.put(c.toUpperCase(Locale.ENGLISH), c); + } + /** * Return the map of capabilities returned by the server. *