commit df0810513c93653de614b40acf363309a71bc2e6
parent 87419fc91b009f0d2962c5d3ea57e36d8e929fa8
Author: Sean Enck <sean@ttypty.com>
Date: Tue, 26 Oct 2021 18:56:41 -0400
use google shlex to split args
Diffstat:
3 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/go.mod b/go.mod
@@ -3,6 +3,7 @@ module voidedtech.com/lockbox
go 1.17
require (
+ github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510
github.com/pquerna/otp v1.3.0
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519
voidedtech.com/stock v0.0.0-20211014234009-93c0ed43354e
@@ -10,5 +11,5 @@ require (
require (
github.com/boombuler/barcode v1.0.1 // indirect
- golang.org/x/sys v0.0.0-20211013075003-97ac67df715c // indirect
+ golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359 // indirect
)
diff --git a/go.sum b/go.sum
@@ -3,6 +3,8 @@ 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 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+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/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.3.0 h1:oJV/SkzR33anKXwQU3Of42rL4wbrffP4uvUf1SvS5Xs=
@@ -15,8 +17,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20211013075003-97ac67df715c h1:taxlMj0D/1sOAuv/CbSD+MMDof2vbyPTqz5FNYKpXt8=
-golang.org/x/sys v0.0.0-20211013075003-97ac67df715c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359 h1:2B5p2L5IfGiD7+b9BOoRMC6DgObAVZV+Fsp050NqXik=
+golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
diff --git a/internal/encdec.go b/internal/encdec.go
@@ -9,6 +9,7 @@ import (
"strings"
"time"
+ "github.com/google/shlex"
"golang.org/x/crypto/nacl/secretbox"
"voidedtech.com/stock"
)
@@ -66,7 +67,10 @@ func getKey(keyMode, name string) ([]byte, error) {
var data []byte
switch keyMode {
case CommandKeyMode:
- parts := strings.Split(name, " ")
+ parts, err := shlex.Split(name)
+ if err != nil {
+ return nil, err
+ }
cmd := exec.Command(parts[0], parts[1:]...)
b, err := cmd.Output()
if err != nil {