Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 65870fba authored by cketti's avatar cketti Committed by GitHub
Browse files

Merge pull request #5591 from k9mail/fix_missing_password_check

Fix check for missing incoming/outgoing server credentials
parents 5055669d 0ad8ce2c
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -392,7 +392,7 @@ public class MessagingController {
    public void refreshFolderListSynchronous(Account account) {
        try {
            ServerSettings serverSettings = account.getIncomingServerSettings();
            if (serverSettings.password == null) {
            if (serverSettings.isMissingCredentials()) {
                handleAuthenticationFailure(account, true);
                return;
            }
@@ -651,7 +651,7 @@ public class MessagingController {

    private void syncFolder(Account account, long folderId, MessagingListener listener, Backend backend) {
        ServerSettings serverSettings = account.getIncomingServerSettings();
        if (serverSettings.password == null) {
        if (serverSettings.isMissingCredentials()) {
            handleAuthenticationFailure(account, true);
            return;
        }
@@ -1512,7 +1512,7 @@ public class MessagingController {
        boolean wasPermanentFailure = false;
        try {
            ServerSettings serverSettings = account.getOutgoingServerSettings();
            if (serverSettings.password == null) {
            if (serverSettings.isMissingCredentials()) {
                handleAuthenticationFailure(account, false);
                return;
            }
+1 −1
Original line number Diff line number Diff line
@@ -39,7 +39,7 @@ class MailSyncWorker(
            return Result.success()
        }

        if (account.incomingServerSettings.password == null) {
        if (account.incomingServerSettings.isMissingCredentials) {
            Timber.d("Password for this account is missing. Skipping mail sync.")
            return Result.success()
        }
+5 −0
Original line number Diff line number Diff line
@@ -16,6 +16,11 @@ data class ServerSettings @JvmOverloads constructor(
    @JvmField val clientCertificateAlias: String?,
    val extra: Map<String, String?> = emptyMap()
) {
    val isMissingCredentials: Boolean = when (authenticationType) {
        AuthType.EXTERNAL -> clientCertificateAlias == null
        else -> password == null
    }

    init {
        require(type == type.toLowerCase(Locale.ROOT)) { "type must be all lower case" }
    }