libnetwork: make OptionDNS, OptionDNSOptions, OptionDNSSearch take a slice

Outside of some tests, these options are the only code setting these fields,
so we can update them to set the value, instead of appending.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
Sebastiaan van Stijn 2023-07-24 11:16:30 +02:00
parent 2cbed9d2a8
commit 91cab53a3e
No known key found for this signature in database
GPG key ID: 76698F39D527CE8C
2 changed files with 12 additions and 28 deletions

View file

@ -32,8 +32,6 @@ func (daemon *Daemon) buildSandboxOptions(cfg *config.Config, container *contain
var (
sboxOptions []libnetwork.SandboxOption
err error
dns []string
dnsOptions []string
bindings = make(nat.PortMap)
pbList []types.PortBinding
exposeList []types.TransportPort
@ -56,33 +54,19 @@ func (daemon *Daemon) buildSandboxOptions(cfg *config.Config, container *contain
}
if len(container.HostConfig.DNS) > 0 {
dns = container.HostConfig.DNS
sboxOptions = append(sboxOptions, libnetwork.OptionDNS(container.HostConfig.DNS))
} else if len(cfg.DNS) > 0 {
dns = cfg.DNS
sboxOptions = append(sboxOptions, libnetwork.OptionDNS(cfg.DNS))
}
for _, d := range dns {
sboxOptions = append(sboxOptions, libnetwork.OptionDNS(d))
}
var dnsSearch []string
if len(container.HostConfig.DNSSearch) > 0 {
dnsSearch = container.HostConfig.DNSSearch
sboxOptions = append(sboxOptions, libnetwork.OptionDNSSearch(container.HostConfig.DNSSearch))
} else if len(cfg.DNSSearch) > 0 {
dnsSearch = cfg.DNSSearch
sboxOptions = append(sboxOptions, libnetwork.OptionDNSSearch(cfg.DNSSearch))
}
for _, ds := range dnsSearch {
sboxOptions = append(sboxOptions, libnetwork.OptionDNSSearch(ds))
}
if len(container.HostConfig.DNSOptions) > 0 {
dnsOptions = container.HostConfig.DNSOptions
sboxOptions = append(sboxOptions, libnetwork.OptionDNSOptions(container.HostConfig.DNSOptions))
} else if len(cfg.DNSOptions) > 0 {
dnsOptions = cfg.DNSOptions
}
for _, ds := range dnsOptions {
sboxOptions = append(sboxOptions, libnetwork.OptionDNSOptions(ds))
sboxOptions = append(sboxOptions, libnetwork.OptionDNSOptions(cfg.DNSOptions))
}
if container.NetworkSettings.SecondaryIPAddresses != nil {

View file

@ -1068,25 +1068,25 @@ func OptionOriginResolvConfPath(path string) SandboxOption {
// OptionDNS function returns an option setter for dns entry option to
// be passed to container Create method.
func OptionDNS(dns string) SandboxOption {
func OptionDNS(dns []string) SandboxOption {
return func(sb *Sandbox) {
sb.config.dnsList = append(sb.config.dnsList, dns)
sb.config.dnsList = dns
}
}
// OptionDNSSearch function returns an option setter for dns search entry option to
// be passed to container Create method.
func OptionDNSSearch(search string) SandboxOption {
func OptionDNSSearch(search []string) SandboxOption {
return func(sb *Sandbox) {
sb.config.dnsSearchList = append(sb.config.dnsSearchList, search)
sb.config.dnsSearchList = search
}
}
// OptionDNSOptions function returns an option setter for dns options entry option to
// be passed to container Create method.
func OptionDNSOptions(options string) SandboxOption {
func OptionDNSOptions(options []string) SandboxOption {
return func(sb *Sandbox) {
sb.config.dnsOptionsList = append(sb.config.dnsOptionsList, options)
sb.config.dnsOptionsList = options
}
}