mirror of
https://github.com/tailscale/tailscale.git
synced 2024-12-11 02:34:43 +00:00
wgengine/magicsock: remove endpoint.wgEndpoint (#5911)
This field seems seldom used and the documentation is wrong. It is simpler to just derive its original value dynamically when endpoint.DstToString is called. This method is potentially used by wireguard-go, but not in any code path is performance sensitive. All calls to it use it in conjunction with fmt.Printf, which is going to be slow anyways since it uses Go reflection. Signed-off-by: Joe Tsai <joetsai@digital-static.net>
This commit is contained in:
parent
3a33895f1b
commit
9ee3df02ee
@ -2408,7 +2408,6 @@ func (c *Conn) SetNetworkMap(nm *netmap.NetworkMap) {
|
|||||||
ep.discoKey = n.DiscoKey
|
ep.discoKey = n.DiscoKey
|
||||||
ep.discoShort = n.DiscoKey.ShortString()
|
ep.discoShort = n.DiscoKey.ShortString()
|
||||||
}
|
}
|
||||||
ep.wgEndpoint = n.Key.UntypedHexString()
|
|
||||||
ep.initFakeUDPAddr()
|
ep.initFakeUDPAddr()
|
||||||
if debugDisco() { // rather than making a new knob
|
if debugDisco() { // rather than making a new knob
|
||||||
c.logf("magicsock: created endpoint key=%s: disco=%s; %v", n.Key.ShortString(), n.DiscoKey.ShortString(), logger.ArgWriter(func(w *bufio.Writer) {
|
c.logf("magicsock: created endpoint key=%s: disco=%s; %v", n.Key.ShortString(), n.DiscoKey.ShortString(), logger.ArgWriter(func(w *bufio.Writer) {
|
||||||
@ -3316,7 +3315,6 @@ type endpoint struct {
|
|||||||
c *Conn
|
c *Conn
|
||||||
publicKey key.NodePublic // peer public key (for WireGuard + DERP)
|
publicKey key.NodePublic // peer public key (for WireGuard + DERP)
|
||||||
fakeWGAddr netip.AddrPort // the UDP address we tell wireguard-go we're using
|
fakeWGAddr netip.AddrPort // the UDP address we tell wireguard-go we're using
|
||||||
wgEndpoint string // string from ParseEndpoint, holds a JSON-serialized wgcfg.Endpoints
|
|
||||||
|
|
||||||
// mu protects all following fields.
|
// mu protects all following fields.
|
||||||
mu sync.Mutex // Lock ordering: Conn.mu, then endpoint.mu
|
mu sync.Mutex // Lock ordering: Conn.mu, then endpoint.mu
|
||||||
@ -3498,7 +3496,7 @@ func (de *endpoint) String() string {
|
|||||||
func (de *endpoint) ClearSrc() {}
|
func (de *endpoint) ClearSrc() {}
|
||||||
func (de *endpoint) SrcToString() string { panic("unused") } // unused by wireguard-go
|
func (de *endpoint) SrcToString() string { panic("unused") } // unused by wireguard-go
|
||||||
func (de *endpoint) SrcIP() netip.Addr { panic("unused") } // unused by wireguard-go
|
func (de *endpoint) SrcIP() netip.Addr { panic("unused") } // unused by wireguard-go
|
||||||
func (de *endpoint) DstToString() string { return de.wgEndpoint }
|
func (de *endpoint) DstToString() string { return de.publicKey.UntypedHexString() }
|
||||||
func (de *endpoint) DstIP() netip.Addr { panic("unused") }
|
func (de *endpoint) DstIP() netip.Addr { panic("unused") }
|
||||||
func (de *endpoint) DstToBytes() []byte { return packIPPort(de.fakeWGAddr) }
|
func (de *endpoint) DstToBytes() []byte { return packIPPort(de.fakeWGAddr) }
|
||||||
|
|
||||||
|
@ -1731,9 +1731,6 @@ func (m *peerMap) validate() error {
|
|||||||
if got := pi.ep.publicKey; got != pub {
|
if got := pi.ep.publicKey; got != pub {
|
||||||
return fmt.Errorf("byNodeKey[%v].publicKey = %v", pub, got)
|
return fmt.Errorf("byNodeKey[%v].publicKey = %v", pub, got)
|
||||||
}
|
}
|
||||||
if got, want := pi.ep.wgEndpoint, pub.UntypedHexString(); got != want {
|
|
||||||
return fmt.Errorf("byNodeKey[%v].wgEndpoint = %q, want %q", pub, got, want)
|
|
||||||
}
|
|
||||||
if _, ok := seenEps[pi.ep]; ok {
|
if _, ok := seenEps[pi.ep]; ok {
|
||||||
return fmt.Errorf("duplicate endpoint present: %v", pi.ep.publicKey)
|
return fmt.Errorf("duplicate endpoint present: %v", pi.ep.publicKey)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user