Vault secret rewrite fixes

This commit is contained in:
crschnick 2024-05-27 21:33:58 +00:00
parent 9ad3e1975e
commit 03cd25106c
2 changed files with 8 additions and 6 deletions

View file

@ -1,13 +1,11 @@
package io.xpipe.app.storage;
import com.fasterxml.jackson.core.TreeNode;
import io.xpipe.app.prefs.AppPrefs;
import io.xpipe.app.util.PasswordLockSecretValue;
import io.xpipe.app.util.VaultKeySecretValue;
import io.xpipe.core.util.InPlaceSecretValue;
import io.xpipe.core.util.SecretValue;
import com.fasterxml.jackson.core.TreeNode;
import lombok.Setter;
import lombok.Value;
import lombok.experimental.NonFinal;
@ -18,9 +16,8 @@ import java.util.Objects;
public class DataStoreSecret {
InPlaceSecretValue internalSecret;
@NonFinal
String usedPasswordLockCrypt;
@Setter
@NonFinal
TreeNode originalNode;
@ -53,6 +50,11 @@ public class DataStoreSecret {
return !Objects.equals(AppPrefs.get().getLockCrypt().get(), usedPasswordLockCrypt);
}
public void rewrite(TreeNode updatedNode) {
originalNode = updatedNode;
usedPasswordLockCrypt = AppPrefs.get().getLockCrypt().get();
}
public char[] getSecret() {
return internalSecret != null ? internalSecret.getSecret() : new char[0];
}

View file

@ -94,7 +94,7 @@ public class AppJacksonModule extends SimpleModule {
var tree = JsonNodeFactory.instance.objectNode();
tree.set("secret", valTree);
jgen.writeTree(tree);
value.setOriginalNode(valTree);
value.rewrite(valTree);
}
}