From f1a4f86675f4a3ab391825ad7fff345cb2561592 Mon Sep 17 00:00:00 2001 From: lew Date: Thu, 6 Nov 2025 23:59:49 +0000 Subject: [PATCH] feat(get): secret entries will not output unless --secret is explicitly passed --- cmd/get.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/cmd/get.go b/cmd/get.go index dcbb26b..ad480fc 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -22,6 +22,8 @@ THE SOFTWARE. package cmd import ( + "fmt" + "github.com/dgraph-io/badger/v4" "github.com/spf13/cobra" ) @@ -38,6 +40,7 @@ func get(cmd *cobra.Command, args []string) error { store := &Store{} var v []byte + var meta byte trans := TransactionArgs{ key: args[0], readonly: true, @@ -47,6 +50,7 @@ func get(cmd *cobra.Command, args []string) error { if err != nil { return err } + meta = item.UserMeta() v, err = item.ValueCopy(nil) return err }, @@ -56,6 +60,14 @@ func get(cmd *cobra.Command, args []string) error { return err } + includeSecret, err := cmd.Flags().GetBool("secret") + if err != nil { + return err + } + if meta&metaSecret != 0 && !includeSecret { + return fmt.Errorf("%q is marked secret; re-run with --secret to display it", args[0]) + } + binary, err := cmd.Flags().GetBool("include-binary") if err != nil { return err @@ -67,5 +79,6 @@ func get(cmd *cobra.Command, args []string) error { func init() { getCmd.Flags().BoolP("include-binary", "b", false, "include binary data in text output") + getCmd.Flags().Bool("secret", false, "display values marked as secret") rootCmd.AddCommand(getCmd) }