mirror of https://github.com/docker/cli.git
Check that --ip-range is a CIDR address
Signed-off-by: Rob Murray <rob.murray@docker.com>
This commit is contained in:
parent
daabb1533e
commit
8fca0a1f28
|
@ -163,6 +163,9 @@ func createIPAMConfig(options ipamOptions) (*network.IPAM, error) {
|
||||||
for _, r := range options.ipRanges {
|
for _, r := range options.ipRanges {
|
||||||
match := false
|
match := false
|
||||||
for _, s := range options.subnets {
|
for _, s := range options.subnets {
|
||||||
|
if _, _, err := net.ParseCIDR(r); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
ok, err := subnetMatches(s, r)
|
ok, err := subnetMatches(s, r)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|
|
@ -124,6 +124,15 @@ func TestNetworkCreateErrors(t *testing.T) {
|
||||||
},
|
},
|
||||||
expectedError: "no matching subnet for aux-address",
|
expectedError: "no matching subnet for aux-address",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
args: []string{"toto"},
|
||||||
|
flags: map[string]string{
|
||||||
|
"ip-range": "192.168.83.1-192.168.83.254",
|
||||||
|
"gateway": "192.168.80.1",
|
||||||
|
"subnet": "192.168.80.0/20",
|
||||||
|
},
|
||||||
|
expectedError: "invalid CIDR address: 192.168.83.1-192.168.83.254",
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tc := range testCases {
|
for _, tc := range testCases {
|
||||||
|
|
Loading…
Reference in New Issue