ing
This commit is contained in:
parent
6653ea4a87
commit
4f409f59f3
|
@ -2,7 +2,6 @@ package pcap
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"sort"
|
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
omd "git.loafle.net/overflow/model/discovery"
|
omd "git.loafle.net/overflow/model/discovery"
|
||||||
|
@ -123,13 +122,12 @@ func (ps *pCapScan) CloseARP(ch chan *layers.ARP) {
|
||||||
ps.arpListenerChanMtx.Lock()
|
ps.arpListenerChanMtx.Lock()
|
||||||
defer ps.arpListenerChanMtx.Unlock()
|
defer ps.arpListenerChanMtx.Unlock()
|
||||||
|
|
||||||
i := sort.Search(len(ps.arpListenerChans), func(i int) bool {
|
for indexI := 0; indexI < len(ps.arpListenerChans); indexI++ {
|
||||||
return ch == ps.arpListenerChans[i]
|
if ch == ps.arpListenerChans[indexI] {
|
||||||
})
|
|
||||||
|
|
||||||
if -1 != i {
|
|
||||||
close(ch)
|
close(ch)
|
||||||
ps.arpListenerChans = append(ps.arpListenerChans[:i], ps.arpListenerChans[i+1:]...)
|
ps.arpListenerChans = append(ps.arpListenerChans[:indexI], ps.arpListenerChans[indexI+1:]...)
|
||||||
|
break
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -145,13 +143,12 @@ func (ps *pCapScan) CloseICMP4(ch chan gopacket.Packet) {
|
||||||
ps.icmp4ListenerChanMtx.Lock()
|
ps.icmp4ListenerChanMtx.Lock()
|
||||||
defer ps.icmp4ListenerChanMtx.Unlock()
|
defer ps.icmp4ListenerChanMtx.Unlock()
|
||||||
|
|
||||||
i := sort.Search(len(ps.icmp4ListenerChans), func(i int) bool {
|
for indexI := 0; indexI < len(ps.icmp4ListenerChans); indexI++ {
|
||||||
return ch == ps.icmp4ListenerChans[i]
|
if ch == ps.icmp4ListenerChans[indexI] {
|
||||||
})
|
|
||||||
|
|
||||||
if -1 != i {
|
|
||||||
close(ch)
|
close(ch)
|
||||||
ps.icmp4ListenerChans = append(ps.icmp4ListenerChans[:i], ps.icmp4ListenerChans[i+1:]...)
|
ps.icmp4ListenerChans = append(ps.icmp4ListenerChans[:indexI], ps.icmp4ListenerChans[indexI+1:]...)
|
||||||
|
break
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -167,13 +164,12 @@ func (ps *pCapScan) CloseICMP6(ch chan gopacket.Packet) {
|
||||||
ps.icmp6ListenerChanMtx.Lock()
|
ps.icmp6ListenerChanMtx.Lock()
|
||||||
defer ps.icmp6ListenerChanMtx.Unlock()
|
defer ps.icmp6ListenerChanMtx.Unlock()
|
||||||
|
|
||||||
i := sort.Search(len(ps.icmp6ListenerChans), func(i int) bool {
|
for indexI := 0; indexI < len(ps.icmp6ListenerChans); indexI++ {
|
||||||
return ch == ps.icmp6ListenerChans[i]
|
if ch == ps.icmp6ListenerChans[indexI] {
|
||||||
})
|
|
||||||
|
|
||||||
if -1 != i {
|
|
||||||
close(ch)
|
close(ch)
|
||||||
ps.icmp6ListenerChans = append(ps.icmp6ListenerChans[:i], ps.icmp6ListenerChans[i+1:]...)
|
ps.icmp6ListenerChans = append(ps.icmp6ListenerChans[:indexI], ps.icmp6ListenerChans[indexI+1:]...)
|
||||||
|
break
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -198,14 +194,16 @@ func (ps *pCapScan) CloseTCP(ip string, ch chan *layers.TCP) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
chs := ps.tcpListenerChans[ip]
|
chs, ok := ps.tcpListenerChans[ip]
|
||||||
i := sort.Search(len(chs), func(i int) bool {
|
if !ok {
|
||||||
return ch == chs[i]
|
return
|
||||||
})
|
}
|
||||||
|
for indexI := 0; indexI < len(chs); indexI++ {
|
||||||
if -1 != i && len(chs) > i {
|
if ch == chs[indexI] {
|
||||||
close(ch)
|
close(ch)
|
||||||
ps.tcpListenerChans[ip] = append(ps.tcpListenerChans[ip][:i], ps.tcpListenerChans[ip][i+1:]...)
|
ps.tcpListenerChans[ip] = append(ps.tcpListenerChans[ip][:indexI], ps.tcpListenerChans[ip][indexI+1:]...)
|
||||||
|
break
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -231,14 +229,16 @@ func (ps *pCapScan) CloseUDP(ip string, ch chan gopacket.Packet) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
chs := ps.udpListenerChans[ip]
|
chs, ok := ps.udpListenerChans[ip]
|
||||||
i := sort.Search(len(chs), func(i int) bool {
|
if !ok {
|
||||||
return ch == chs[i]
|
return
|
||||||
})
|
}
|
||||||
|
for indexI := 0; indexI < len(chs); indexI++ {
|
||||||
if -1 != i {
|
if ch == chs[indexI] {
|
||||||
close(ch)
|
close(ch)
|
||||||
ps.udpListenerChans[ip] = append(ps.udpListenerChans[ip][:i], ps.udpListenerChans[ip][i+1:]...)
|
ps.udpListenerChans[ip] = append(ps.udpListenerChans[ip][:indexI], ps.udpListenerChans[ip][indexI+1:]...)
|
||||||
|
break
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user