wgengine, magicsock: add a CreateBind method

Signed-off-by: David Crawshaw <crawshaw@tailscale.com>
pull/141/head
David Crawshaw 4 years ago committed by David Crawshaw
parent 75e62d318f
commit 34859f8e7d

@ -1094,6 +1094,11 @@ func (a *AddrSet) Addrs() []wgcfg.Endpoint {
return eps return eps
} }
// CreateBind is called by WireGuard to create a UDP binding.
func (c *Conn) CreateBind(uint16) (conn.Bind, uint16, error) {
return c, c.LocalPort(), nil
}
// CreateEndpoint is called by WireGuard to connect to an endpoint. // CreateEndpoint is called by WireGuard to connect to an endpoint.
// The key is the public key of the peer and addrs is a // The key is the public key of the peer and addrs is a
// comma-separated list of UDP ip:ports. // comma-separated list of UDP ip:ports.

@ -15,7 +15,6 @@ import (
"sync" "sync"
"time" "time"
"github.com/tailscale/wireguard-go/conn"
"github.com/tailscale/wireguard-go/device" "github.com/tailscale/wireguard-go/device"
"github.com/tailscale/wireguard-go/tun" "github.com/tailscale/wireguard-go/tun"
"github.com/tailscale/wireguard-go/wgcfg" "github.com/tailscale/wireguard-go/wgcfg"
@ -173,9 +172,7 @@ func newUserspaceEngineAdvanced(logf logger.Logf, tundev tun.Device, routerGen R
} }
logf("ERROR: peer %s has unexpected AllowedIPs: %v", peerKey.ShortString(), allowedIPs) logf("ERROR: peer %s has unexpected AllowedIPs: %v", peerKey.ShortString(), allowedIPs)
}, },
CreateBind: func(uint16) (conn.Bind, uint16, error) { CreateBind: e.magicConn.CreateBind,
return e.magicConn, e.magicConn.LocalPort(), nil
},
CreateEndpoint: e.magicConn.CreateEndpoint, CreateEndpoint: e.magicConn.CreateEndpoint,
SkipBindUpdate: true, SkipBindUpdate: true,
} }

Loading…
Cancel
Save