Revert "tailcfg, controlclient, magicsock: request IPv6 endpoints, but ignore them"

Breaks something deep in wireguard or magicsock's brainstem, no packets at all
can flow. All received packets fail decryption with "invalid mac1".

This reverts commit 94024355edd563473345e28f9d441e46fd14c70f.

Signed-off-by: David Anderson <dave@natulte.net>
This commit is contained in:
David Anderson 2020-03-20 03:19:59 -07:00
parent f9184ad12b
commit 0be475ba46
3 changed files with 13 additions and 19 deletions

View File

@ -448,13 +448,12 @@ func (c *Direct) PollNetMap(ctx context.Context, maxPolls int, cb func(*NetworkM
c.logf("PollNetMap: stream=%v :%v %v\n", maxPolls, localPort, ep) c.logf("PollNetMap: stream=%v :%v %v\n", maxPolls, localPort, ep)
request := tailcfg.MapRequest{ request := tailcfg.MapRequest{
Version: 4, Version: 4,
IncludeIPv6: true, KeepAlive: c.keepAlive,
KeepAlive: c.keepAlive, NodeKey: tailcfg.NodeKey(persist.PrivateNodeKey.Public()),
NodeKey: tailcfg.NodeKey(persist.PrivateNodeKey.Public()), Endpoints: ep,
Endpoints: ep, Stream: allowStream,
Stream: allowStream, Hostinfo: hostinfo,
Hostinfo: hostinfo,
} }
if c.newDecompressor != nil { if c.newDecompressor != nil {
request.Compress = "zstd" request.Compress = "zstd"

View File

@ -391,14 +391,13 @@ type RegisterResponse struct {
// using the local machine key, and sent to: // using the local machine key, and sent to:
// https://login.tailscale.com/machine/<mkey hex>/map // https://login.tailscale.com/machine/<mkey hex>/map
type MapRequest struct { type MapRequest struct {
Version int // current version is 4 Version int // current version is 4
Compress string // "zstd" or "" (no compression) Compress string // "zstd" or "" (no compression)
KeepAlive bool // server sends keep-alives KeepAlive bool // server sends keep-alives
NodeKey NodeKey NodeKey NodeKey
Endpoints []string // caller's endpoints (IPv4 or IPv6) Endpoints []string
IncludeIPv6 bool // include IPv6 endpoints in returned Node Endpoints Stream bool // if true, multiple MapResponse objects are returned
Stream bool // if true, multiple MapResponse objects are returned Hostinfo *Hostinfo
Hostinfo *Hostinfo
} }
type MapResponse struct { type MapResponse struct {

View File

@ -1456,10 +1456,6 @@ func (c *Conn) CreateEndpoint(key [32]byte, addrs string) (conn.Endpoint, error)
} }
if ip4 := addr.IP.To4(); ip4 != nil { if ip4 := addr.IP.To4(); ip4 != nil {
addr.IP = ip4 addr.IP = ip4
} else {
// TODO(bradfitz): stop skipping IPv6 ones for now.
c.logf("magicsock: CreateEndpoint: ignoring IPv6 addr %v for now", addr)
continue
} }
a.addrs = append(a.addrs, *addr) a.addrs = append(a.addrs, *addr)
} }