Ensure PublicKey option is unused, map old config options

This commit is contained in:
Neil Alexander 2021-06-05 21:32:04 +01:00
parent 99973b2757
commit ea15eeee7e
5 changed files with 51 additions and 55 deletions

View file

@ -305,11 +305,7 @@ func (m *Multicast) _announce() {
if a, err := net.ResolveTCPAddr("tcp6", lladdr); err == nil {
a.Zone = ""
destAddr.Zone = iface.Name
key, err := hex.DecodeString(m.config.PublicKey)
if err != nil {
panic(err)
}
msg := append([]byte(nil), key...)
msg := append([]byte(nil), m.core.GetSelf().Key...)
msg = append(msg, a.String()...)
_, _ = m.sock.WriteTo(msg, nil, destAddr)
}

View file

@ -48,7 +48,7 @@ func (tun *TunAdapter) read() {
copy(srcSubnet[:], bs[8:])
copy(dstSubnet[:], bs[24:])
if srcAddr != tun.addr && srcSubnet != tun.subnet {
continue // Wrong soruce address
continue // Wrong source address
}
bs = buf[begin-1 : end]
bs[0] = typeSessionTraffic

View file

@ -90,7 +90,7 @@ func (tun *TunAdapter) setupAddress(addr string) error {
ar.ifra_prefixmask.sin6_len = uint8(unsafe.Sizeof(ar.ifra_prefixmask))
b := make([]byte, 16)
binary.LittleEndian.PutUint16(b, uint16(0xFE00))
ar.ifra_prefixmask.sin6_addr[0] = uint16(binary.BigEndian.Uint16(b))
ar.ifra_prefixmask.sin6_addr[0] = binary.BigEndian.Uint16(b)
ar.ifra_addr.sin6_len = uint8(unsafe.Sizeof(ar.ifra_addr))
ar.ifra_addr.sin6_family = unix.AF_INET6
@ -99,7 +99,7 @@ func (tun *TunAdapter) setupAddress(addr string) error {
addr, _ := strconv.ParseUint(parts[i], 16, 16)
b := make([]byte, 16)
binary.LittleEndian.PutUint16(b, uint16(addr))
ar.ifra_addr.sin6_addr[i] = uint16(binary.BigEndian.Uint16(b))
ar.ifra_addr.sin6_addr[i] = binary.BigEndian.Uint16(b)
}
ar.ifra_flags |= darwin_IN6_IFF_NODAD