From 4d59d7457bf875c1523345628a56b5c981881cab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Tue, 27 May 2008 15:20:29 +0000 Subject: [PATCH] Patch by James Woodcock: * enables user-mode packet filters in the pcap library. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25673 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/bin/network/tcpdump/libpcap/pcap-haiku.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/bin/network/tcpdump/libpcap/pcap-haiku.cpp b/src/bin/network/tcpdump/libpcap/pcap-haiku.cpp index 3cb38d0f86..187dc8eedf 100644 --- a/src/bin/network/tcpdump/libpcap/pcap-haiku.cpp +++ b/src/bin/network/tcpdump/libpcap/pcap-haiku.cpp @@ -4,6 +4,7 @@ * * Authors: * Axel Dörfler, axeld@pinc-software.de + * James Woodcock */ @@ -111,6 +112,12 @@ pcap_inject_haiku(pcap_t *handle, const void *buffer, size_t size) static int pcap_setfilter_haiku(pcap_t *handle, struct bpf_program *filter) { + // Make our private copy of the filter + if (install_bpf_program(handle, filter) < 0) { + // install_bpf_program() filled in errbuf + return -1; + } + // we don't support kernel filters at all handle->md.use_bpf = 0; return 0;