mirror of
https://github.com/bitwarden/android.git
synced 2026-11-10 01:15:13 -06:00
[PM-38282] chore: Remove force update KDF settings feature flag (#7596)
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
package com.x8bit.bitwarden.data.auth.manager
|
||||
|
||||
import com.bitwarden.core.UpdateKdfResponse
|
||||
import com.bitwarden.core.data.manager.model.FlagKey
|
||||
import com.bitwarden.core.data.util.flatMap
|
||||
import com.bitwarden.crypto.Kdf
|
||||
import com.bitwarden.network.model.KdfTypeJson
|
||||
@@ -14,7 +13,6 @@ import com.x8bit.bitwarden.data.auth.datasource.sdk.util.toKdfRequestModel
|
||||
import com.x8bit.bitwarden.data.auth.repository.model.UpdateKdfMinimumsResult
|
||||
import com.x8bit.bitwarden.data.auth.repository.util.toUserStateJsonKdfUpdatedMinimums
|
||||
import com.x8bit.bitwarden.data.auth.util.KdfParamsConstants.DEFAULT_PBKDF2_ITERATIONS
|
||||
import com.x8bit.bitwarden.data.platform.manager.FeatureFlagManager
|
||||
import com.x8bit.bitwarden.data.vault.datasource.sdk.VaultSdkSource
|
||||
import timber.log.Timber
|
||||
|
||||
@@ -25,16 +23,11 @@ class KdfManagerImpl(
|
||||
private val authDiskSource: AuthDiskSource,
|
||||
private val vaultSdkSource: VaultSdkSource,
|
||||
private val accountsService: AccountsService,
|
||||
private val featureFlagManager: FeatureFlagManager,
|
||||
) : KdfManager {
|
||||
|
||||
private val activeUserId: String? get() = authDiskSource.userState?.activeUserId
|
||||
|
||||
override fun needsKdfUpdateToMinimums(userId: String): Boolean {
|
||||
if (!featureFlagManager.getFeatureFlag(FlagKey.ForceUpdateKdfSettings)) {
|
||||
return false
|
||||
}
|
||||
|
||||
val account = authDiskSource
|
||||
.userState
|
||||
?.accounts
|
||||
|
||||
@@ -180,12 +180,10 @@ object AuthManagerModule {
|
||||
authDiskSource: AuthDiskSource,
|
||||
vaultSdkSource: VaultSdkSource,
|
||||
accountsService: AccountsService,
|
||||
featureFlagManager: FeatureFlagManager,
|
||||
): KdfManager = KdfManagerImpl(
|
||||
authDiskSource = authDiskSource,
|
||||
vaultSdkSource = vaultSdkSource,
|
||||
accountsService = accountsService,
|
||||
featureFlagManager = featureFlagManager,
|
||||
)
|
||||
|
||||
@Provides
|
||||
|
||||
@@ -3,7 +3,6 @@ package com.x8bit.bitwarden.data.auth.manager
|
||||
import com.bitwarden.core.MasterPasswordAuthenticationData
|
||||
import com.bitwarden.core.MasterPasswordUnlockData
|
||||
import com.bitwarden.core.UpdateKdfResponse
|
||||
import com.bitwarden.core.data.manager.model.FlagKey
|
||||
import com.bitwarden.core.data.util.asFailure
|
||||
import com.bitwarden.core.data.util.asSuccess
|
||||
import com.bitwarden.crypto.Kdf
|
||||
@@ -16,11 +15,9 @@ import com.x8bit.bitwarden.data.auth.datasource.disk.model.AccountJson
|
||||
import com.x8bit.bitwarden.data.auth.datasource.disk.model.UserStateJson
|
||||
import com.x8bit.bitwarden.data.auth.datasource.disk.util.FakeAuthDiskSource
|
||||
import com.x8bit.bitwarden.data.auth.repository.model.UpdateKdfMinimumsResult
|
||||
import com.x8bit.bitwarden.data.platform.manager.FeatureFlagManager
|
||||
import com.x8bit.bitwarden.data.vault.datasource.sdk.VaultSdkSource
|
||||
import io.mockk.coEvery
|
||||
import io.mockk.coVerify
|
||||
import io.mockk.every
|
||||
import io.mockk.mockk
|
||||
import io.mockk.slot
|
||||
import kotlinx.coroutines.test.runTest
|
||||
@@ -36,15 +33,11 @@ class KdfManagerTest {
|
||||
private val fakeAuthDiskSource = FakeAuthDiskSource()
|
||||
private val vaultSdkSource: VaultSdkSource = mockk()
|
||||
private val accountsService: AccountsService = mockk()
|
||||
private val featureFlagManager: FeatureFlagManager = mockk {
|
||||
every { getFeatureFlag(FlagKey.ForceUpdateKdfSettings) } returns true
|
||||
}
|
||||
|
||||
private val manager: KdfManager = KdfManagerImpl(
|
||||
authDiskSource = fakeAuthDiskSource,
|
||||
vaultSdkSource = vaultSdkSource,
|
||||
accountsService = accountsService,
|
||||
featureFlagManager = featureFlagManager,
|
||||
)
|
||||
|
||||
@Test
|
||||
@@ -266,36 +259,6 @@ class KdfManagerTest {
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
@Suppress("MaxLineLength")
|
||||
fun `updateKdfToMinimumsIfNeeded with feature flag ForceUpdateKdfSettings to false return Success`() =
|
||||
runTest {
|
||||
every {
|
||||
featureFlagManager.getFeatureFlag(FlagKey.ForceUpdateKdfSettings)
|
||||
} returns false
|
||||
|
||||
fakeAuthDiskSource.userState = SINGLE_USER_STATE_1.copy(
|
||||
accounts = mapOf(
|
||||
USER_ID_1 to ACCOUNT_1.copy(
|
||||
profile = PROFILE_1.copy(
|
||||
kdfType = KdfTypeJson.PBKDF2_SHA256,
|
||||
kdfIterations = 1000,
|
||||
),
|
||||
),
|
||||
),
|
||||
)
|
||||
|
||||
val result = manager.updateKdfToMinimumsIfNeeded(
|
||||
userId = USER_ID_1,
|
||||
password = PASSWORD,
|
||||
)
|
||||
|
||||
assertEquals(
|
||||
UpdateKdfMinimumsResult.Success,
|
||||
result,
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `updateKdfToMinimumsIfNeeded if sdk throws an error should return Error`() = runTest {
|
||||
val error = Throwable("Kdf update failed")
|
||||
|
||||
@@ -30,7 +30,6 @@ sealed class FlagKey<out T : Any> {
|
||||
*/
|
||||
val activePasswordManagerFlags: List<FlagKey<*>> by lazy {
|
||||
listOf(
|
||||
ForceUpdateKdfSettings,
|
||||
NoLogoutOnKdfChange,
|
||||
MigrateMyVaultToMyItems,
|
||||
CardScanner,
|
||||
@@ -62,14 +61,6 @@ sealed class FlagKey<out T : Any> {
|
||||
override val defaultValue: Boolean = false
|
||||
}
|
||||
|
||||
/**
|
||||
* Data object holding the feature flag key for the Force Update KDF Settings feature.
|
||||
*/
|
||||
data object ForceUpdateKdfSettings : FlagKey<Boolean>() {
|
||||
override val keyName: String = "pm-18021-force-update-kdf-settings"
|
||||
override val defaultValue: Boolean = false
|
||||
}
|
||||
|
||||
/**
|
||||
* Data object holding the feature flag key for the No Logout On KDF Change feature.
|
||||
*/
|
||||
|
||||
@@ -12,10 +12,6 @@ class FlagKeyTest {
|
||||
FlagKey.BitwardenAuthenticationEnabled.keyName,
|
||||
"bitwarden-authentication-enabled",
|
||||
)
|
||||
assertEquals(
|
||||
FlagKey.ForceUpdateKdfSettings.keyName,
|
||||
"pm-18021-force-update-kdf-settings",
|
||||
)
|
||||
assertEquals(
|
||||
FlagKey.MigrateMyVaultToMyItems.keyName,
|
||||
"pm-20558-migrate-myvault-to-myitems",
|
||||
@@ -87,7 +83,6 @@ class FlagKeyTest {
|
||||
assertTrue(
|
||||
listOf(
|
||||
FlagKey.BitwardenAuthenticationEnabled,
|
||||
FlagKey.ForceUpdateKdfSettings,
|
||||
FlagKey.MigrateMyVaultToMyItems,
|
||||
FlagKey.AttachmentUpdates,
|
||||
FlagKey.V2EncryptionJitPassword,
|
||||
|
||||
@@ -24,7 +24,6 @@ fun <T : Any> FlagKey<T>.ListItemContent(
|
||||
|
||||
FlagKey.DummyBoolean,
|
||||
FlagKey.BitwardenAuthenticationEnabled,
|
||||
FlagKey.ForceUpdateKdfSettings,
|
||||
FlagKey.NoLogoutOnKdfChange,
|
||||
FlagKey.MigrateMyVaultToMyItems,
|
||||
FlagKey.CardScanner,
|
||||
@@ -85,7 +84,6 @@ private fun <T : Any> FlagKey<T>.getDisplayLabel(): String = when (this) {
|
||||
FlagKey.DummyString,
|
||||
-> this.keyName
|
||||
|
||||
FlagKey.ForceUpdateKdfSettings -> stringResource(BitwardenString.force_update_kdf_settings)
|
||||
FlagKey.NoLogoutOnKdfChange -> stringResource(BitwardenString.avoid_logout_on_kdf_change)
|
||||
FlagKey.BitwardenAuthenticationEnabled -> {
|
||||
stringResource(BitwardenString.bitwarden_authentication_enabled)
|
||||
|
||||
@@ -43,7 +43,6 @@
|
||||
<string name="import_format_label_2fas_json">2FAS (no password)</string>
|
||||
<string name="import_format_label_lastpass_json">LastPass (.json)</string>
|
||||
<string name="import_format_label_aegis_json">Aegis (.json)</string>
|
||||
<string name="force_update_kdf_settings">Force update KDF settings</string>
|
||||
<string name="avoid_logout_on_kdf_change">Avoid logout on KDF change</string>
|
||||
<string name="migrate_my_vault_to_my_items">Migrate My Vault to My Items</string>
|
||||
<string name="trigger_cookie_acquisition">Trigger cookie acquisition</string>
|
||||
|
||||
Reference in New Issue
Block a user