mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
Merge pull request #45269 from xilabao/update-gopass
Automatic merge from submit-queue (batch tested with PRs 45269, 46219, 45966) update gopass to fix format error ``` #kubectl get no Please enter Username: admin Please enter Password: ******** NAME STATUS AGE VERSION 127.0.0.1 Ready 28s v1.7.0-alpha.2.357+904b02075623d7-dirty ``` `godep update github.com/howeyc/gopass/` can fix it.
This commit is contained in:
commit
587eacec71
2
Godeps/Godeps.json
generated
2
Godeps/Godeps.json
generated
@ -1698,7 +1698,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/howeyc/gopass",
|
"ImportPath": "github.com/howeyc/gopass",
|
||||||
"Rev": "3ca23474a7c7203e0a0a070fd33508f6efdb9b3d"
|
"Rev": "bf9dde6d0d2c004a008c27aaee91170c786f6db8"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/imdario/mergo",
|
"ImportPath": "github.com/imdario/mergo",
|
||||||
|
2
staging/src/k8s.io/apiserver/Godeps/Godeps.json
generated
2
staging/src/k8s.io/apiserver/Godeps/Godeps.json
generated
@ -468,7 +468,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/howeyc/gopass",
|
"ImportPath": "github.com/howeyc/gopass",
|
||||||
"Rev": "3ca23474a7c7203e0a0a070fd33508f6efdb9b3d"
|
"Rev": "bf9dde6d0d2c004a008c27aaee91170c786f6db8"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/imdario/mergo",
|
"ImportPath": "github.com/imdario/mergo",
|
||||||
|
2
staging/src/k8s.io/client-go/Godeps/Godeps.json
generated
2
staging/src/k8s.io/client-go/Godeps/Godeps.json
generated
@ -148,7 +148,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/howeyc/gopass",
|
"ImportPath": "github.com/howeyc/gopass",
|
||||||
"Rev": "3ca23474a7c7203e0a0a070fd33508f6efdb9b3d"
|
"Rev": "bf9dde6d0d2c004a008c27aaee91170c786f6db8"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/imdario/mergo",
|
"ImportPath": "github.com/imdario/mergo",
|
||||||
|
@ -224,7 +224,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/howeyc/gopass",
|
"ImportPath": "github.com/howeyc/gopass",
|
||||||
"Rev": "3ca23474a7c7203e0a0a070fd33508f6efdb9b3d"
|
"Rev": "bf9dde6d0d2c004a008c27aaee91170c786f6db8"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/imdario/mergo",
|
"ImportPath": "github.com/imdario/mergo",
|
||||||
|
@ -216,7 +216,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/howeyc/gopass",
|
"ImportPath": "github.com/howeyc/gopass",
|
||||||
"Rev": "3ca23474a7c7203e0a0a070fd33508f6efdb9b3d"
|
"Rev": "bf9dde6d0d2c004a008c27aaee91170c786f6db8"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/imdario/mergo",
|
"ImportPath": "github.com/imdario/mergo",
|
||||||
|
@ -216,7 +216,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/howeyc/gopass",
|
"ImportPath": "github.com/howeyc/gopass",
|
||||||
"Rev": "3ca23474a7c7203e0a0a070fd33508f6efdb9b3d"
|
"Rev": "bf9dde6d0d2c004a008c27aaee91170c786f6db8"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/imdario/mergo",
|
"ImportPath": "github.com/imdario/mergo",
|
||||||
|
43
vendor/github.com/howeyc/gopass/pass.go
generated
vendored
43
vendor/github.com/howeyc/gopass/pass.go
generated
vendored
@ -7,9 +7,14 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
)
|
)
|
||||||
|
|
||||||
var defaultGetCh = func() (byte, error) {
|
type FdReader interface {
|
||||||
|
io.Reader
|
||||||
|
Fd() uintptr
|
||||||
|
}
|
||||||
|
|
||||||
|
var defaultGetCh = func(r io.Reader) (byte, error) {
|
||||||
buf := make([]byte, 1)
|
buf := make([]byte, 1)
|
||||||
if n, err := os.Stdin.Read(buf); n == 0 || err != nil {
|
if n, err := r.Read(buf); n == 0 || err != nil {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
@ -28,9 +33,10 @@ var (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// getPasswd returns the input read from terminal.
|
// getPasswd returns the input read from terminal.
|
||||||
|
// If prompt is not empty, it will be output as a prompt to the user
|
||||||
// If masked is true, typing will be matched by asterisks on the screen.
|
// If masked is true, typing will be matched by asterisks on the screen.
|
||||||
// Otherwise, typing will echo nothing.
|
// Otherwise, typing will echo nothing.
|
||||||
func getPasswd(masked bool) ([]byte, error) {
|
func getPasswd(prompt string, masked bool, r FdReader, w io.Writer) ([]byte, error) {
|
||||||
var err error
|
var err error
|
||||||
var pass, bs, mask []byte
|
var pass, bs, mask []byte
|
||||||
if masked {
|
if masked {
|
||||||
@ -38,26 +44,33 @@ func getPasswd(masked bool) ([]byte, error) {
|
|||||||
mask = []byte("*")
|
mask = []byte("*")
|
||||||
}
|
}
|
||||||
|
|
||||||
if isTerminal(os.Stdin.Fd()) {
|
if isTerminal(r.Fd()) {
|
||||||
if oldState, err := makeRaw(os.Stdin.Fd()); err != nil {
|
if oldState, err := makeRaw(r.Fd()); err != nil {
|
||||||
return pass, err
|
return pass, err
|
||||||
} else {
|
} else {
|
||||||
defer restore(os.Stdin.Fd(), oldState)
|
defer func() {
|
||||||
|
restore(r.Fd(), oldState)
|
||||||
|
fmt.Fprintln(w)
|
||||||
|
}()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if prompt != "" {
|
||||||
|
fmt.Fprint(w, prompt)
|
||||||
|
}
|
||||||
|
|
||||||
// Track total bytes read, not just bytes in the password. This ensures any
|
// Track total bytes read, not just bytes in the password. This ensures any
|
||||||
// errors that might flood the console with nil or -1 bytes infinitely are
|
// errors that might flood the console with nil or -1 bytes infinitely are
|
||||||
// capped.
|
// capped.
|
||||||
var counter int
|
var counter int
|
||||||
for counter = 0; counter <= maxLength; counter++ {
|
for counter = 0; counter <= maxLength; counter++ {
|
||||||
if v, e := getch(); e != nil {
|
if v, e := getch(r); e != nil {
|
||||||
err = e
|
err = e
|
||||||
break
|
break
|
||||||
} else if v == 127 || v == 8 {
|
} else if v == 127 || v == 8 {
|
||||||
if l := len(pass); l > 0 {
|
if l := len(pass); l > 0 {
|
||||||
pass = pass[:l-1]
|
pass = pass[:l-1]
|
||||||
fmt.Print(string(bs))
|
fmt.Fprint(w, string(bs))
|
||||||
}
|
}
|
||||||
} else if v == 13 || v == 10 {
|
} else if v == 13 || v == 10 {
|
||||||
break
|
break
|
||||||
@ -66,7 +79,7 @@ func getPasswd(masked bool) ([]byte, error) {
|
|||||||
break
|
break
|
||||||
} else if v != 0 {
|
} else if v != 0 {
|
||||||
pass = append(pass, v)
|
pass = append(pass, v)
|
||||||
fmt.Print(string(mask))
|
fmt.Fprint(w, string(mask))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -74,18 +87,24 @@ func getPasswd(masked bool) ([]byte, error) {
|
|||||||
err = ErrMaxLengthExceeded
|
err = ErrMaxLengthExceeded
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Println()
|
|
||||||
return pass, err
|
return pass, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetPasswd returns the password read from the terminal without echoing input.
|
// GetPasswd returns the password read from the terminal without echoing input.
|
||||||
// The returned byte array does not include end-of-line characters.
|
// The returned byte array does not include end-of-line characters.
|
||||||
func GetPasswd() ([]byte, error) {
|
func GetPasswd() ([]byte, error) {
|
||||||
return getPasswd(false)
|
return getPasswd("", false, os.Stdin, os.Stdout)
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetPasswdMasked returns the password read from the terminal, echoing asterisks.
|
// GetPasswdMasked returns the password read from the terminal, echoing asterisks.
|
||||||
// The returned byte array does not include end-of-line characters.
|
// The returned byte array does not include end-of-line characters.
|
||||||
func GetPasswdMasked() ([]byte, error) {
|
func GetPasswdMasked() ([]byte, error) {
|
||||||
return getPasswd(true)
|
return getPasswd("", true, os.Stdin, os.Stdout)
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetPasswdPrompt prompts the user and returns the password read from the terminal.
|
||||||
|
// If mask is true, then asterisks are echoed.
|
||||||
|
// The returned byte array does not include end-of-line characters.
|
||||||
|
func GetPasswdPrompt(prompt string, mask bool, r FdReader, w io.Writer) ([]byte, error) {
|
||||||
|
return getPasswd(prompt, mask, r, w)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user