mirror of
https://github.com/ProtonMail/proton-bridge.git
synced 2025-12-24 02:46:44 +00:00
GODT-1975: Migrate keychain secrets
This commit is contained in:
@ -30,8 +30,6 @@ type Keychain struct {
|
||||
}
|
||||
|
||||
func GetHelper(vaultDir string) (string, error) {
|
||||
var keychain Keychain
|
||||
|
||||
filePath := filepath.Clean(filepath.Join(vaultDir, "keychain.json"))
|
||||
|
||||
if _, err := os.Stat(filePath); errors.Is(err, fs.ErrNotExist) {
|
||||
@ -43,6 +41,8 @@ func GetHelper(vaultDir string) (string, error) {
|
||||
return "", err
|
||||
}
|
||||
|
||||
var keychain Keychain
|
||||
|
||||
if err := json.Unmarshal(b, &keychain); err != nil {
|
||||
return "", err
|
||||
}
|
||||
@ -56,7 +56,5 @@ func SetHelper(vaultDir, helper string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
filePath := filepath.Clean(filepath.Join(vaultDir, "keychain.json"))
|
||||
|
||||
return os.WriteFile(filePath, b, 0o600)
|
||||
return os.WriteFile(filepath.Clean(filepath.Join(vaultDir, "keychain.json")), b, 0o600)
|
||||
}
|
||||
|
||||
@ -22,6 +22,7 @@ type Data struct {
|
||||
Users []UserData
|
||||
Cookies []byte
|
||||
Certs Certs
|
||||
Migrated bool
|
||||
}
|
||||
|
||||
func newDefaultData(gluonDir string) Data {
|
||||
|
||||
@ -175,6 +175,16 @@ func (vault *Vault) DeleteUser(userID string) error {
|
||||
})
|
||||
}
|
||||
|
||||
func (vault *Vault) Migrated() bool {
|
||||
return vault.get().Migrated
|
||||
}
|
||||
|
||||
func (vault *Vault) SetMigrated() error {
|
||||
return vault.mod(func(data *Data) {
|
||||
data.Migrated = true
|
||||
})
|
||||
}
|
||||
|
||||
func (vault *Vault) Close() error {
|
||||
vault.refLock.Lock()
|
||||
defer vault.refLock.Unlock()
|
||||
|
||||
Reference in New Issue
Block a user