add regexp check on repo's name

This commit is contained in:
Victor Vieux 2013-05-21 12:53:05 +00:00
parent e6e13d6ade
commit 4489005cb2

View file

@ -17,6 +17,7 @@ import (
"os"
"path/filepath"
"reflect"
"regexp"
"strconv"
"strings"
"text/tabwriter"
@ -641,6 +642,10 @@ func (cli *DockerCli) CmdPush(args ...string) error {
if len(strings.SplitN(name, "/", 2)) == 1 {
return fmt.Errorf("Impossible to push a \"root\" repository. Please rename your repository in <user>/<repo> (ex: %s/%s)", out.Username, name)
}
validRepo := regexp.MustCompile(`^([a-z0-9]{4,30})/([a-z0-9-.]+)$`)
if !validRepo.MatchString(name) {
return fmt.Errorf("Invalid repository name, only alphanum, - and . are allowed")
}
v := url.Values{}
v.Set("registry", *registry)