Revert unencryted storage warning prompt

Signed-off-by: Nassim 'Nass' Eddequiouaq <eddequiouaq.nassim@gmail.com>
This commit is contained in:
Nassim 'Nass' Eddequiouaq 2018-04-16 12:48:03 -07:00
parent e5980c541a
commit 3acf5d2e47
1 changed files with 9 additions and 16 deletions

View File

@ -55,22 +55,15 @@ func NewLoginCommand(dockerCli command.Cli) *cobra.Command {
return cmd return cmd
} }
// unencryptedPrompt prompts the user to find out whether they want to continue // displayUnencryptedWarning warns the user when using an insecure credential storage.
// with insecure credential storage. If stdin is not a terminal, we assume they // After a deprecation period, user will get prompted if stdin and stderr are a terminal.
// want it (sadly), because people may have been scripting insecure logins and // Otherwise, we'll assume they want it (sadly), because people may have been scripting
// we don't want to break them. Maybe they'll see the warning in their logs and // insecure logins and we don't want to break them. Maybe they'll see the warning in their
// fix things. // logs and fix things.
func unencryptedPrompt(dockerCli command.Streams, filename string) error { func displayUnencryptedWarning(dockerCli command.Streams, filename string) error {
fmt.Fprintln(dockerCli.Err(), fmt.Sprintf(unencryptedWarning, filename)) _, err := fmt.Fprintln(dockerCli.Err(), fmt.Sprintf(unencryptedWarning, filename))
if dockerCli.In().IsTerminal() { return err
if command.PromptForConfirmation(dockerCli.In(), dockerCli.Out(), "") {
return nil
}
return errors.Errorf("User refused unencrypted credentials storage.")
}
return nil
} }
type isFileStore interface { type isFileStore interface {
@ -146,7 +139,7 @@ func runLogin(dockerCli command.Cli, opts loginOptions) error { //nolint: gocycl
store, isDefault := creds.(isFileStore) store, isDefault := creds.(isFileStore)
if isDefault { if isDefault {
err = unencryptedPrompt(dockerCli, store.GetFilename()) err = displayUnencryptedWarning(dockerCli, store.GetFilename())
if err != nil { if err != nil {
return err return err
} }