aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Holzinger <pholzing@redhat.com>2022-02-02 18:42:35 +0100
committerMatthew Heon <matthew.heon@pm.me>2022-02-03 16:21:26 -0500
commit70623790d07a0de6dbd9a4e0d8e665298c73f04c (patch)
treebc67f48abc6d6c83271b099f280674746b94bbc0
parent48f10e1d0d5873c7baa0613156294307f8c9942d (diff)
downloadpodman-70623790d07a0de6dbd9a4e0d8e665298c73f04c.tar.gz
podman-70623790d07a0de6dbd9a4e0d8e665298c73f04c.tar.bz2
podman-70623790d07a0de6dbd9a4e0d8e665298c73f04c.zip
Revert "Move each search dns to its own line"
This reverts commit a1bc8cb52cefd49e8cc54ae14d1864b8a1ec216e. Please see resolv.conf(5) search domains must be on the same line. If you use multiple seach key words only the last one is used. I tested this with alpine and it works correctly when they are on the same line so I am not sure what issues Dan had with it but this is not correct. Signed-off-by: Paul Holzinger <pholzing@redhat.com>
-rw-r--r--pkg/resolvconf/resolvconf.go8
-rw-r--r--test/system/500-networking.bats7
2 files changed, 6 insertions, 9 deletions
diff --git a/pkg/resolvconf/resolvconf.go b/pkg/resolvconf/resolvconf.go
index d7505e049..f23cd61b0 100644
--- a/pkg/resolvconf/resolvconf.go
+++ b/pkg/resolvconf/resolvconf.go
@@ -221,9 +221,11 @@ 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)
- for _, search := range dnsSearch {
- if _, err := content.WriteString("search " + search + "\n"); err != nil {
- return nil, err
+ 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 _, dns := range dns {
diff --git a/test/system/500-networking.bats b/test/system/500-networking.bats
index e54b8d26a..9f70c1c6c 100644
--- a/test/system/500-networking.bats
+++ b/test/system/500-networking.bats
@@ -597,7 +597,7 @@ load helpers
searchIP="100.100.100.100"
cat >$containersconf <<EOF
[containers]
- dns_searches = [ "example.com", "test1.com"]
+ dns_searches = [ "example.com"]
dns_servers = [
"1.1.1.1",
"$searchIP",
@@ -605,14 +605,9 @@ 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