Add IPv6 nil check for interface.

This commit is contained in:
☸️ 2024-11-16 10:19:30 +01:00 committed by GitHub
parent 00854261a4
commit 01a144d69b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -210,16 +210,16 @@ func (q *Queue) worker() {
eth := leth.(*layers.Ethernet)
// something coming from someone on the LAN
isFromMe := q.iface.IP.Equal(srcIP) || q.iface.IPv6.Equal(srcIP)
isFromLAN := q.iface.Net.Contains(srcIP) || q.iface.Net6.Contains(srcIP)
isFromMe := q.iface.IP.Equal(srcIP) || (q.iface.IPv6 != nil && q.iface.IPv6.Equal(srcIP))
isFromLAN := q.iface.Net.Contains(srcIP) || (q.iface.Net6 != nil && q.iface.Net6.Contains(srcIP))
if !isFromMe && isFromLAN {
meta := q.getPacketMeta(pkt)
q.trackActivity(eth, srcIP, meta, pktSize, true)
}
// something going to someone on the LAN
isToMe := q.iface.IP.Equal(dstIP) || q.iface.IPv6.Equal(dstIP)
isToLAN := q.iface.Net.Contains(dstIP) || q.iface.Net6.Contains(dstIP)
isToMe := q.iface.IP.Equal(dstIP) || (q.iface.IPv6 != nil && q.iface.IPv6.Equal(dstIP))
isToLAN := q.iface.Net.Contains(dstIP) || (q.iface.Net6 != nil && q.iface.Net6.Contains(dstIP))
if !isToMe && isToLAN {
q.trackActivity(eth, dstIP, nil, pktSize, false)
}