aboutsummaryrefslogtreecommitdiff
path: root/ask.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-04-30 23:45:20 +0200
committerDimitri Sokolyuk <demon@dim13.org>2017-04-30 23:45:20 +0200
commit6d5a1fdf604c376a2e6bcde0ec3b0a77682db768 (patch)
tree5151735ecd4a1404e3acff8b01c18f8ad982d99d /ask.go
parent22dab3a8a169c49ad85e94aeb33921269828300e (diff)
Extract ask
Diffstat (limited to 'ask.go')
-rw-r--r--ask.go51
1 files changed, 0 insertions, 51 deletions
diff --git a/ask.go b/ask.go
deleted file mode 100644
index 574a645..0000000
--- a/ask.go
+++ /dev/null
@@ -1,51 +0,0 @@
-package signify
-
-import (
- "errors"
- "os"
-
- "golang.org/x/crypto/ssh/terminal"
-)
-
-var (
- ErrNoPassword = errors.New("please provide a password")
- ErrNoMatch = errors.New("passwords don't match")
-)
-
-func AskConfirmed() (string, error) {
- pass, err := askPassword(os.Stdin, "passphrase: ")
- if err != nil {
- return "", err
- }
- pass2, err := askPassword(os.Stdin, "confirm passphrase: ")
- if err != nil {
- return "", err
- }
- if pass != pass2 {
- return "", ErrNoMatch
- }
- return pass, nil
-}
-
-func AskPassword() (string, error) {
- return askPassword(os.Stdin, "passphrase: ")
-}
-
-func askPassword(f *os.File, q string) (string, error) {
- oldState, err := terminal.MakeRaw(int(f.Fd()))
- if err != nil {
- return "", err
- }
- defer terminal.Restore(int(f.Fd()), oldState)
-
- term := terminal.NewTerminal(f, "")
- pass, err := term.ReadPassword(q)
- if err != nil {
- return "", err
- }
- if len(pass) == 0 {
- return "", ErrNoPassword
- }
-
- return pass, nil
-}