Skip to content

Commit

Permalink
Fix 'tcp+tls' protocol not being accepted
Browse files Browse the repository at this point in the history
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 878a0dc)

From PR moby#20109
  • Loading branch information
thaJeztah authored and Tibor Vass committed Feb 10, 2016
1 parent 0fdc67f commit c634306
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 2 deletions.
4 changes: 2 additions & 2 deletions pkg/urlutil/urlutil.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ var (
validPrefixes = map[string][]string{
"url": {"http://", "https://"},
"git": {"git://", "github.com/", "git@"},
"transport": {"tcp://", "udp://", "unix://"},
"transport": {"tcp://", "tcp+tls://", "udp://", "unix://"},
}
urlPathWithFragmentSuffix = regexp.MustCompile(".git(?:#.+)?$")
)
Expand All @@ -35,7 +35,7 @@ func IsGitTransport(str string) bool {
return IsURL(str) || strings.HasPrefix(str, "git://") || strings.HasPrefix(str, "git@")
}

// IsTransportURL returns true if the provided str is a transport (tcp, udp, unix) URL.
// IsTransportURL returns true if the provided str is a transport (tcp, tcp+tls, udp, unix) URL.
func IsTransportURL(str string) bool {
return checkURL(str, "transport")
}
Expand Down
14 changes: 14 additions & 0 deletions pkg/urlutil/urlutil_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,12 @@ var (
invalidGitUrls = []string{
"http://github.com/docker/docker.git:#branch",
}
transportUrls = []string{
"tcp://example.com",
"tcp+tls://example.com",
"udp://example.com",
"unix:///example",
}
)

func TestValidGitTransport(t *testing.T) {
Expand Down Expand Up @@ -53,3 +59,11 @@ func TestIsGIT(t *testing.T) {
}
}
}

func TestIsTransport(t *testing.T) {
for _, url := range transportUrls {
if IsTransportURL(url) == false {
t.Fatalf("%q should be detected as valid Transport url", url)
}
}
}

0 comments on commit c634306

Please sign in to comment.