Skip to content

Commit

Permalink
Merge pull request #2376 from pradipd/NilIPToZero
Browse files Browse the repository at this point in the history
Forcing a nil IP specified in PortBindings to IPv4zero (0.0.0.0).
  • Loading branch information
mavenugo authored May 14, 2019
2 parents 9ff9b57 + 255f602 commit 5ac07ab
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 1 deletion.
6 changes: 6 additions & 0 deletions drivers/windows/port_mapping.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,12 @@ func allocatePort(portMapper *portmapper.PortMapper, bnd *types.PortBinding, con
err error
)

// Windows does not support a host ip for port bindings (this is validated in ConvertPortBindings()).
// If the HostIP is nil, force it to be 0.0.0.0 for use as the key in portMapper.
if bnd.HostIP == nil {
bnd.HostIP = net.IPv4zero
}

// Store the container interface address in the operational binding
bnd.IP = containerIP

Expand Down
2 changes: 1 addition & 1 deletion drivers/windows/windows.go
Original file line number Diff line number Diff line change
Expand Up @@ -462,7 +462,7 @@ func ConvertPortBindings(portBindings []types.PortBinding) ([]json.RawMessage, e
return nil, fmt.Errorf("Windows does not support more than one host port in NAT settings")
}

if len(elem.HostIP) != 0 {
if len(elem.HostIP) != 0 && !elem.HostIP.IsUnspecified() {
return nil, fmt.Errorf("Windows does not support host IP addresses in NAT settings")
}

Expand Down

0 comments on commit 5ac07ab

Please sign in to comment.