Skip to content

Commit

Permalink
fix: remove CRL check for current client (WPB-7125) (#2655)
Browse files Browse the repository at this point in the history
* fix: remove CRL check for current client

* chore: remove CRL check for self client

* chore: detekt
  • Loading branch information
ohassine authored Mar 14, 2024
1 parent 76eebe6 commit 16bfd5d
Show file tree
Hide file tree
Showing 7 changed files with 0 additions and 323 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -122,8 +122,6 @@ interface UserConfigRepository {
suspend fun setLegalHoldChangeNotified(isNotified: Boolean): Either<StorageFailure, Unit>
suspend fun observeLegalHoldChangeNotified(): Flow<Either<StorageFailure, Boolean>>
suspend fun setShouldUpdateClientLegalHoldCapability(shouldUpdate: Boolean): Either<StorageFailure, Unit>
suspend fun shouldCheckCrlForCurrentClient(): Boolean
suspend fun setShouldCheckCrlForCurrentClient(shouldCheck: Boolean): Either<StorageFailure, Unit>
suspend fun shouldUpdateClientLegalHoldCapability(): Boolean
suspend fun setCRLExpirationTime(url: String, timestamp: ULong)
suspend fun getCRLExpirationTime(url: String): ULong?
Expand Down Expand Up @@ -451,11 +449,6 @@ internal class UserConfigDataSource internal constructor(
override suspend fun shouldUpdateClientLegalHoldCapability(): Boolean =
userConfigDAO.shouldUpdateClientLegalHoldCapability()

override suspend fun shouldCheckCrlForCurrentClient() = userConfigDAO.shouldCheckCrlForCurrentClient()

override suspend fun setShouldCheckCrlForCurrentClient(shouldCheck: Boolean): Either<StorageFailure, Unit> =
wrapStorageRequest { userConfigDAO.setShouldCheckCrlForCurrentClient(shouldCheck) }

override suspend fun setCRLExpirationTime(url: String, timestamp: ULong) {
userConfigDAO.setCRLExpirationTime(url, timestamp)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,19 +18,13 @@
package com.wire.kalium.logic.data.e2ei

import com.wire.kalium.logic.CoreFailure
import com.wire.kalium.logic.E2EIFailure
import com.wire.kalium.logic.configuration.UserConfigRepository
import com.wire.kalium.logic.functional.Either
import com.wire.kalium.logic.functional.flatMap
import com.wire.kalium.logic.functional.left
import com.wire.kalium.logic.functional.right
import com.wire.kalium.logic.wrapApiRequest
import com.wire.kalium.network.api.base.unbound.acme.ACMEApi
import com.wire.kalium.persistence.config.CRLUrlExpirationList
import com.wire.kalium.persistence.config.CRLWithExpiration
import com.wire.kalium.persistence.dao.MetadataDAO
import io.ktor.http.URLBuilder
import io.ktor.http.authority

interface CertificateRevocationListRepository {

Expand All @@ -41,7 +35,6 @@ interface CertificateRevocationListRepository {
*/
suspend fun getCRLs(): CRLUrlExpirationList?
suspend fun addOrUpdateCRL(url: String, timestamp: ULong)
suspend fun getCurrentClientCrlUrl(): Either<CoreFailure, String>
suspend fun getClientDomainCRL(url: String): Either<CoreFailure, ByteArray>
}

Expand Down Expand Up @@ -85,27 +78,12 @@ internal class CertificateRevocationListRepositoryDataSource(
)
}

override suspend fun getCurrentClientCrlUrl(): Either<CoreFailure, String> =
userConfigRepository.getE2EISettings()
.flatMap {
if (!it.isRequired) E2EIFailure.Disabled.left()
else if (it.discoverUrl == null) E2EIFailure.MissingDiscoveryUrl.left()
else URLBuilder(it.discoverUrl).apply {
pathSegments.lastOrNull().let { segment ->
if (segment == null || segment != PATH_CRL) {
pathSegments = pathSegments + PATH_CRL
}
}
}.authority.right()
}

override suspend fun getClientDomainCRL(url: String): Either<CoreFailure, ByteArray> =
wrapApiRequest {
acmeApi.getClientDomainCRL(url)
}

companion object {
const val CRL_LIST_KEY = "crl_list_key"
const val PATH_CRL = "crl"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -211,8 +211,6 @@ import com.wire.kalium.logic.feature.e2ei.ACMECertificatesSyncWorker
import com.wire.kalium.logic.feature.e2ei.ACMECertificatesSyncWorkerImpl
import com.wire.kalium.logic.feature.e2ei.CertificateRevocationListCheckWorker
import com.wire.kalium.logic.feature.e2ei.CertificateRevocationListCheckWorkerImpl
import com.wire.kalium.logic.feature.e2ei.usecase.CheckRevocationListForCurrentClientUseCase
import com.wire.kalium.logic.feature.e2ei.usecase.CheckRevocationListForCurrentClientUseCaseImpl
import com.wire.kalium.logic.feature.e2ei.usecase.CheckRevocationListUseCase
import com.wire.kalium.logic.feature.e2ei.usecase.CheckRevocationListUseCaseImpl
import com.wire.kalium.logic.feature.featureConfig.FeatureFlagSyncWorkerImpl
Expand Down Expand Up @@ -646,13 +644,6 @@ class UserSessionScope internal constructor(
mlsClientProvider = mlsClientProvider,
isE2EIEnabledUseCase = isE2EIEnabled
)
private val checkRevocationListForCurrentClient: CheckRevocationListForCurrentClientUseCase
get() = CheckRevocationListForCurrentClientUseCaseImpl(
checkRevocationList = checkRevocationList,
certificateRevocationListRepository = certificateRevocationListRepository,
userConfigRepository = userConfigRepository,
isE2EIEnabledUseCase = isE2EIEnabled
)

private val mlsConversationRepository: MLSConversationRepository
get() = MLSConversationDataSource(
Expand Down Expand Up @@ -2033,10 +2024,6 @@ class UserSessionScope internal constructor(
certificateRevocationListCheckWorker.execute()
}

launch {
checkRevocationListForCurrentClient.invoke()
}

launch {
avsSyncStateReporter.execute()
}
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,7 @@ internal class CheckRevocationListUseCaseImpl(
private val logger = kaliumLogger.withTextTag("CheckRevocationListUseCase")
override suspend fun invoke(url: String): Either<CoreFailure, ULong?> {
return if (isE2EIEnabledUseCase()) {

logger.i("checking crl url: $url")

certificateRevocationListRepository.getClientDomainCRL(url).flatMap {
currentClientIdProvider().flatMap { clientId ->
mlsClientProvider.getCoreCrypto(clientId).map { coreCrypto ->
Expand Down

This file was deleted.

Loading

0 comments on commit 16bfd5d

Please sign in to comment.