mirror of
https://github.com/containers/podman.git
synced 2025-06-24 19:42:56 +08:00
Move each search dns to its own line
Alpine does not seem to use search correctly when there are multiple search domains on the same line. It only uses the first with the advent. When podman runs within a separate network we are appending on dns.podman as a search, if you add a search domain, then this causes the local search on network to fail. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
@ -103,7 +103,7 @@ func NetFlagsToNetOptions(opts *entities.NetOptions, flags pflag.FlagSet) (*enti
|
||||
opts = &entities.NetOptions{}
|
||||
}
|
||||
|
||||
if flags.Changed("add-hosts") {
|
||||
if flags.Changed("add-host") {
|
||||
opts.AddHosts, err = flags.GetStringSlice("add-host")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -178,11 +178,9 @@ func NetFlagsToNetOptions(opts *entities.NetOptions, flags pflag.FlagSet) (*enti
|
||||
}
|
||||
}
|
||||
|
||||
if flags.Changed("no-host") {
|
||||
opts.NoHosts, err = flags.GetBool("no-hosts")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
opts.NoHosts, err = flags.GetBool("no-hosts")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// parse the network only when network was changed
|
||||
|
@ -221,11 +221,9 @@ func GetOptions(resolvConf []byte) []string {
|
||||
// dnsSearch, and an "options" entry for every element in dnsOptions.
|
||||
func Build(path string, dns, dnsSearch, dnsOptions []string) (*File, error) {
|
||||
content := bytes.NewBuffer(nil)
|
||||
if len(dnsSearch) > 0 {
|
||||
if searchString := strings.Join(dnsSearch, " "); strings.Trim(searchString, " ") != "." {
|
||||
if _, err := content.WriteString("search " + searchString + "\n"); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
for _, search := range dnsSearch {
|
||||
if _, err := content.WriteString("search " + search + "\n"); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
for _, dns := range dns {
|
||||
|
@ -597,7 +597,7 @@ load helpers
|
||||
searchIP="100.100.100.100"
|
||||
cat >$containersconf <<EOF
|
||||
[containers]
|
||||
dns_searches = [ "example.com"]
|
||||
dns_searches = [ "example.com", "test1.com"]
|
||||
dns_servers = [
|
||||
"1.1.1.1",
|
||||
"$searchIP",
|
||||
@ -605,9 +605,14 @@ load helpers
|
||||
"8.8.8.8",
|
||||
]
|
||||
EOF
|
||||
export searchDNS="search example.com
|
||||
search test1.com
|
||||
search a.b"
|
||||
CONTAINERS_CONF=$containersconf run_podman run --rm $IMAGE grep "example.com" /etc/resolv.conf
|
||||
CONTAINERS_CONF=$containersconf run_podman run --rm $IMAGE grep $searchIP /etc/resolv.conf
|
||||
is "$output" "nameserver $searchIP" "Should only be one $searchIP not multiple"
|
||||
CONTAINERS_CONF=$containersconf run_podman run --dns-search a.b --rm $IMAGE grep search /etc/resolv.conf
|
||||
is "$output" "$searchDNS" "Searches should be on different lines"
|
||||
}
|
||||
|
||||
# vim: filetype=sh
|
||||
|
Reference in New Issue
Block a user