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");  [