2
2
mirror of https://github.com/octoleo/restic.git synced 2024-11-26 14:56:29 +00:00

Merge pull request #2987 from greatroar/no-password-for-help

Don't read password for generate, help or self-update
This commit is contained in:
MichaelEischer 2020-10-05 20:16:19 +02:00 committed by GitHub
commit 1ab4c710e1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 1 deletions

View File

@ -0,0 +1,9 @@
Bugfix: restic generate, help and self-update no longer check passwords
The commands `restic cache`, `generate`, `help` and `self-update` don't need
passwords, but they previously did run the RESTIC_PASSWORD_COMMAND (if set in
the environment), prompting users to authenticate for no reason. They now skip
running the password command.
https://github.com/restic/restic/issues/2951
https://github.com/restic/restic/pull/2987

View File

@ -51,7 +51,7 @@ directories in an encrypted repository stored on different backends.
return err return err
} }
globalOptions.extended = opts globalOptions.extended = opts
if c.Name() == "version" { if !needsPassword(c.Name()) {
return nil return nil
} }
pwd, err := resolvePassword(globalOptions, "RESTIC_PASSWORD") pwd, err := resolvePassword(globalOptions, "RESTIC_PASSWORD")
@ -71,6 +71,18 @@ directories in an encrypted repository stored on different backends.
}, },
} }
// Distinguish commands that need the password from those that work without,
// so we don't run $RESTIC_PASSWORD_COMMAND for no reason (it might prompt the
// user for authentication).
func needsPassword(cmd string) bool {
switch cmd {
case "cache", "generate", "help", "options", "self-update", "version":
return false
default:
return true
}
}
var logBuffer = bytes.NewBuffer(nil) var logBuffer = bytes.NewBuffer(nil)
func init() { func init() {