mirror of
				https://github.com/moby/moby.git
				synced 2022-11-09 12:21:53 -05:00 
			
		
		
		
	Fix 'tcp+tls' protocol not being accepted
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
		
							parent
							
								
									862f073694
								
							
						
					
					
						commit
						878a0dc85c
					
				
					 2 changed files with 16 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -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(?:#.+)?$")
 | 
			
		||||
)
 | 
			
		||||
| 
						 | 
				
			
			@ -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")
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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) {
 | 
			
		||||
| 
						 | 
				
			
			@ -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)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue