aboutsummaryrefslogtreecommitdiff
path: root/testprogs/filtertest.c
Commit message (Collapse)AuthorAgeFilesLines
* Lose an unused var in testprogs/filtertest.c. [skip ci]Denis Ovsienko2022-05-201-4/+1
|
* Revert "Don't wrap chunks of headers with extern "C" { ... }."Guy Harris2021-03-171-2/+2
| | | | | | | This reverts commit 8b6b13d4cbb685db047af04c49817ed81fff7c35. That solution allowed you to intermix declarations/definitions and before the extern "C", so you can see what's being imported.
* Don't wrap chunks of headers with extern "C" { ... }.Guy Harris2021-03-171-2/+2
| | | | | | | | | | | Instead, explictly flag individual functions with extern "C" by adding it to the tag we're already using for exported functions, and creating a new tag to use for non-exported functions. Rename those tags, and the tags used for exported data, to say what they do, rather than saying "this is an API" (we may export things we don't want to be treated as part of the API, but that we have to export because some programs use them).
* Squelch a warning.Guy Harris2018-09-151-0/+4
| | | | | | We only support the -g flag if libpap is built with support for debugging, so don't define the variable for the flag unless that support is present.
* Fix data types.Guy Harris2018-09-151-1/+1
| | | | | | If you're accumulating the lengths of strings, as returned by strlen(), and passing the result to malloc(), it should be accumulated in a size_t.
* Clean up -Wshorten-64-to-32 warnings in the test programs.Guy Harris2018-09-101-7/+26
| | | | Clean up some other stuff while we're at it.
* Don't use internal routines.Guy Harris2018-08-311-1/+1
| | | | | The semi-automated conversion of bpf_validate() to pcap_validate_filter() shouldn't have been done to the test programs.
* Clean up the declaration of the packet-filtering routines.Guy Harris2018-08-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If net/bpf.h declares bpf_filter() one way and libpcap defines it another way, even pcap-bpf.c needs a declaration that matches how libpcap defines it, not how net/bpf.h (mistakenly) declares it. ("Mistakenly" because it should *not* be declaring the kernel's version of bpf_filter() unless it's being used in a *kernel* build; other *BSDs, and macOS, declare it only in kernel builds by testing for a #define such as KERNEL or KERNEL_PRIVATE, but NetBSD doesn't - it *should*, but it doesn't.) So we rename the internal-to-pcap filtering routine as pcap_filter(), which is not exported from libpcap, and have bpf_filter() be a wrapper around pcap_filter() that is exported. Use pcap_filter(), rather than bpf_filter(), for all filtering inside libpcap (except for filtering that uses bpf_filter_with_aux_data(), which we rename pcap_filter_with_aux_data()). Do the same for bpf_validate(), which is *also* declared in net/bpf.h, even for non-kernel builds, in NetBSD. As we're not exporting pcap_filter_with_aux_data(), don't even *declare* it in a public header; don't declare struct bpf_aux_data in a public header, either. That way we can change it without worrying about breaking APIs or ABIs; we may do that if, for example, we want to support the "inbound" and "outbound" filters when reading pcapng files, adding a direction indicator to that structure. Declare bpf_filter() in pcap/bpf.h even on NetBSD and QNX; pcap-bpf.c doesn't include pcap/bpf.h (it sets a #define to force pcap/pcap.h not to include it), so we won't get any collisions if net/bpf.h (which it does include) declares it. The only collisions will occur in programs that include *both* pcap/pcap.h or pcap/bpf.h *and* net/bpf.h, and that will occur only if net/bpf.h declares bpf_filter() even when building userland code, and the correct fix for *that* is to fix net/bpf.h not to declare them in non-kernel builds.
* Remove trailing spaces/tabsFrancois-Xavier Le Bail2018-05-251-1/+1
|
* Have separate flags for "optimizer debug" and "print DOT graph".Guy Harris2018-05-031-13/+23
| | | | | | | | | | | Instead of having -dddd mean "-ddd and print the CFG as a DOT graph", have a separate -g flag to request the CFG. Also, put the routines to set the "optimizer debug" and "print DOT graph" flags into optimize.c, and make the flags in question static. (And "CFG graph" is redundant, like "ATM machine", "PIN number", and "NT technology"....)
* Use pcap_set_optimizer_debug() to set the optimizer debug level.Guy Harris2018-05-021-6/+14
|
* Rename the test program directory to testprogs.Guy Harris2018-02-061-0/+341
We may have a directory of test files in the future, and we'd want to call it "tests", paralleling tcpdump's directory of test files.