From 55e60037496dcded078459dd58fd055f0f107f56 Mon Sep 17 00:00:00 2001 From: Anton Lindstrom Date: Wed, 4 Oct 2017 13:45:05 +0200 Subject: [PATCH] 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. --- cmd/restic/global.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/cmd/restic/global.go b/cmd/restic/global.go index 217d6f732..a60486426 100644 --- a/cmd/restic/global.go +++ b/cmd/restic/global.go @@ -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 // line, so it can be overwritten. ANSI sequences are not supported on // current windows cmd shell. @@ -326,6 +340,10 @@ func OpenRepository(opts GlobalOptions) (*repository.Repository, error) { return nil, err } + if shouldOutputPasswordSuccessful() { + Verbosef("password is correct\n") + } + if opts.NoCache { return s, nil }