net/dns: clean up plan9 manager

all: clean up logging noise

Change-Id: Id7a777b5697fb63cf8690fe971e1ece97427f678
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
Brad Fitzpatrick 2025-03-24 06:49:06 -07:00
parent 478028fce8
commit a193323479
2 changed files with 17 additions and 22 deletions

View File

@ -11,11 +11,11 @@ import (
"bytes"
"fmt"
"io"
"log"
"net/netip"
"os"
"regexp"
"strings"
"unicode"
"tailscale.com/control/controlknobs"
"tailscale.com/health"
@ -37,16 +37,6 @@ type plan9DNSManager struct {
knobs *controlknobs.Knobs
}
// netNDBWithoutTailscale returns /net/ndb with any Tailscale
// bits removed.
func netNDBWithoutTailscale() ([]byte, error) {
raw, err := os.ReadFile("/net/ndb")
if err != nil {
return nil, err
}
return netNDBBytesWithoutTailscale(raw)
}
// netNDBBytesWithoutTailscale returns raw (the contents of /net/ndb) with any
// Tailscale bits removed.
func netNDBBytesWithoutTailscale(raw []byte) ([]byte, error) {
@ -105,8 +95,9 @@ func setNDBSuffix(tsFree []byte, suffix string) []byte {
addLine(fmt.Sprintf("\tdnsdomain=%s\n", suffix))
}
}
if len(added) == 0 || true {
return buf.Bytes()
bufTrim := bytes.TrimLeftFunc(buf.Bytes(), unicode.IsSpace)
if len(added) == 0 {
return bufTrim
}
var ret bytes.Buffer
for _, s := range added {
@ -115,12 +106,17 @@ func setNDBSuffix(tsFree []byte, suffix string) []byte {
ret.WriteString("\n")
}
ret.WriteString("\n")
ret.Write(buf.Bytes())
ret.Write(bufTrim)
return ret.Bytes()
}
func (m *plan9DNSManager) SetDNS(c OSConfig) error {
tsFree, err := netNDBWithoutTailscale()
ndbOnDisk, err := os.ReadFile("/net/ndb")
if err != nil {
return err
}
tsFree, err := netNDBBytesWithoutTailscale(ndbOnDisk)
if err != nil {
return err
}
@ -131,8 +127,7 @@ func (m *plan9DNSManager) SetDNS(c OSConfig) error {
}
newBuf := setNDBSuffix(tsFree, suffix)
if !bytes.Equal(newBuf, tsFree) {
log.Printf("XXX plan9: going to write /net/ndb of %q", newBuf)
if !bytes.Equal(newBuf, ndbOnDisk) {
if err := os.WriteFile("/net/ndb", newBuf, 0644); err != nil {
return fmt.Errorf("writing /net/ndb: %w", err)
}

View File

@ -57,7 +57,7 @@ func (r *plan9Router) Set(cfg *Config) error {
self6 = addr.Addr()
}
_, err := fmt.Fprintf(ctl, "add %s /%d\n", addr.Addr().String(), maskBits)
r.logf("XXX add %s /%d = %v", addr.Addr().String(), maskBits, err)
r.logf("route/plan9: add %s /%d = %v", addr.Addr().String(), maskBits, err)
}
ipr, err := os.OpenFile("/net/iproute", os.O_RDWR, 0)
@ -86,20 +86,20 @@ func (r *plan9Router) Set(cfg *Config) error {
nextHop = self6
}
if !nextHop.IsValid() {
r.logf("XXX skipping route %s: no next hop (no self addr)", route.String())
r.logf("route/plan9: skipping route %s: no next hop (no self addr)", route.String())
continue
}
r.logf("XXX plan9.router: add %s /%d %s", route.Addr(), maskBits, nextHop)
r.logf("route/plan9: plan9.router: add %s /%d %s", route.Addr(), maskBits, nextHop)
if _, err := fmt.Fprintf(ipr, "add %s /%d %s\n", route.Addr(), maskBits, nextHop); err != nil {
return fmt.Errorf("add %s: %w", route.String(), err)
}
}
if len(cfg.LocalRoutes) > 0 {
r.logf("XXX TODO: Set LocalRoutes %v", cfg.LocalRoutes)
r.logf("route/plan9: TODO: Set LocalRoutes %v", cfg.LocalRoutes)
}
if len(cfg.SubnetRoutes) > 0 {
r.logf("XXX TODO: Set SubnetRoutes %v", cfg.SubnetRoutes)
r.logf("route/plan9: TODO: Set SubnetRoutes %v", cfg.SubnetRoutes)
}
return nil