From 9b35575e4f1b3a4652e015aad7411d0f1a1bf008 Mon Sep 17 00:00:00 2001 From: Pudong Zheng Date: Mon, 4 Nov 2024 13:31:20 +0000 Subject: [PATCH 1/2] Remove none ipv4 entry from /etc/hosts --- components/workspacekit/cmd/rings.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/components/workspacekit/cmd/rings.go b/components/workspacekit/cmd/rings.go index b1099d62818420..69ea232d7d01a9 100644 --- a/components/workspacekit/cmd/rings.go +++ b/components/workspacekit/cmd/rings.go @@ -695,22 +695,27 @@ func makeHostnameLocal(ring2root string) error { if err != nil { return err } - b, err := ioutil.ReadFile(path) + b, err := os.ReadFile(path) if err != nil { return err } bStr := string(b) lines := strings.Split(bStr, "\n") - for i, line := range lines { + newLines := []string{} + for _, line := range lines { fields := strings.Fields(line) if len(fields) != 2 { + newLines = append(newLines, line) + continue + } + if len(net.ParseIP(fields[0])) != net.IPv4len { continue } if fields[1] == hostname { - lines[i] = "127.0.0.1 " + hostname + newLines = append(newLines, "127.0.0.1 "+hostname) } } - return ioutil.WriteFile(path, []byte(strings.Join(lines, "\n")), stat.Mode()) + return os.WriteFile(path, []byte(strings.Join(newLines, "\n")), stat.Mode()) } func receiveSeccmpFd(conn *net.UnixConn) (libseccomp.ScmpFd, error) { From 8346682f74c62207eb5adede7c5e24a3787d8800 Mon Sep 17 00:00:00 2001 From: Pudong Zheng Date: Mon, 4 Nov 2024 14:22:52 +0000 Subject: [PATCH 2/2] Fix --- components/workspacekit/cmd/rings.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/components/workspacekit/cmd/rings.go b/components/workspacekit/cmd/rings.go index 69ea232d7d01a9..14c2c831523df2 100644 --- a/components/workspacekit/cmd/rings.go +++ b/components/workspacekit/cmd/rings.go @@ -704,15 +704,21 @@ func makeHostnameLocal(ring2root string) error { newLines := []string{} for _, line := range lines { fields := strings.Fields(line) - if len(fields) != 2 { + if len(fields) < 1 { newLines = append(newLines, line) continue } - if len(net.ParseIP(fields[0])) != net.IPv4len { + if strings.HasPrefix(fields[0], "#") { + newLines = append(newLines, line) + } + ip := net.ParseIP(fields[0]).To4() + if len(ip) != net.IPv4len { continue } if fields[1] == hostname { newLines = append(newLines, "127.0.0.1 "+hostname) + } else { + newLines = append(newLines, line) } } return os.WriteFile(path, []byte(strings.Join(newLines, "\n")), stat.Mode())