Subject: Re: [tcpdump-workers] Calling sequence for "pcap_compile_nopcap()" - current, or NetBSD?
To: None <tcpdump-workers@tcpdump.org>
From: Michael Richardson <mcr@sandelman.ottawa.on.ca>
List: tech-net
Date: 12/20/2000 17:33:51
>>>>> "Guy" == Guy Harris <gharris@flashcom.net> writes:
Guy> NetBSD modified the calling sequence for "pcap_compile_nopcap()" to take
Guy> an extra argument, which is a pointer to a buffer into which any error
Guy> message from the compilation is captured.
Which NetBSD are you looking at? It must be -current, because 1.5 didn't
release with that.
Guy> Unfortunately, FreeBSD 4.x already incorporated "pcap_compile_nopcap()"
Guy> with the current tcpdump.org calling sequence, and OpenBSD 2.7 did the
Guy> same, so, unless NetBSD changes the calling sequence back, the FreeBSD
Guy> 4.x libpcap API/OpenBSD 2.{7,8} API, and the libpcap API for whatever
Guy> NetBSD release next comes from the main branch, won't be
My preference would be to do some brainstorming on the various "open"
routines required. It seems that there are quite a number of other arguments
needed at times to various other functions.
(I found myself hacking pcap_compile_live() last month to do a custom hack
under Linux where we opened a socket that wasn't P_ETH_ALL, but bound to a
specific ethernet type. This was in support of a card that can offload all of
the filtering to hardware)
Guy> "pcap_open_dead()", if everybody picks it up, would allow all the BSDs
Guy> (and everybody else) to have a compatible API for compiling filter
Guy> expressions into BPF code without having a capture device open,
So, I think we can agree to go this way.
The question is, can we convince ThorpeJ to either retract this change,
make a new "pcap_open_nopcap_err()" with the buffer added, or do we adopt the
change for 3.6?
] Train travel features AC outlets with no take-off restrictions|gigabit is no[
] Michael Richardson, Solidum Systems Oh where, oh where has|problem with[
] mcr@solidum.com www.solidum.com the little fishy gone?|PAX.port 1100[
] panic("Just another NetBSD/notebook using, kernel hacking, security guy"); [