Skip to content

Commit 865b10d

Browse files
authored
Merge pull request #30 from aripalo/fix/hide-sensitive-input
Fix: Hide sensitive input
2 parents 9ee92c0 + a23c242 commit 865b10d

File tree

5 files changed

+19
-5
lines changed

5 files changed

+19
-5
lines changed

go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ require (
1919
github.com/spf13/cobra v1.4.0
2020
github.com/spf13/viper v1.11.0
2121
github.com/stretchr/testify v1.7.1
22+
golang.org/x/term v0.0.0-20220411215600-e5f449aeb171
2223
gopkg.in/ini.v1 v1.66.4
2324
gopkg.in/natefinch/lumberjack.v2 v2.0.0
2425
)
@@ -80,7 +81,6 @@ require (
8081
golang.org/x/image v0.0.0-20220321031419-a8550c1d254a // indirect
8182
golang.org/x/net v0.0.0-20220412020605-290c469a71a5 // indirect
8283
golang.org/x/sys v0.0.0-20220429121018-84afa8d3f7b3 // indirect
83-
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect
8484
golang.org/x/text v0.3.7 // indirect
8585
google.golang.org/protobuf v1.28.0 // indirect
8686
gopkg.in/yaml.v2 v2.4.0 // indirect

go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -469,8 +469,8 @@ golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBc
469469
golang.org/x/sys v0.0.0-20220429121018-84afa8d3f7b3 h1:kBsBifDikLCf5sUMbcD8p73OinDtAQWQp8+n7FiyzlA=
470470
golang.org/x/sys v0.0.0-20220429121018-84afa8d3f7b3/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
471471
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
472-
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY=
473-
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
472+
golang.org/x/term v0.0.0-20220411215600-e5f449aeb171 h1:EH1Deb8WZJ0xc0WK//leUHXcX9aLE5SymusoTmMZye8=
473+
golang.org/x/term v0.0.0-20220411215600-e5f449aeb171/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
474474
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
475475
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
476476
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=

internal/prompt/prompt.go

+13
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@ import (
55
"context"
66
"os"
77
"strings"
8+
"syscall"
89

910
"github.com/ncruces/zenity"
11+
"golang.org/x/term"
1012
)
1113

1214
func Password(ctx context.Context, title string, text string) (string, error) {
@@ -36,7 +38,18 @@ func Dialog(ctx context.Context, title string, text string) (string, error) {
3638
return strings.TrimSpace(value), nil
3739
}
3840

41+
func CliPassword(ctx context.Context, text string) (string, error) {
42+
43+
value, err := term.ReadPassword(int(syscall.Stdin))
44+
if err != nil {
45+
return "", err
46+
}
47+
48+
return strings.TrimSpace(string(value)), nil
49+
}
50+
3951
func Cli(ctx context.Context, text string) (string, error) {
52+
4053
reader := bufio.NewReader(os.Stdin)
4154

4255
value, err := reader.ReadString('\n')

internal/totp/message.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package totp
33
import (
44
"bytes"
55
_ "embed"
6+
"strings"
67

78
"github.com/aripalo/vegas-credentials/internal/msg"
89
"github.com/aripalo/vegas-credentials/internal/tmpl"
@@ -26,5 +27,5 @@ func formatInputMessage(enableGui bool, enableYubikey bool) string {
2627
if err != nil {
2728
msg.Fatal(err.Error())
2829
}
29-
return message.String()
30+
return strings.TrimSpace(message.String())
3031
}

internal/yubikey/askpass/ask.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99
)
1010

1111
// Assign CLI Prompt to variable (useful for testing).
12-
var cliPrompt = prompt.Cli
12+
var cliPrompt = prompt.CliPassword
1313

1414
// Assign GUI Prompt to variable (useful for testing).
1515
var guiPrompt = prompt.Password

0 commit comments

Comments
 (0)