lockbox

password manager
Log | Files | Refs | README | LICENSE

commit fb19f738e743784b69636ba4768db8063f1da72f
parent ffb90feb741c97541c17a7b1bf3914106ec231ec
Author: Sean Enck <sean@ttypty.com>
Date:   Wed, 15 Feb 2023 20:35:20 -0500

replace shlex

Diffstat:
Mgo.mod | 2+-
Mgo.sum | 8++++++--
Minternal/inputs/env.go | 9+++++++--
Minternal/platform/clipboard.go | 3+--
4 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/go.mod b/go.mod @@ -4,9 +4,9 @@ go 1.19 require ( github.com/aymanbagabas/go-osc52 v1.2.1 - github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 github.com/pquerna/otp v1.4.0 github.com/tobischo/gokeepasslib/v3 v3.5.0 + mvdan.cc/sh/v3 v3.6.0 ) require ( diff --git a/go.sum b/go.sum @@ -9,13 +9,15 @@ github.com/boombuler/barcode v1.0.1 h1:NDBbPmhS+EqABEs5Kg3n/5ZNjy73Pz7SIV+KCeqyX github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= -github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pquerna/otp v1.4.0 h1:wZvl1TIVxKRThZIBiwOOHOGP/1+nZyWBil9Y2XNEDzg= github.com/pquerna/otp v1.4.0/go.mod h1:dkJfzwRKNiegxyNb54X/3fLwhCynbMspSyWKnvi1AEg= +github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= @@ -27,3 +29,5 @@ golang.org/x/exp v0.0.0-20230105202349-8879d0199aa3 h1:fJwx88sMf5RXwDwziL0/Mn9Wq golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +mvdan.cc/sh/v3 v3.6.0 h1:gtva4EXJ0dFNvl5bHjcUEvws+KRcDslT8VKheTYkbGU= +mvdan.cc/sh/v3 v3.6.0/go.mod h1:U4mhtBLZ32iWhif5/lD+ygy1zrgaQhUu+XFy7C8+TTA= diff --git a/internal/inputs/env.go b/internal/inputs/env.go @@ -11,7 +11,7 @@ import ( "strings" "time" - "github.com/google/shlex" + "mvdan.cc/sh/v3/shell" ) const ( @@ -202,11 +202,16 @@ func GetKey() ([]byte, error) { return b, nil } +// Shlex will do simple shell command lex-ing +func Shlex(in string) ([]string, error) { + return shell.Fields(in, os.Getenv) +} + func getKey(keyMode, name string) ([]byte, error) { var data []byte switch keyMode { case commandKeyMode: - parts, err := shlex.Split(name) + parts, err := Shlex(name) if err != nil { return nil, err } diff --git a/internal/platform/clipboard.go b/internal/platform/clipboard.go @@ -10,7 +10,6 @@ import ( osc "github.com/aymanbagabas/go-osc52" "github.com/enckse/lockbox/internal/inputs" - "github.com/google/shlex" ) type ( @@ -36,7 +35,7 @@ func overrideCommand(v string) ([]string, error) { if strings.TrimSpace(value) == "" { return nil, nil } - return shlex.Split(value) + return inputs.Shlex(value) } // NewClipboard will retrieve the commands to use for clipboard operations.