Add password successful feedback

This adds some feedback when entering the password on the command line.
When the password is entered and supplied through stdin (and stdout is a
terminal) then the a message saying `password is correct` if correct is
printed.
This commit is contained in:
Anton Lindstrom 2017-10-04 13:45:05 +02:00
parent eb59d28154
commit 55e6003749
1 changed files with 18 additions and 0 deletions

View File

@ -132,6 +132,20 @@ func restoreTerminal() {
}) })
} }
// shouldOutputPasswordSuccessful returns true if the password is supplied
// interactively and the stdout is a terminal.
func shouldOutputPasswordSuccessful() bool {
if globalOptions.PasswordFile != "" {
return false
}
if os.Getenv("RESTIC_PASSWORD") != "" {
return false
}
return stdoutIsTerminal()
}
// ClearLine creates a platform dependent string to clear the current // ClearLine creates a platform dependent string to clear the current
// line, so it can be overwritten. ANSI sequences are not supported on // line, so it can be overwritten. ANSI sequences are not supported on
// current windows cmd shell. // current windows cmd shell.
@ -326,6 +340,10 @@ func OpenRepository(opts GlobalOptions) (*repository.Repository, error) {
return nil, err return nil, err
} }
if shouldOutputPasswordSuccessful() {
Verbosef("password is correct\n")
}
if opts.NoCache { if opts.NoCache {
return s, nil return s, nil
} }