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

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

Merge pull request #6043 from k9mail/move_DefaultTrustedSocketFactory

Move `DefaultTrustedSocketFactory`
parents e4b82ad3 7f343e4f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@ package com.fsck.k9

import android.content.Context
import com.fsck.k9.helper.Contacts
import com.fsck.k9.mail.ssl.DefaultTrustedSocketFactory
import com.fsck.k9.helper.DefaultTrustedSocketFactory
import com.fsck.k9.mail.ssl.LocalKeyStore
import com.fsck.k9.mail.ssl.TrustManagerFactory
import com.fsck.k9.mail.ssl.TrustedSocketFactory
+3 −1
Original line number Diff line number Diff line
package com.fsck.k9.mail.ssl;
package com.fsck.k9.helper;


import java.io.IOException;
@@ -14,6 +14,8 @@ import android.net.SSLCertificateSocketFactory;
import android.text.TextUtils;

import com.fsck.k9.mail.MessagingException;
import com.fsck.k9.mail.ssl.TrustManagerFactory;
import com.fsck.k9.mail.ssl.TrustedSocketFactory;
import javax.net.ssl.KeyManager;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocket;
+1 −1
Original line number Diff line number Diff line

package com.fsck.k9.mail.ssl;
package com.fsck.k9.helper;

import java.net.Socket;
import java.security.Principal;
+15 −1
Original line number Diff line number Diff line
@@ -5,7 +5,9 @@ import app.k9mail.dev.developmentModuleAdditions
import com.fsck.k9.backend.BackendManager
import com.fsck.k9.backend.imap.BackendIdleRefreshManager
import com.fsck.k9.backend.imap.SystemAlarmManager
import com.fsck.k9.helper.DefaultTrustedSocketFactory
import com.fsck.k9.mail.store.imap.IdleRefreshManager
import com.fsck.k9.mail.store.webdav.SniHostSetter
import org.koin.dsl.module

val backendsModule = module {
@@ -30,7 +32,19 @@ val backendsModule = module {
    single<SystemAlarmManager> { AndroidAlarmManager(context = get(), alarmManager = get()) }
    single<IdleRefreshManager> { BackendIdleRefreshManager(alarmManager = get()) }
    single { Pop3BackendFactory(get(), get()) }
    single { WebDavBackendFactory(get(), get(), get()) }
    single {
        WebDavBackendFactory(
            backendStorageFactory = get(),
            trustManagerFactory = get(),
            sniHostSetter = get(),
            folderRepository = get()
        )
    }
    single {
        SniHostSetter { factory, socket, hostname ->
            DefaultTrustedSocketFactory.setSniHost(factory, socket, hostname)
        }
    }

    developmentModuleAdditions()
}
+4 −2
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@ import com.fsck.k9.backend.api.Backend
import com.fsck.k9.backend.webdav.WebDavBackend
import com.fsck.k9.mail.ssl.TrustManagerFactory
import com.fsck.k9.mail.store.webdav.DraftsFolderProvider
import com.fsck.k9.mail.store.webdav.SniHostSetter
import com.fsck.k9.mail.store.webdav.WebDavStore
import com.fsck.k9.mail.transport.WebDavTransport
import com.fsck.k9.mailstore.FolderRepository
@@ -14,6 +15,7 @@ import com.fsck.k9.mailstore.K9BackendStorageFactory
class WebDavBackendFactory(
    private val backendStorageFactory: K9BackendStorageFactory,
    private val trustManagerFactory: TrustManagerFactory,
    private val sniHostSetter: SniHostSetter,
    private val folderRepository: FolderRepository
) : BackendFactory {
    override fun createBackend(account: Account): Backend {
@@ -21,8 +23,8 @@ class WebDavBackendFactory(
        val backendStorage = backendStorageFactory.createBackendStorage(account)
        val serverSettings = account.incomingServerSettings
        val draftsFolderProvider = createDraftsFolderProvider(account)
        val webDavStore = WebDavStore(trustManagerFactory, serverSettings, draftsFolderProvider)
        val webDavTransport = WebDavTransport(trustManagerFactory, serverSettings, draftsFolderProvider)
        val webDavStore = WebDavStore(trustManagerFactory, sniHostSetter, serverSettings, draftsFolderProvider)
        val webDavTransport = WebDavTransport(trustManagerFactory, sniHostSetter, serverSettings, draftsFolderProvider)
        return WebDavBackend(accountName, backendStorage, webDavStore, webDavTransport)
    }

Loading