Browse Source

Merge pull request #19806 from liusdu/forbid-null-login

forbid login of a null-string username
David Calavera 9 years ago
parent
commit
ca48f7350c
1 changed files with 7 additions and 2 deletions
  1. 7 2
      api/client/login.go

+ 7 - 2
api/client/login.go

@@ -81,8 +81,9 @@ func (cli *DockerCli) configureAuth(flUser, flPassword, flEmail, serverAddress s
 	if !ok {
 	if !ok {
 		authconfig = types.AuthConfig{}
 		authconfig = types.AuthConfig{}
 	}
 	}
+	authconfig.Username = strings.TrimSpace(authconfig.Username)
 
 
-	if flUser == "" {
+	if flUser = strings.TrimSpace(flUser); flUser == "" {
 		cli.promptWithDefault("Username", authconfig.Username)
 		cli.promptWithDefault("Username", authconfig.Username)
 		flUser = readInput(cli.in, cli.out)
 		flUser = readInput(cli.in, cli.out)
 		flUser = strings.TrimSpace(flUser)
 		flUser = strings.TrimSpace(flUser)
@@ -91,6 +92,10 @@ func (cli *DockerCli) configureAuth(flUser, flPassword, flEmail, serverAddress s
 		}
 		}
 	}
 	}
 
 
+	if flUser == "" {
+		return authconfig, fmt.Errorf("Error: Non-null Username Required")
+	}
+
 	if flPassword == "" {
 	if flPassword == "" {
 		oldState, err := term.SaveState(cli.inFd)
 		oldState, err := term.SaveState(cli.inFd)
 		if err != nil {
 		if err != nil {
@@ -104,7 +109,7 @@ func (cli *DockerCli) configureAuth(flUser, flPassword, flEmail, serverAddress s
 
 
 		term.RestoreTerminal(cli.inFd, oldState)
 		term.RestoreTerminal(cli.inFd, oldState)
 		if flPassword == "" {
 		if flPassword == "" {
-			return authconfig, fmt.Errorf("Error : Password Required")
+			return authconfig, fmt.Errorf("Error: Password Required")
 		}
 		}
 	}
 	}