feat(BRIDGE-356): Added retry logic for unavailable preferred keychain on Linux; Feature flag support before bridge initialization; Refactored some bits of the code;

This commit is contained in:
Atanas Janeshliev
2025-07-02 16:34:32 +02:00
parent 20183bf984
commit de3fd34998
33 changed files with 716 additions and 87 deletions

View File

@ -76,6 +76,34 @@ func SetHelper(vaultDir, helper string) error {
return settings.Save(vaultDir)
}
func GetKeychainFailedAttemptCount(vaultDir string) (int, error) {
keychainState, err := LoadKeychainState(vaultDir)
if err != nil {
return 0, err
}
return keychainState.FailedAttempts, nil
}
func IncrementKeychainFailedAttemptCount(vaultDir string) error {
keychainState, err := LoadKeychainState(vaultDir)
if err != nil {
return err
}
keychainState.FailedAttempts++
return keychainState.Save(vaultDir)
}
// ResetFailedKeychainAttemptCount - resets the failed keychain attempt count, and stores the data in the appropriate helper file.
func ResetFailedKeychainAttemptCount(vaultDir string) error {
keychainState, err := LoadKeychainState(vaultDir)
if err != nil {
return err
}
return keychainState.ResetAndSave(vaultDir)
}
func GetVaultKey(kc *keychain.Keychain) ([]byte, error) {
_, keyEnc, err := kc.Get(vaultSecretName)
if err != nil {