registry: support ipv6 addresses
Current registry reference use a subset of dns and IPv4 addresses to represent a registry domain. Since registries are mostly compatible with rfc3986, that defines the URI generic syntax, this adds support for IPv6 enclosed in squared brackets based on the mentioned rfc. The regexp is only expanded to match on IPv6 addreses enclosed between square brackets, considering only regular IPv6 addresses represented as compressed or uncompressed, excluding special IPv6 address representations. Signed-off-by: Antonio Ojea <antonio.ojea.garcia@gmail.com>
This commit is contained in:
parent
3e4f8a0ab1
commit
53a6f7d7aa
5 changed files with 181 additions and 7 deletions
|
@ -22,7 +22,14 @@ func TestValidateReferenceName(t *testing.T) {
|
|||
"127.0.0.1:5000/docker/docker",
|
||||
"127.0.0.1:5000/library/debian",
|
||||
"127.0.0.1:5000/debian",
|
||||
"192.168.0.1",
|
||||
"192.168.0.1:80",
|
||||
"192.168.0.1:8/debian",
|
||||
"192.168.0.2:25000/debian",
|
||||
"thisisthesongthatneverendsitgoesonandonandonthisisthesongthatnev",
|
||||
"[fc00::1]:5000/docker",
|
||||
"[fc00::1]:5000/docker/docker",
|
||||
"[fc00:1:2:3:4:5:6:7]:5000/library/debian",
|
||||
|
||||
// This test case was moved from invalid to valid since it is valid input
|
||||
// when specified with a hostname, it removes the ambiguity from about
|
||||
|
@ -40,6 +47,11 @@ func TestValidateReferenceName(t *testing.T) {
|
|||
"docker///docker",
|
||||
"docker.io/docker/Docker",
|
||||
"docker.io/docker///docker",
|
||||
"[fc00::1]",
|
||||
"[fc00::1]:5000",
|
||||
"fc00::1:5000/debian",
|
||||
"[fe80::1%eth0]:5000/debian",
|
||||
"[2001:db8:3:4::192.0.2.33]:5000/debian",
|
||||
"1a3f5e7d9c1b3a5f7e9d1c3b5a7f9e1d3c5b7a9f1e3d5d7c9b1a3f5e7d9c1b3a",
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue