Fix --input-raw-bpf-filter

It was just ignored

Should fix #955
This commit is contained in:
Leonid Bugaev
2021-07-01 09:17:41 +03:00
parent de8a74fdca
commit 2b993eda49
+9 -3
View File
@@ -284,7 +284,9 @@ func (l *Listener) PcapHandle(ifi pcap.Interface) (handle *pcap.Handle, err erro
if err != nil {
return nil, fmt.Errorf("PCAP Activate device error: %q, interface: %q", err, ifi.Name)
}
l.BPFFilter = l.Filter(ifi)
if l.BPFFilter == "" {
l.BPFFilter = l.Filter(ifi)
}
fmt.Println("Interface:", ifi.Name, ". BPF Filter:", l.BPFFilter)
err = handle.SetBPFFilter(l.BPFFilter)
if err != nil {
@@ -303,7 +305,9 @@ func (l *Listener) SocketHandle(ifi pcap.Interface) (handle Socket, err error) {
if err = handle.SetPromiscuous(l.Promiscuous || l.Monitor); err != nil {
return nil, fmt.Errorf("promiscuous mode error: %q, interface: %q", err, ifi.Name)
}
l.BPFFilter = l.Filter(ifi)
if l.BPFFilter == "" {
l.BPFFilter = l.Filter(ifi)
}
fmt.Println("BPF Filter: ", l.BPFFilter)
if err = handle.SetBPFFilter(l.BPFFilter); err != nil {
handle.Close()
@@ -477,7 +481,9 @@ func (l *Listener) activateAFPacket() error {
continue
}
l.BPFFilter = l.Filter(ifi)
if l.BPFFilter == "" {
l.BPFFilter = l.Filter(ifi)
}
fmt.Println("Interface:", ifi.Name, ". BPF Filter:", l.BPFFilter)
handle.SetBPFFilter(l.BPFFilter, 64<<10)