Audit changes.
This commit is contained in:
@@ -26,7 +26,7 @@ func Broadcast(
|
|||||||
}
|
}
|
||||||
|
|
||||||
func broadcastInner(selfVPNIP netip.Addr, pubKey wgtypes.Key, wgPort uint16, signKey *[64]byte) {
|
func broadcastInner(selfVPNIP netip.Addr, pubKey wgtypes.Key, wgPort uint16, signKey *[64]byte) {
|
||||||
conn, err := net.ListenMulticastUDP("udp", nil, addr)
|
conn, err := net.ListenMulticastUDP("udp", nil, multicastAddr(selfVPNIP))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("[MCBroadcast] bind: %v", err)
|
log.Printf("[MCBroadcast] bind: %v", err)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -9,19 +9,19 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
func Receiver(vpnNet netip.Prefix, selfVPNIP netip.Addr, ch chan<- Packet) {
|
func Receiver(selfVPNIP netip.Addr, ch chan<- Packet) {
|
||||||
for {
|
for {
|
||||||
if err := receiver(vpnNet, selfVPNIP, ch); err != nil {
|
if err := receiver(selfVPNIP, ch); err != nil {
|
||||||
log.Printf("[MCReader] %v", err)
|
log.Printf("[MCReader] %v", err)
|
||||||
}
|
}
|
||||||
time.Sleep(errorTimeout)
|
time.Sleep(errorTimeout)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func receiver(vpnNet netip.Prefix, selfVPNIP netip.Addr, ch chan<- Packet) error {
|
func receiver(selfVPNIP netip.Addr, ch chan<- Packet) error {
|
||||||
selfIP := selfVPNIP.As4()[3]
|
selfIP := selfVPNIP.As4()[3]
|
||||||
|
|
||||||
conn, err := net.ListenMulticastUDP("udp", nil, addr)
|
conn, err := net.ListenMulticastUDP("udp", nil, multicastAddr(selfVPNIP))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("bind: %w", err)
|
return fmt.Errorf("bind: %w", err)
|
||||||
}
|
}
|
||||||
@@ -59,3 +59,10 @@ func receiver(vpnNet netip.Prefix, selfVPNIP netip.Addr, ch chan<- Packet) error
|
|||||||
ch <- packet
|
ch <- packet
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func multicastAddr(vpnIP netip.Addr) *net.UDPAddr {
|
||||||
|
b := vpnIP.As4()
|
||||||
|
return net.UDPAddrFromAddrPort(
|
||||||
|
netip.AddrPortFrom(
|
||||||
|
netip.AddrFrom4([4]byte{239, b[1], b[2], 0}), 4560))
|
||||||
|
}
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ func New(
|
|||||||
|
|
||||||
if !state.IsPublic {
|
if !state.IsPublic {
|
||||||
go multicast.Broadcast(state.VPNIP, state.PrivKey.PublicKey(), state.WGPort, &state.SignKey)
|
go multicast.Broadcast(state.VPNIP, state.PrivKey.PublicKey(), state.WGPort, &state.SignKey)
|
||||||
go multicast.Receiver(state.VPNNet, state.VPNIP, multicastCh)
|
go multicast.Receiver(state.VPNIP, multicastCh)
|
||||||
}
|
}
|
||||||
|
|
||||||
return &App{
|
return &App{
|
||||||
|
|||||||
Reference in New Issue
Block a user