mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
rename to FileCredentialStore
This commit is contained in:
+2
-2
@@ -35,9 +35,9 @@ import java.util.Base64
|
||||
import java.util.concurrent.atomic.AtomicBoolean
|
||||
import javax.crypto.spec.SecretKeySpec
|
||||
|
||||
internal val LOG = Logger.getInstance(FilePasswordSafeProvider::class.java)
|
||||
internal val LOG = Logger.getInstance(FileCredentialStore::class.java)
|
||||
|
||||
class FilePasswordSafeProvider @JvmOverloads constructor(keyToValue: Map<String, String>? = null, baseDirectory: Path = Paths.get(PathManager.getConfigPath()), var memoryOnly: Boolean = false) : PasswordStorage {
|
||||
class FileCredentialStore(keyToValue: Map<String, String>? = null, baseDirectory: Path = Paths.get(PathManager.getConfigPath()), var memoryOnly: Boolean = false) : PasswordStorage {
|
||||
private val db = ContainerUtil.newConcurrentMap<String, String>()
|
||||
|
||||
private val dbFile = baseDirectory.resolve("pdb")
|
||||
@@ -27,16 +27,16 @@ class PasswordSafeImpl(/* public - backward compatibility */val settings: Passwo
|
||||
private @Volatile var currentProvider: PasswordStorage
|
||||
|
||||
// it is helper storage to support set password as memory-only (see setPassword memoryOnly flag)
|
||||
private val memoryHelperProvider = lazy { FilePasswordSafeProvider(emptyMap(), memoryOnly = true) }
|
||||
private val memoryHelperProvider = lazy { FileCredentialStore(emptyMap(), memoryOnly = true) }
|
||||
|
||||
override fun isMemoryOnly() = settings.providerType == ProviderType.MEMORY_ONLY
|
||||
|
||||
val isNativeCredentialStoreUsed: Boolean
|
||||
get() = currentProvider !is FilePasswordSafeProvider
|
||||
get() = currentProvider !is FileCredentialStore
|
||||
|
||||
init {
|
||||
if (settings.providerType == ProviderType.MEMORY_ONLY) {
|
||||
currentProvider = FilePasswordSafeProvider(memoryOnly = true)
|
||||
currentProvider = FileCredentialStore(memoryOnly = true)
|
||||
}
|
||||
else {
|
||||
currentProvider = createPersistentCredentialStore()
|
||||
@@ -47,16 +47,16 @@ class PasswordSafeImpl(/* public - backward compatibility */val settings: Passwo
|
||||
val memoryOnly = newValue == ProviderType.MEMORY_ONLY
|
||||
if (memoryOnly) {
|
||||
val provider = currentProvider
|
||||
if (provider is FilePasswordSafeProvider) {
|
||||
if (provider is FileCredentialStore) {
|
||||
provider.memoryOnly = true
|
||||
provider.deleteFileStorage()
|
||||
}
|
||||
else {
|
||||
currentProvider = FilePasswordSafeProvider(memoryOnly = true)
|
||||
currentProvider = FileCredentialStore(memoryOnly = true)
|
||||
}
|
||||
}
|
||||
else {
|
||||
currentProvider = createPersistentCredentialStore(currentProvider as? FilePasswordSafeProvider)
|
||||
currentProvider = createPersistentCredentialStore(currentProvider as? FileCredentialStore)
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -94,7 +94,7 @@ class PasswordSafeImpl(/* public - backward compatibility */val settings: Passwo
|
||||
}
|
||||
|
||||
override fun save() {
|
||||
(currentProvider as? FilePasswordSafeProvider)?.let { it.save() }
|
||||
(currentProvider as? FileCredentialStore)?.let { it.save() }
|
||||
}
|
||||
|
||||
fun clearPasswords() {
|
||||
@@ -105,7 +105,7 @@ class PasswordSafeImpl(/* public - backward compatibility */val settings: Passwo
|
||||
}
|
||||
}
|
||||
finally {
|
||||
(currentProvider as? FilePasswordSafeProvider)?.let { it.clear() }
|
||||
(currentProvider as? FileCredentialStore)?.let { it.clear() }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -122,7 +122,7 @@ class PasswordSafeImpl(/* public - backward compatibility */val settings: Passwo
|
||||
get() = memoryHelperProvider.value
|
||||
}
|
||||
|
||||
private fun createPersistentCredentialStore(existing: FilePasswordSafeProvider? = null): PasswordStorage {
|
||||
private fun createPersistentCredentialStore(existing: FileCredentialStore? = null): PasswordStorage {
|
||||
LOG.catchAndLog {
|
||||
if (isMacOsCredentialsStoreSupported && com.intellij.util.SystemProperties.getBooleanProperty("use.osx.keychain", false)) {
|
||||
return MacOsCredentialStore("IntelliJ Platform")
|
||||
@@ -133,5 +133,5 @@ private fun createPersistentCredentialStore(existing: FilePasswordSafeProvider?
|
||||
it.memoryOnly = false
|
||||
return it
|
||||
}
|
||||
return FilePasswordSafeProvider()
|
||||
return FileCredentialStore()
|
||||
}
|
||||
@@ -130,7 +130,7 @@ internal class PasswordDatabaseConvertor : ApplicationLoadListener {
|
||||
@Suppress("DEPRECATION")
|
||||
val newDb = convertOldDb(ServiceManager.getService<PasswordDatabase>(PasswordDatabase::class.java))
|
||||
if (newDb != null && newDb.isNotEmpty()) {
|
||||
FilePasswordSafeProvider(newDb).save()
|
||||
FileCredentialStore(newDb).save()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+5
-5
@@ -23,7 +23,7 @@ import org.junit.Test
|
||||
import java.math.BigInteger
|
||||
import java.util.*
|
||||
|
||||
class FilePasswordSafeProviderTest {
|
||||
class FileCredentialStoreTest {
|
||||
private val tempDirManager = TemporaryDirectory()
|
||||
|
||||
@Rule
|
||||
@@ -33,7 +33,7 @@ class FilePasswordSafeProviderTest {
|
||||
@Test
|
||||
fun many() {
|
||||
val baseDir = tempDirManager.newPath()
|
||||
var provider = FilePasswordSafeProvider(baseDirectory = baseDir)
|
||||
var provider = FileCredentialStore(baseDirectory = baseDir)
|
||||
|
||||
assertThat(baseDir).doesNotExist()
|
||||
val random = Random()
|
||||
@@ -42,7 +42,7 @@ class FilePasswordSafeProviderTest {
|
||||
}
|
||||
|
||||
provider.save()
|
||||
provider = FilePasswordSafeProvider(baseDirectory = baseDir)
|
||||
provider = FileCredentialStore(baseDirectory = baseDir)
|
||||
|
||||
provider.deleteFileStorage()
|
||||
|
||||
@@ -58,7 +58,7 @@ class FilePasswordSafeProviderTest {
|
||||
@Test
|
||||
fun test() {
|
||||
val baseDir = tempDirManager.newPath()
|
||||
var provider = FilePasswordSafeProvider(baseDirectory = baseDir)
|
||||
var provider = FileCredentialStore(baseDirectory = baseDir)
|
||||
|
||||
assertThat(baseDir).doesNotExist()
|
||||
assertThat(provider.getPassword("foo")).isNull()
|
||||
@@ -91,7 +91,7 @@ class FilePasswordSafeProviderTest {
|
||||
assertThat(pdbPwdFile).isRegularFile()
|
||||
assertThat(pdbPwdTmpFile).doesNotExist()
|
||||
|
||||
provider = FilePasswordSafeProvider(baseDirectory = baseDir)
|
||||
provider = FileCredentialStore(baseDirectory = baseDir)
|
||||
|
||||
assertThat(provider.getPassword("foo")).isNull()
|
||||
assertThat(provider.getPassword("am")).isEqualTo("pass2")
|
||||
+2
-2
@@ -55,7 +55,7 @@ internal class MasterPasswordMigrationTest {
|
||||
</State>"""))
|
||||
assertThat(passwordSafe).isNotEmpty
|
||||
|
||||
val provider = FilePasswordSafeProvider(passwordSafe)
|
||||
val provider = FileCredentialStore(passwordSafe)
|
||||
assertThat(provider.getPassword("com.intellij.ide.passwordSafe.impl.providers.masterKey.MasterKeyPasswordSafeTest/TEST")).isEqualTo("test")
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@ internal class MasterPasswordMigrationTest {
|
||||
</State>"""))
|
||||
}
|
||||
assertThat(passwordSafe).isNotEmpty
|
||||
val provider = FilePasswordSafeProvider(passwordSafe)
|
||||
val provider = FileCredentialStore(passwordSafe)
|
||||
assertThat(provider.getPassword("com.intellij.ide.passwordSafe.impl.providers.masterKey.MasterKeyPasswordSafeTest/TEST")).isEqualTo("test")
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user