From 22e98276497cfaef736b797e5bfc3cd5e1b5864a Mon Sep 17 00:00:00 2001 From: Doug Davis Date: Mon, 22 Sep 2014 11:58:09 -0700 Subject: [PATCH] Allow user to change email/passwd via login Signed-off-by: Doug Davis Upstream-commit: e315493b0c49978a43dacf7c436839d64a401640 Component: engine --- components/engine/api/client/commands.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/components/engine/api/client/commands.go b/components/engine/api/client/commands.go index 081ee49093..9d23115573 100644 --- a/components/engine/api/client/commands.go +++ b/components/engine/api/client/commands.go @@ -273,6 +273,8 @@ func (cli *DockerCli) CmdLogin(args ...string) error { username = authconfig.Username } } + // Assume that a different username means they may not want to use + // the password or email from the config file, so prompt them if username != authconfig.Username { if password == "" { oldState, _ := term.SaveState(cli.terminalFd) @@ -296,8 +298,16 @@ func (cli *DockerCli) CmdLogin(args ...string) error { } } } else { - password = authconfig.Password - email = authconfig.Email + // However, if they don't override the username use the + // password or email from the cmd line if specified. IOW, allow + // then to change/overide them. And if not specified, just + // use what's in the config file + if password == "" { + password = authconfig.Password + } + if email == "" { + email = authconfig.Email + } } authconfig.Username = username authconfig.Password = password