have listener return a net.Conn, adjust yggdrasil.Conn to match this interface

This commit is contained in:
Arceliar 2019-10-19 15:10:28 -05:00
parent d307ad4c91
commit cb40874f97
4 changed files with 12 additions and 11 deletions

View file

@ -219,7 +219,7 @@ func (tun *TunAdapter) handler() error {
return err
}
phony.Block(tun, func() {
if _, err := tun._wrap(conn); err != nil {
if _, err := tun._wrap(conn.(*yggdrasil.Conn)); err != nil {
// Something went wrong when storing the connection, typically that
// something already exists for this address or subnet
tun.log.Debugln("TUN/TAP handler wrap:", err)
@ -237,9 +237,9 @@ func (tun *TunAdapter) _wrap(conn *yggdrasil.Conn) (c *tunConn, err error) {
}
c = &s
// Get the remote address and subnet of the other side
remoteNodeID := conn.RemoteAddr()
s.addr = *address.AddrForNodeID(&remoteNodeID)
s.snet = *address.SubnetForNodeID(&remoteNodeID)
remoteNodeID := conn.RemoteAddr().(*crypto.NodeID)
s.addr = *address.AddrForNodeID(remoteNodeID)
s.snet = *address.SubnetForNodeID(remoteNodeID)
// Work out if this is already a destination we already know about
atc, aok := tun.addrToConn[s.addr]
stc, sok := tun.subnetToConn[s.snet]