From 2b993eda49b2a9e9d54ae6cbd616dbb6f6f28388 Mon Sep 17 00:00:00 2001 From: Leonid Bugaev Date: Thu, 1 Jul 2021 09:17:41 +0300 Subject: [PATCH] Fix --input-raw-bpf-filter It was just ignored Should fix #955 --- capture/capture.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/capture/capture.go b/capture/capture.go index 5648c92..074c24d 100644 --- a/capture/capture.go +++ b/capture/capture.go @@ -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)