diff --git a/internal/deephash/deephash.go b/internal/deephash/deephash.go index d1a5a8687..8706c199f 100644 --- a/internal/deephash/deephash.go +++ b/internal/deephash/deephash.go @@ -45,6 +45,7 @@ func Print(w *bufio.Writer, v ...interface{}) { var ( netaddrIPType = reflect.TypeOf(netaddr.IP{}) netaddrIPPrefix = reflect.TypeOf(netaddr.IPPrefix{}) + netaddrIPPort = reflect.TypeOf(netaddr.IPPort{}) wgkeyKeyType = reflect.TypeOf(wgkey.Key{}) wgkeyPrivateType = reflect.TypeOf(wgkey.Private{}) tailcfgDiscoKeyType = reflect.TypeOf(tailcfg.DiscoKey{}) @@ -88,6 +89,20 @@ func print(w *bufio.Writer, v reflect.Value, visited map[uintptr]bool) (acyclic w.Write(b) return true } + case netaddrIPPort: + var b []byte + var err error + if v.CanAddr() { + x := v.Addr().Interface().(*netaddr.IPPort) + b, err = x.MarshalText() + } else { + x := v.Interface().(netaddr.IPPort) + b, err = x.MarshalText() + } + if err == nil { + w.Write(b) + return true + } case wgkeyKeyType: if v.CanAddr() { x := v.Addr().Interface().(*wgkey.Key)