mirror of
https://github.com/ProtonMail/proton-bridge.git
synced 2025-12-17 23:56:56 +00:00
Other: Wipe vault properly on factory reset
Deleting the file isn't enough because it's still held in memory and is written back to disk on the next write (SetLastVersion during bridge teardown).
This commit is contained in:
@ -287,14 +287,16 @@ func (bridge *Bridge) FactoryReset(ctx context.Context) {
|
||||
for _, user := range bridge.users {
|
||||
bridge.logoutUser(ctx, user, true, true)
|
||||
}
|
||||
|
||||
for _, user := range bridge.vault.GetUserIDs() {
|
||||
if err := bridge.vault.DeleteUser(user); err != nil {
|
||||
logrus.WithError(err).Error("failed to delete vault user")
|
||||
}
|
||||
}
|
||||
}, bridge.usersLock)
|
||||
|
||||
// Wipe the vault.
|
||||
gluonDir, err := bridge.locator.ProvideGluonPath()
|
||||
if err != nil {
|
||||
logrus.WithError(err).Error("Failed to provide gluon dir")
|
||||
} else if err := bridge.vault.Reset(gluonDir); err != nil {
|
||||
logrus.WithError(err).Error("Failed to reset vault")
|
||||
}
|
||||
|
||||
// Then delete all files.
|
||||
if err := bridge.locator.Clear(); err != nil {
|
||||
logrus.WithError(err).Error("Failed to clear data paths")
|
||||
|
||||
Reference in New Issue
Block a user