mirror of
https://github.com/tailscale/tailscale.git
synced 2025-04-16 03:31:39 +00:00
wgengine/magicsock: restore allocation-free endpoint.DstToString (#5971)
The wireguard-go code unfortunately calls this unconditionally even when verbose logging is disabled. Partial revert of #5911. Signed-off-by: Joe Tsai <joetsai@digital-static.net>
This commit is contained in:
parent
45b7e8c23c
commit
14100c0985
@ -2400,6 +2400,7 @@ func (c *Conn) SetNetworkMap(nm *netmap.NetworkMap) {
|
|||||||
ep := &endpoint{
|
ep := &endpoint{
|
||||||
c: c,
|
c: c,
|
||||||
publicKey: n.Key,
|
publicKey: n.Key,
|
||||||
|
publicKeyHex: n.Key.UntypedHexString(),
|
||||||
sentPing: map[stun.TxID]sentPing{},
|
sentPing: map[stun.TxID]sentPing{},
|
||||||
endpointState: map[netip.AddrPort]*endpointState{},
|
endpointState: map[netip.AddrPort]*endpointState{},
|
||||||
heartbeatDisabled: heartbeatDisabled,
|
heartbeatDisabled: heartbeatDisabled,
|
||||||
@ -3312,9 +3313,10 @@ type endpoint struct {
|
|||||||
numStopAndResetAtomic int64
|
numStopAndResetAtomic int64
|
||||||
|
|
||||||
// These fields are initialized once and never modified.
|
// These fields are initialized once and never modified.
|
||||||
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
|
publicKeyHex string // cached output of publicKey.UntypedHexString
|
||||||
|
fakeWGAddr netip.AddrPort // the UDP address we tell wireguard-go we're using
|
||||||
|
|
||||||
// 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
|
||||||
@ -3496,7 +3498,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.publicKey.UntypedHexString() }
|
func (de *endpoint) DstToString() string { return de.publicKeyHex }
|
||||||
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) }
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user