From 32e8b6dd341c6af81d167fe0462fc03c23a87957 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Tue, 19 Sep 2017 14:48:36 +0200 Subject: [PATCH] dhcp: persist domain name to resolv.conf if specified --- cmd/dhcp/dhcp.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/cmd/dhcp/dhcp.go b/cmd/dhcp/dhcp.go index e8fc2a5..744246e 100644 --- a/cmd/dhcp/dhcp.go +++ b/cmd/dhcp/dhcp.go @@ -245,7 +245,13 @@ func main() { if err := os.Remove("/etc/resolv.conf"); err != nil && !os.IsNotExist(err) { log.Fatalf("resolv.conf: %v", err) } - if err := ioutil.WriteFile("/etc/resolv.conf", []byte(fmt.Sprintf("nameserver %v\n", net.IP(b))), 0644); err != nil { + var lines []string + if domain, ok := opts[dhcp4.OptionDomainName]; ok { + lines = append(lines, fmt.Sprintf("domain %s", string(domain))) + lines = append(lines, fmt.Sprintf("search %s", string(domain))) + } + lines = append(lines, fmt.Sprintf("nameserver %v", net.IP(b))) + if err := ioutil.WriteFile("/etc/resolv.conf", []byte(strings.Join(lines, "\n")+"\n"), 0644); err != nil { log.Fatalf("resolv.conf: %v", err) } }