xref: /dragonfly/contrib/libpcap/CHANGES (revision f9993810)
1Monthday, Month DD, YYYY
2  Summary for 1.10.1 libpcap release (so far!)
3    Packet filtering:
4      Fix "type XXX subtype YYY" giving a parse error
5    Source code:
6      Add PCAP_AVAILABLE_1_11.
7    Building and testing:
8      Rename struct bpf_aux_data to avoid NetBSD compile errors
9      Squelch some compiler warnings
10      Squelch some Bison warnings
11      Fix cross-builds with older kernels lacking BPF_MOD and BPF_XOR
12      Fix Bison detection for minor version 0.
13      Fix parallel build with FreeBSD make.
14      Get DLT_MATCHING_MAX right in gencode.c on NetBSD.
15      Define timeradd() and timersub() if necessary.
16      Fix Cygwin/MSYS target directories.
17      Fix symlinking with DESTDIR.
18      Fix generation of libpcap.pc with CMake when not building a shared
19          library.
20      Check for Arm64 as well as x86-64 when looking for packet.lib on
21          Windows.
22    Documentation:
23      Refine Markdown in README.md.
24      Improve the description of portrange in filters.
25      README.linux.md isn't Markdown, rename it just README.linux.
26    pcapng:
27      Support reading version 1.2, which some writers produce, and which
28          is the same as 1.0 (some new block types were added, but
29          that's not sufficient reason to bump the minor version number,
30          as code that understands those new block types can handle them
31          in a 1.0 file)
32    Linux:
33      Drop support for text-mode USB captures, as we require a 2.6.27
34          or later kernel (credit to Chaoyuan Peng for noting the
35          sscanf vulnerabilities in the text-mode code that got me to
36          realize that we didn't need this code any more)
37      Bluetooth: fix non-blocking mode.
38      Don't assume that all compilers used to build for Linux support
39          the __atomic builtins
40    Windows:
41      Add more information in "interface disappeared" error messages, in
42        the hopes of trying to figure out the cause.
43      Treat ERROR_DEVICE_REMOVED as "device was removed".
44      Indicate in the error message which "device was removed" error
45          occurred.
46      Report the Windows error status if PacketSendPacket() fails.
47      Use %lu for ULONGs in error message formats.
48      Don't treat the inability to find airpcap.dll as an error.
49      Ignore spurious error reports by Microsoft Surface mobile
50          telephony modem driver
51    rpcap:
52      Clean up error checking and error messages for server address
53          lookup.
54
55Tuesday, December 29, 2020
56  Summary for 1.10.0 libpcap release
57    Add support for capturing on DPDK devices
58    Label most APIs by the first release in which they're available
59    Fix some memory leaks, including in pcap_compile()
60    Add pcap_datalink_val_to_description_or_dlt()
61    Handle the pcap private data in a fashion that makes fewer
62       assumptions about memory layouts (might fix GitHub issue #940
63       on ARM)
64    Fix some thread safety issues
65    pcap_findalldevs(): don't sort interfaces by unit number
66    Always return a list of supported time-stamp types, even if only
67        host time stamps are supported
68    Increase the maximum snaplen for LINKTYPE_USBPCAP/DLT_USBPCAP
69    Report the DLT description in error messages
70    Add pcap_init() for first-time initialization and global option
71        setting; it's not required, but may be used
72    Remove (unused) SITA support
73    Capture file reading:
74        Correctly handle pcapng captures with more than one IDB with a
75            snspshot length greater than the supported maximum
76    Capture file writing:
77        Create the file in pcap_dump_open_append() if it doesn't exist
78    Packet filtering:
79        Fix "unknown ether proto 'aarp'"
80        Add a new filter "ifindex" for DLT_LINUX_SLL2 files on all
81            platforms and live Linux captures
82        Add a hack to the optimizer to try to catch certain optimizer
83            loops (should prevent GitHub issue #112)
84        Show special Linux BPF offsets symbolically in bpf_image() and
85            bpf_dump()
86        Added support for ICMPv6 types 1-4 as tokens with names
87        Remove undocumented and rather old "ether proto" protocols
88        Catch invalid IPv4 addresses in filters
89        Don't assume ARM supports unaligned accesses
90    Security and other issues found by analysis:
91        Fix various security issues reported by Charles Smith at Tangible
92            Security
93        Fix various security issues reported by Include Security
94        Fix some issues found by cppcheck.
95        Add some overflow checks in the optimizer
96    rpcap:
97        Support rpcap-over-TLS
98        Redo protocol version negotiation to avoid problems with old
99            servers (it still works with servers using the old negotiation,
100            as well as servers not supporting negotiation)
101        Error handling cleanups
102        Add some new authentication libpcap error codes for specific
103            errors
104        Fix some inetd issues in rpcapd
105        Fix rpcapd core dumps with invalid configuration file
106        On UN*X, don't have rpcapd tell the client why authentication
107            failed, so a brute-force attacker can't distinguish between
108            "unknown user name" and "known user name, wrong password"
109        Allow rpcapd to rebind more rapidly (GitHub issue #765)
110    Documentation:
111        Improve man pages, including adding backward compatibility notes
112    Building and testing:
113        Require, and assume, some level of C99 support in the C compiler
114        Require Visual Studio 2015 or later if using Visual Studio
115        Fix configure script issues, including with libnl on Linux
116        Fix CMake issues
117        Squelch complaints from Bison about "%define api.pure" being
118            deprecated
119        Fix compilation of pcap-tc.c
120    Linux:
121        Require PF_PACKET support, and kernel 2.6.27 or later
122        Handle systems without AF_INET or AF_UNIX socket support
123        Get rid of Wireless Extensions for turning monitor mode on
124        Proper memory sync for PACKET_MMAP (may prevent GitHub issue
125            #898)
126        Drop support for libnl 1 and 2.
127        Return error on interface going away, but not if it just went
128            down but is still present
129        Set socket protocol only after packet ring configured,
130            reducing bogus packet drop reports
131        Get ifdrop stats from sysfs.
132        When adjusting BPF programs, do not subtract the
133            SLL[2]_HDR_LEN if the location is negative (special metadata
134            offset), to preserve references to metadata; see
135            https://github.com/the-tcpdump-group/tcpdump/issues/480#issuecomment-486827278
136        Report a warning for unknown ARPHRD types
137        Have pcap_breakloop() forcibly break out of a sleeping
138            capture loop
139        Add support for DSA data link types
140        For raw USB bus capture, use the snapshot length to set the
141            buffer size, and set the len field to reflect the length
142            in the URB (GitHub issue #808)
143        With a timeout of zero, wait indefinitely
144        Clean up support for some non-GNU libc C libraries
145        Add DLT_LINUX_SLL2 for cooked-mode captures
146        Probe CONFIGURATION descriptor of connected USB devices
147        Treat EPERM on ethtool ioctls as meaning "not supported", as
148            permissions checks are done before checking whether the
149            ioctl is supported at all
150    macOS:
151        Cope with getting EPWROFF from SIOCGIFMEDIA
152        Treat EPERM on SIOCGIFMEDIA as meaning "not supported", as
153            permissions checks are done before checking whether the
154            ioctl is supported at all
155        Treat ENXIO when reading packets as meaning "the interface
156            was removed"
157        Report "the interface disappeared", not "the interface went
158            down", if the interface was removed during a capture
159    FreeBSD:
160        Treat ENXIO as meaning "the interface was removed"
161        Report "the interface disappeared", not "the interface went
162            down", if the interface was removed during a capture
163    NetBSD:
164        Treat ENXIO as meaning "the interface was removed"
165        Report "the interface disappeared", not "the interface went
166            down", if the interface was removed during a capture
167    OpenBSD:
168        Treat EIO as meaning "the interface was removed"
169        Report "the interface disappeared", not "the interface went
170            down", if the interface was removed during a capture
171    DragonFly BSD:
172        Treat ENXIO as meaning "the interface was removed"
173        Report "the interface disappeared", not "the interface went
174            down", if the interface was removed during a capture
175    Solaris:
176        Treat ENXIO as meaning "the interface was removed"
177        Report "the interface disappeared", not "the interface went
178            down", if the interface was removed during a capture
179    AIX:
180        Fix loading of BPF kernel extension
181        Treat ENXIO as meaning "the interface was removed"
182        Report "the interface disappeared", not "the interface went
183            down", if the interface was removed during a capture
184    Windows:
185        Make the snapshot length work even if pcap_setfilter()
186            isn't called
187        Fix compilation on Cygwin/MSYS
188        Add pcap_handle(), and deprecate pcap_fileno()
189        Report PCAP_ERROR_NO_SUCH_DEVICE for a non-existent device
190        Return an appropriate error message for device removed or
191            device unusable due to a suspend/resume
192        Report a warning for unknown NdisMedium types
193        Have pcap_breakloop() forcibly break out of a sleeping
194            capture loop
195        Clean up building DLL
196        Handle CRT mismatch for pcap_dump_fopen()
197        Map NdisMediumWirelessWan to DLT_RAW
198        Add AirPcap support in a module, rather than using
199            WinPcap/Npcap's support for it
200        Report the system error for PacketSetHwFilter() failures
201        Add support for getting and setting packet time stamp types
202            with Npcap
203        Have pcap_init() allow selecting whether the API should use
204            local code page strings or UTF-8 strings (including error
205            messages)
206    Haiku:
207        Add capture support
208
209Sunday, July 22, 2018
210  Summary for 1.9.1 libpcap release
211    Mention pcap_get_required_select_timeout() in the main pcap man page
212    Fix pcap-usb-linux.c build on systems with musl
213    Fix assorted man page and other documentation issues
214    Plug assorted memory leaks
215    Documentation changes to use https:
216    Changes to how time stamp calculations are done
217    Lots of tweaks to make newer compilers happier and warning-free and
218        to fix instances of C undefined behavior
219    Warn if AC_PROG_CC_C99 can't enable C99 support
220    Rename pcap_set_protocol() to  pcap_set_protocol_linux().
221    Align pcap_t private data on an 8-byte boundary.
222    Fix various error messages
223    Use 64-bit clean API in dag_findalldevs()
224    Fix cleaning up after some errors
225    Work around some ethtool ioctl bugs in newer Linux kernels (GitHub
226        issue #689)
227    Add backwards compatibility sections to some man pages (GitHub issue
228        #745)
229    Fix autotool configuration on AIX and macOS
230    Don't export bpf_filter_with_aux_data() or struct bpf_aux_data;
231        they're internal-only and subject to change
232    Fix pcapng block size checking
233    On macOS, don't build rpcapd or test programs any fatter than they
234        need to be
235    Fix reading of capture statistics for Linux USB
236    Fix packet size values for Linux USB packets (GitHub issue #808)
237    Check only VID in VLAN test in filterss (GitHub issue #461)
238    Fix pcap_list_datalinks on 802.11 devices on macOS
239    Fix overflows with very large snapshot length in pcap file
240    Improve parsing of rpcapd configuration file (GitHub issue #767)
241    Handle systems without strlcpy() or strlcat() better
242    Fix crashes and other errors with invalid filter expressions
243    Fix use of uninitialized file descriptor in remote capture
244    Fix some CMake issues
245    Fix some divide-by-zero issues with the filter compiler
246    Work around a GNU libc bug in pcap_nametonetaddr()
247    Add support for DLT_LINUX_SLL2
248    Fix handling of the packet-count argument for Myricom SNF devices
249    Fix --disable-rdma in configure script (GitHub issue #782)
250    Fix compilation of TurboCap support (GitHub issue #764)
251    Constify first argument to pcap_findalldevs_ex()
252    Fix a number of issues when running rpcapd as an inetd-style daemon
253    Fix CMake issues with D-Bus libraries
254    In rpcapd, clean up termination of a capture session
255    Redo remote capture protocol negotiation
256    In rpcapd, report the same error for "invalid user name" and
257        "invalid password", to make brute-forcing harder
258    For remote captures, add an error code for "the server requires TLS"
259    Fix pcap_dump_fopen() on Windows to avoid clashes between
260        {Win,N}Pcap and application C runtimes
261    Fix exporting of functions from Windows DLLs (GitHub issue #810)
262    Fix building as part of Npcap
263    Allow rpcapd to rebind more rapidly
264    Fix building shared libpcap library on midipix (midipix.org)
265    Fix hack to detect UTF-16LE adapter names on Windows not to go past
266        the end of the string
267    Fix handling of "wireless WAN" (mobile phone network modems) on
268        Windows with WinPcap/Npcap (GitHub issue #824)
269    Have pcap_dump_open_append() create the dump file if it doesn't
270        exists (GitHub issue #247)
271    Fix the maxmum snapshot length for DLT_USBPCAP
272    Use -fPIC when building for 64-bit SPARC on Linux (GitHub issue #837)
273    Fix CMake 64-bit library installation directory on some Linux
274        distributions
275    Boost the TPACKET_V3 timeout to the maximum if a timeout of 0 was
276        specified
277    Five CVE-2019-15161, CVE-2019-15162, CVE-2019-15163, CVE-2019-15164, CVE-2019-15165
278    Fixes for CVE-2018-16301, errors in pcapng reading.
279    PCAPNG reader applies some sanity checks before doing malloc().
280
281Sunday, June 24, 2018, by mcr@sandelman.ca
282  Summary for 1.9.0 libpcap release
283    Added testing system to libpcap, independent of tcpdump
284    Changes to how pcap_t is activated
285    Adding support for Large stream buffers on Endace DAG cards
286    Changes to BSD 3-clause license to 2-clause licence
287    Additions to TCP header parsing, per RFC3168
288    Add CMake build process (extensive number of changes)
289    Assign a value for OpenBSD DLT_OPENFLOW.
290    Support setting non-blocking mode before activating.
291    Extensive build support for Windows VS2010 and MINGW (many many changes, over many months)
292    Added RPCAPD support when --enable-remote (default no)
293    Add the rpcap daemon source and build instructions.
294    Put back the greasy "save the capture filter string so we can tweak it"
295        hack, that keeps libpcap from capturing rpcap traffic.
296    Fixes for captures on MacOS, utun0
297    fixes so that non-AF_INET addresses, are not ==AF_INET6 addresses.
298    Add a linktype for IBM SDLC frames containing SNA PDUs.
299    pcap_compile() in 1.8.0 and later is newly thread-safe.
300    bound snaplen for linux tpacket_v2 to ~64k
301    Make VLAN filter handle both metadata and inline tags
302    D-Bus captures can now be up to 128MB in size
303    Added LORATAP DLT value
304    Added DLT_VSOCK for https://qemu-project.org/Features/VirtioVsock
305    probe_devices() fixes not to overrun buffer for name of device
306    Add linux-specific pcap_set_protocol_linux() to allow specifying a specific capture protocol.
307    RDMA sniffing support for pcap
308    Add Nordic Semiconductor Bluetooth LE sniffer link-layer header type.
309    fixes for reading /etc/ethers
310    Make it possible to build on Windows without packet.dll.
311    Add tests for large file support on UN*X.
312    Solaris fixes to work with 2.8.6
313    configuration test now looks for header files, not capture devices present
314    Fix to work with Berkeley YACC.
315    fixes for DragonBSD compilation of pcap-netmap.c
316    Clean up the ether_hostton() stuff.
317    Add an option to disable Linux memory-mapped capture support.
318    Add DAG API support checks.
319    Add Septel, Myricom SNF, and Riverbed TurboCap checks.
320    Add checks for Linux USB, Linux Bluetooth, D-Bus, and RDMA sniffing support.
321    Add a check for hardware time stamping on Linux.
322    Don't bother supporting pre-2005 Visual Studio.
323    Increased minimum autoconf version requirement to 2.64
324    Add DLT value 273 for XRA-31 sniffer
325    Clean up handing of signal interrupts in pcap_read_nocb_remote().
326    Use the XPG 4.2 versions of the networking APIs in Solaris.
327    Fix, and better explain, the "IPv6 means IPv6, not IPv4" option setting.
328    Explicitly warn that negative packet buffer timeouts should not be used.
329    rpcapd: Add support inetd-likes, including xinetd.conf, and systemd units
330    Rename DLT_IEEE802_15_4 to DLT_IEEE802_15_4_WITHFCS.
331    Add DISPLAYPORT AUX link type
332    Remove the sunos4 kernel modules and all references to them.
333    Add more interface flags to pcap_findalldevs().
334  Summary for 1.9.0 libpcap release (to 2017-01-25 by guy@alum.mit.edu)
335    Man page improvements
336    Fix Linux cooked mode userspace filtering (GitHub pull request #429)
337    Fix compilation if IPv6 support not enabled
338    Fix some Linux memory-mapped capture buffer size issues
339    Don't fail if kernel filter can't be set on Linux (GitHub issue
340      #549)
341    Improve sorting of interfaces for pcap_findalldevs()
342    Don't list Linux usbmon devices if usbmon module isn't loaded
343    Report PCAP_ERROR_PERM_DENIED if no permission to open Linux usbmon
344      devices
345    Fix DLT_ type for Solaris IPNET devices
346    Always return an error message for errors finding DAG or Myricom
347      devices
348    If possible, don't require that a device be openable when
349      enumerating them for pcap_findalldevs()
350    Don't put incompletely-initialized addresses in the address list for
351    When finding Myricom devices, update description for regular
352      interfaces that are Myricom devices and handle SNF_FLAGS=0x2(port
353      aggregation enabled)
354    Fix compilation error in DAG support
355    Fix issues with CMake configuration
356    Add support for stream buffers larger than 2GB on newer DAG cards
357    Remove support for building against DAG versions without STREAMS
358      support (before dag-3.0.0 2007)
359
360Tuesday, Oct. 25, 2016 mcr@sandelman.ca
361  Summary for 1.8.1 libpcap release
362    Add a target in Makefile.in for Exuberant Ctags use: 'extags'.
363    Rename configure.in to configure.ac: autoconf 2.59
364    Clean up the name-to-DLT mapping table.
365    Add some newer DLT_ values: IPMI_HPM_2,ZWAVE_R1_R2,ZWAVE_R3,WATTSTOPPER_DLM,ISO_14443,RDS
366    Clarify what the return values are for both success and failure.
367    Many changes to build on windows
368    Check for the "break the loop" condition in the inner loop for TPACKET_V3.
369    Fix handling of packet count in the TPACKET_V3 inner loop: GitHub issue #493.
370    Filter out duplicate looped back CAN frames.
371    Fix the handling of loopback filters for IPv6 packets.
372    Add a link-layer header type for RDS (IEC 62106) groups.
373    Use different intermediate folders for x86 and x64 builds on Windows.
374    On Linux, handle all CAN captures with pcap-linux.c, in cooked mode.
375    Removes the need for the "host-endian" link-layer header type.
376    Compile with '-Wused-but-marked-unused' in devel mode if supported
377    Have separate DLTs for big-endian and host-endian SocketCAN headers.
378    Reflect version.h being renamed to pcap_version.h.
379    Require that version.h be generated: all build procedures we support generate version.h (autoconf, CMake, MSVC)!
380    Properly check for sock_recv() errors.
381    Re-impose some of Winsock's limitations on sock_recv().
382    Replace sprintf() with pcap_snprintf().
383    Fix signature of pcap_stats_ex_remote().
384    Initial cmake support for remote packet capture.
385    Have rpcap_remoteact_getsock() return a SOCKET and supply an "is active" flag.
386    Clean up {DAG, Septel, Myricom SNF}-only builds.
387    Do UTF-16-to-ASCII conversion into the right place.
388    pcap_create_interface() needs the interface name on Linux.
389    Clean up hardware time stamp support: the "any" device does not support any time stamp types.
390    Add support for capturing on FreeBSD usbusN interfaces.
391    Add a LINKTYPE/DLT_ value for FreeBSD USB.
392    Go back to using PCAP_API on Windows.
393    CMake support
394    Add TurboCap support from WinPcap.
395    Recognize 802.1ad nested VLAN tag in vlan filter.
396
397Thursday Sep. 3, 2015 guy@alum.mit.edu
398  Summary for 1.7.5 libpcap release
399	Man page cleanups.
400	Add some allocation failure checks.
401	Fix a number of Linux/ucLinux configure/build issues.
402	Fix some memory leaks.
403	Recognize 802.1ad nested VLAN tag in vlan filter.
404	Fix building Bluetooth Linux Monitor support with BlueZ 5.1+
405
406Saturday Jun. 27, 2015 mcr@sandelman.ca
407  Summary for 1.7.4 libpcap release
408	Include fix for GitHub issue #424 -- out of tree builds.
409
410Friday Apr. 10, 2015 guy@alum.mit.edu
411  Summary for 1.7.3 libpcap release
412	Work around a Linux bonding driver bug.
413
414Thursday Feb. 12, 2015 guy@alum.mit.edu/mcr@sandelman.ca
415  Summary for 1.7.2 libpcap release
416	Support for filtering Geneve encapsulated packets.
417	Generalize encapsulation handling, fixing some bugs.
418	Don't add null addresses to address lists.
419	Add pcap_dump_open_append() to open for appending.
420	Fix the swapping of isochronous descriptors in Linux USB.
421	Attempt to handle TPACKET_V1 with 32-bit userland and 64-bit kernel.
422
423Wednesday Nov. 12, 2014 guy@alum.mit.edu/mcr@sandelman.ca
424  Summary for 1.7.0 libpcap release
425	Fix handling of zones for BPF on Solaris
426	new DLT for ZWAVE
427	clarifications for read timeouts.
428	Use BPF extensions in compiled filters, fixing VLAN filters
429	some fixes to compilation without stdint.h
430	EBUSY can now be returned by SNFv3 code.
431	Fix the range checks in BPF loads
432	Various DAG fixes.
433	Various Linux fixes.
434
435Monday Aug. 12, 2014 guy@alum.mit.edu
436  Summary for 1.6.2 libpcap release
437	Don't crash on filters testing a non-existent link-layer type
438	    field.
439	Fix sending in non-blocking mode on Linux with memory-mapped
440	    capture.
441	Fix timestamps when reading pcap-ng files on big-endian
442	    machines.
443
444Saturday  Jul. 19, 2014 mcr@sandelman.ca
445  Summary for 1.6.1 libpcap release
446	some fixes for the any device
447	changes for how --enable-XXX (--enable-sniffing, --enable-can) works
448
449Wednesday Jul. 2, 2014 mcr@sandelman.ca
450  Summary for 1.6.0 libpcap release
451        Don't support D-Bus sniffing on OS X
452        fixes for byte order issues with NFLOG captures
453        Handle using cooked mode for DLT_NETLINK in activate_new().
454        on platforms where you can not capture on down interfaces, do not list them
455        but: do list interfaces which are down, if you can capture on them!
456
457Wednesday December 18, 2013 guy@alum.mit.edu
458Summary for 1.5.3 libpcap release
459	Don't let packets that don't match the current filter get to the
460	    application when TPACKET_V3 is used. (GitHub issue #331)
461	Fix handling of pcap_loop()/pcap_dispatch() with a packet count
462	    of 0 on some platforms (including Linux with TPACKET_V3).
463	    (GitHub issue #333)
464	Work around TPACKET_V3 deficiency that causes packets to be lost
465	    when a timeout of 0 is specified. (GitHub issue #335)
466	Man page formatting fixes.
467
468Wednesday December 4, 2013 guy@alum.mit.edu
469Summary for 1.5.2 libpcap release
470	Fix libpcap to work when compiled with TPACKET_V3 support and
471	    running on a kernel without TPACKET_V3 support. (GitHub
472	    issue #329)
473
474Wednesday November 20, 2013 guy@alum.mit.edu
475Summary for 1.5.1 libpcap release
476	Report an error, rather than crashing, if an IPv6 address is
477	    used for link-layer filtering.  (Wireshark bug 9376)
478
479Wednesday October 30, 2013 guy@alum.mit.edu
480Summary for 1.5.0 libpcap release
481	TPACKET_V3 support added for Linux
482	Point users to the the-tcpdump-group repository on GitHub rather
483	    than the mcr repository
484	Checks added for malloc()/realloc()/etc. failures
485	Fixed build on Solaris 11
486	Support filtering E1 SS7 traffic on MTP2 layer Annex A
487	Use "ln -s" to link man pages by default
488        Add support for getting nanosecond-resolution time stamps when
489	    capturing and reading capture files
490        Many changes to autoconf to deal better with non-GCC compilers
491        added many new DLT types
492
493Saturday April 6, 2013 guy@alum.mit.edu
494Summary for 1.4.0 libpcap release
495	Add netfilter/nfqueue interface.
496	If we don't have support for IPv6 address resolution, support,
497	    in filter expressions, what IPv6 stuff we can.
498	Fix pcap-config to include -lpthread if canusb support is
499	    present
500	Try to fix "pcap_parse not defined" problems when --without-flex
501	    and --without-bison are used when you have Flex and Bison
502	Fix some issues with the pcap_loop man page.
503	Fix pcap_getnonblock() and pcap_setnonblock() to fill in the
504	    supplied error message buffer
505	Fix typo that, it appeared, would cause pcap-libdlpi.c not to
506	    compile (perhaps systems with libdlpi also have BPF and use
507	    that instead)
508	Catch attempts to call pcap_compile() on a non-activated pcap_t
509	Fix crash on Linux with CAN-USB support without usbfs
510	Fix addition of VLAN tags for Linux cooked captures
511	Check for both EOPNOTSUPP and EINVAL after SIOCETHTOOL ioctl, so
512	    that the driver can report either one if it doesn't support
513	    SIOCETHTOOL
514	Add DLT_INFINIBAND and DLT_SCTP
515	Describe "proto XXX" and "protochain XXX" in the pcap-filter man
516	    page
517	Handle either directories, or symlinks to directories, that
518	    correspond to interfaces in /sys/class/net
519	Fix handling of VLAN tag insertion to check, on Linux 3.x
520	    kernels, for VLAN tag valid flag
521	Clean up some man pages
522	Support libnl3 as well as libnl1 and libnl2 on Linux
523	Fix handling of Bluetooth devices on 3.x Linux kernels
524
525Friday  March 30, 2012.  mcr@sandelman.ca
526Summary for 1.3.0 libpcap release
527        Handle DLT_PFSYNC in {FreeBSD, other *BSD+Mac OS X, other}.
528        Linux: Don't fail if netfilter isn't enabled in the kernel.
529        Add new link-layer type for NFC Forum LLCP.
530        Put the CANUSB stuff into EXTRA_DIST, so it shows up in the release tarball.
531        Add LINKTYPE_NG40/DLT_NG40.
532        Add DLT_MPEG_2_TS/LINKTYPE_MPEG_2_TS for MPEG-2 transport streams.
533        [PATCH] Fix AIX-3.5 crash with read failure during stress
534        AIX fixes.
535        Introduce --disable-shared configure option.
536        Added initial support for canusb devices.
537        Include the pcap(3PCAP) additions as 1.2.1 changes.
538        many updates to documentation: pcap.3pcap.in
539        Improve 'inbound'/'outbound' capture filters under Linux.
540        Note the cleanup of handling of new DLT_/LINKTYPE_ values.
541        On Lion, don't build for PPC.
542        For mac80211 devices we need to clean up monitor mode on exit.
543
544Friday  December 9, 2011.  guy@alum.mit.edu.
545Summary for 1.2.1 libpcap release
546	Update README file.
547	Fix typos in README.linux file.
548	Clean up some compiler warnings.
549	Fix Linux compile problems and tests for ethtool.h.
550	Treat Debian/kFreeBSD and GNU/Hurd as systems with GNU
551	 toolchains.
552	Support 802.1 QinQ as a form of VLAN in filters.
553	Treat "carp" as equivalent to "vrrp" in filters.
554	Fix code generated for "ip6 protochain".
555	Add some new link-layer header types.
556	Support capturing NetFilter log messages on Linux.
557	Clean up some error messages.
558	Turn off monitor mode on exit for mac80211 interfaces on Linux.
559	Fix problems turning monitor mode on for non-mac80211 interfaces
560	 on Linux.
561	Properly fail if /sys/class/net or /proc/net/dev exist but can't
562	 be opened.
563	Fail if pcap_activate() is called on an already-activated
564	 pcap_t, and add a test program for that.
565	Fix filtering in pcap-ng files.
566	Don't build for PowerPC on Mac OS X Lion.
567	Simplify handling of new DLT_/LINKTYPE_ values.
568	Expand pcap(3PCAP) man page.
569
570Sunday  July 24, 2011.  mcr@sandelman.ca.
571Summary for 1.2 libpcap release
572        All of the changes listed below for 1.1.1 and 1.1.2.
573        Changes to error handling for pcap_findalldevs().
574        Fix the calculation of the frame size in memory-mapped captures.
575        Add a link-layer header type for STANAG 5066 D_PDUs.
576        Add a link-layer type for a variant of 3GPP TS 27.010.
577        Noted real nature of LINKTYPE_ARCNET.
578        Add a link-layer type for DVB-CI.
579        Fix configure-script discovery of VLAN acceleration support.
580         see https://netoptimizer.blogspot.com/2010/09/tcpdump-vs-vlan-tags.html
581        Linux, HP-UX, AIX, NetBSD and OpenBSD compilation/conflict fixes.
582        Protect against including AIX 5.x's <net/bpf.h> having been included.
583        Add DLT_DBUS, for raw D-Bus messages.
584        Treat either EPERM or EACCES as "no soup for you".
585        Changes to permissions on DLPI systems.
586        Add DLT_IEEE802_15_4_NOFCS for 802.15.4 interfaces.
587
588Fri.    August 6, 2010.  guy@alum.mit.edu.
589Summary for 1.1.2 libpcap release
590	Return DLT_ values, not raw LINKTYPE_ values from
591	  pcap_datalink() when reading pcap-ng files
592	Add support for "wlan ra" and "wlan ta", to check the RA and TA
593	  of WLAN frames that have them
594	Don't crash if "wlan addr{1,2,3,4}" are used without 802.11
595	  headers
596	Do filtering on USB and Bluetooth capturing
597	On FreeBSD/SPARC64, use -fPIC - it's apparently necessary
598	Check for valid port numbers (fit in a 16-bit unsigned field) in
599	  "port" filters
600	Reject attempts to put savefiles into non-blocking mode
601	Check for "no such device" for the "get the media types" ioctl
602	  in *BSD
603	Improve error messages from bpf_open(), and let it do the error
604	  handling
605	Return more specific errors from pcap_can_set_rfmon(); fix
606	  documentation
607	Update description fetching code for FreeBSD, fix code for
608	  OpenBSD
609	Ignore /sys/net/dev files if we get ENODEV for them, not just
610	  ENXIO; fixes handling of bonding devices on Linux
611	Fix check for a constant 0 argument to BPF_DIV
612	Use the right version of ar when cross-building
613	Free any filter set on a savefile when the savefile is closed
614	Include the CFLAGS setting when configure was run in the
615	  compiler flags
616	Add support for 802.15.4 interfaces on Linux
617
618Thu.    April 1, 2010.  guy@alum.mit.edu.
619Summary for 1.1.1 libpcap release
620	Update CHANGES to reflect more of the changes in 1.1.0.
621	Fix build on RHEL5.
622	Fix shared library build on AIX.
623
624Thu.	March 11, 2010.  ken@netfunctional.ca/guy@alum.mit.edu.
625Summary for 1.1.0 libpcap release
626	Add SocketCAN capture support
627	Add Myricom SNF API support
628	Update Endace DAG and ERF support
629	Add support for shared libraries on Solaris, HP-UX, and AIX
630	Build, install, and un-install shared libraries by default;
631	  don't build/install shared libraries on platforms we don't support
632	Fix building from a directory other than the source directory
633	Fix compiler warnings and builds on some platforms
634	Update config.guess and config.sub
635	Support monitor mode on mac80211 devices on Linux
636	Fix USB memory-mapped capturing on Linux; it requires a new DLT_
637	  value
638	On Linux, scan /sys/class/net for devices if we have it; scan
639	  it, or /proc/net/dev if we don't have /sys/class/net, even if
640	  we have getifaddrs(), as it'll find interfaces with no
641	  addresses
642	Add limited support for reading pcap-ng files
643	Fix BPF driver-loading error handling on AIX
644	Support getting the full-length interface description on FreeBSD
645	In the lexical analyzer, free up any addrinfo structure we got back
646	  from getaddrinfo().
647	Add support for BPF and libdlpi in OpenSolaris (and SXCE)
648	Hyphenate "link-layer" everywhere
649	Add /sys/kernel/debug/usb/usbmon to the list of usbmon locations
650	In pcap_read_linux_mmap(), if there are no frames available, call
651	  poll() even if we're in non-blocking mode, so we pick up
652	  errors, and check for the errors in question.
653	Note that poll() works on BPF devices is Snow Leopard
654	If an ENXIO or ENETDOWN is received, it may mean the device has
655	  gone away.  Deal with it.
656	For BPF, raise the default capture buffer size to from 32k to 512k
657	Support ps_ifdrop on Linux
658	Added a bunch of #ifdef directives to make wpcap.dll (WinPcap) compile
659	 under cygwin.
660	Changes to Linux mmapped captures.
661	Fix bug where create_ring would fail for particular snaplen and
662	  buffer size combinations
663	Update pcap-config so that it handles libpcap requiring
664	  additional libraries
665	Add workaround for threadsafeness on Windows
666	Add missing mapping for DLT_ENC <-> LINKTYPE_ENC
667	DLT: Add DLT_CAN_SOCKETCAN
668	DLT: Add Solaris ipnet
669	Don't check for DLT_IPNET if it's not defined
670	Add link-layer types for Fibre Channel FC-2
671	Add link-layer types for Wireless HART
672	Add link-layer types for AOS
673	Add link-layer types for DECT
674	Autoconf fixes (AIX, HP-UX, OSF/1, Tru64 cleanups)
675	Install headers unconditionally, and include vlan.h/bluetooth.h if
676	  enabled
677	Autoconf fixes+cleanup
678	Support enabling/disabling bluetooth (--{en,dis}able-bluetooth)
679	Support disabling SITA support (--without-sita)
680	Return -1 on failure to create packet ring (if supported but
681	  creation failed)
682	Fix handling of 'any' device, so that it can be opened, and no longer
683	  attempt to open it in Monitor mode
684	Add support for snapshot length for USB Memory-Mapped Interface
685	Fix configure and build on recent Linux kernels
686	Fix memory-mapped Linux capture to support pcap_next() and
687	  pcap_next_ex()
688	Fixes for Linux USB capture
689	DLT: Add DLT_LINUX_EVDEV
690	DLT: Add DLT_GSMTAP_UM
691	DLT: Add DLT_GSMTAP_ABIS
692
693Mon.    October 27, 2008.  ken@netfunctional.ca.  Summary for 1.0.0 libpcap release
694	Compile with IPv6 support by default
695	Compile with large file support on by default
696	Add pcap-config script, which deals with -I/-L flags for compiling
697	DLT: Add IPMB
698	DLT: Add LAPD
699	DLT: Add AX25 (AX.25 w/KISS header)
700	DLT: Add JUNIPER_ST
701	802.15.4 support
702	Variable length 802.11 header support
703	X2E data type support
704	SITA ACN Interface support - see README.sita
705	Support for memory-mapped capture on Linux
706	Support for zerocopy BPF on platforms that support it
707	Support for setting buffer size when opening devices
708	Support for setting monitor mode when opening 802.11 devices
709	Better support for dealing with VLAN tagging/stripping on Linux
710	Fix dynamic library support on OSX
711	Return PCAP_ERROR_IFACE_NOT_UP if the interface isn't 'UP', so applications
712	 can print better diagnostic information
713	Return PCAP_ERROR_PERM_DENIED if we don't have permission to open a device, so
714	 applications can tell the user they need to go play with permissions
715	On Linux, ignore ENETDOWN so we can continue to capture packets if the
716	 interface goes down and comes back up again.
717	On Linux, support new tpacket frame headers (2.6.27+)
718	On Mac OS X, add scripts for changing permissions on /dev/bpf* and launchd plist
719	On Solaris, support 'passive mode' on systems that support it
720	Fixes to autoconf and general build environment
721	Man page reorganization + cleanup
722	Autogenerate VERSION numbers better
723
724Mon.    September 10, 2007.  ken@xelerance.com.  Summary for 0.9.8 libpcap release
725        Change build process to put public libpcap headers into pcap subir
726        DLT: Add value for IPMI IPMB packets
727        DLT: Add value for u10 Networks boards
728        Require <net/pfvar.h> for pf definitions - allows reading of pflog formatted
729         libpcap files on an OS other than where the file was generated
730
731Wed.	April 25, 2007.  ken@xelerance.com.  Summary for 0.9.6 libpcap release
732
733	Put the public libpcap headers into a pcap subdirectory in both the
734	 source directory and the target include directory, and have include
735	 files at the top-level directory to include those headers, for
736	 backwards compatibility.
737	Add Bluetooth support
738	Add USB capturing support on Linux
739	Add support for the binary USB sniffing interface in Linux
740	Add support for new FreeBSD BIOCSDIRECTION ioctl
741	Add additional filter operations for 802.11 frame types
742	Add support for filtering on MTP2 frame types
743	Propagate some changes from the main branch, so the x.9 branch has
744	 all the DLT_ and LINKTYPE_ values that the main branch does
745	Reserved a DLT_ and SAVEFILE_ value for PPI (Per Packet Info)
746	 encapsulated packets
747	Add LINKTYPE_ for IEEE 802.15.4, with address fields padded as done
748	 by Linux drivers
749	Add LINKTYPE_ value corresponding to DLT_IEEE802_16_MAC_CPS.
750	Add DLT for IEEE 802.16 (WiMAX) MAC Common Part Sublayer
751	Add DLT for Bluetooth HCI UART transport layer
752	When building a shared library, build with "-fPIC" on Linux to support x86_64
753	Link with "$(CC) -shared" rather than "ld -shared" when building a
754	 ".so" shared library
755	Add support for autoconf 2.60
756	Fixes to discard unread packets when changing filters
757	Changes to handle name changes in the DAG library resulting from
758	 switching to libtool.
759	Add support for new DAG ERF types.
760        Add an explicit "-ldag" when building the shared library, so the DAG
761	 library dependency is explicit.
762	Mac OSX fixes for dealing with "wlt" devices
763	Fixes in add_or_find_if() & pcap_findalldevs() to optimize generating
764	 device lists
765	Fixed a bug in pcap_open_live(). The return value of PacketSetHwFilter
766	 was not checked.
767
768Tue.	September 19, 2006. ken@xelerance.com. Summary for 0.9.5 libpcap release
769
770	Support for LAPD frames with vISDN
771	Support for ERF on channelized T1/E1 cards via DAG API
772	Fix capitalization that caused issues crossc compiling on Linux
773	Better failure detection on PacketGetAdapterNames()
774	Fixes for MPLS packet generation (link layer)
775	OP_PACKET now matches the beginning of the packet, instead of
776	 beginning+link-layer
777	Add DLT/LINKTYPE for carrying FRF.16 Multi-link Frame Relay
778	Fix allocation of buffer for list of link-layer types
779	Added a new DLT and LINKTYPE value for ARINC 653 Interpartition Communication Messages
780	Fixed a typo in a DLT value: it should start with DLT_ and not LINKTYPE_
781	Redefined DLT_CAN20B and LINKTYPE_CAN20B as #190 (as this is the right value for CAN).
782	Added definition for DLT_A429 and LINKTYPE_A429 as #184.
783	Added a new DLT and LINKTYPE value for CAN v2.0B frames.
784	Add support for DLT_JUNIPER_VP.
785	Don't double-count received packets on Linux systems that
786	 support the PACKET_STATISTICS getsockopt() argument on
787	 PF_PACKET sockets.
788	Add support for DLT_IEEE802_11 and DLT_IEEE802_11_RADIO link
789	 layers in Windows
790	Add support to build libpcap.lib and wpcap.dll under Cygnus and
791	 MingW32.
792
793Mon. 	September 5, 2005.  ken@xelerance.com. Summary for 0.9.4 libpcap release
794
795	Support for radiotap on Linux (Mike Kershaw)
796	Fixes for HP-UX
797	Support for additional Juniper link-layer types
798	Fixes for filters on MPLS-encapsulated packets
799	"vlan" filter fixed
800	"pppoed" and "pppoes" filters added; the latter modifies later
801	parts of the filter expression to look at the PPP headers and
802	headers in the PPP payload
803
804Tue. 	July 5, 2005.  ken@xelerance.com. Summary for 0.9.3 libpcap release
805
806	Fixes for compiling on nearly every platform,
807		including improved 64bit support
808	MSDOS Support
809	Add support for sending packets
810	OpenBSD pf format support
811	IrDA capture (Linux only)
812
813Tue.   March 30, 2004. mcr@sandelman.ottawa.on.ca. Summary for 3.8.3 release
814
815	Fixed minor problem in gencode.c that would appear on 64-bit
816	platforms.
817	Version number is now sane.
818
819Mon.   March 29, 2004. mcr@sandelman.ottawa.on.ca. Summary for 3.8.2 release
820
821	updates for autoconf 2.5
822	fixes for ppp interfaces for freebsd 4.1
823	pcap gencode can generate code for 802.11, IEEE1394, and pflog.
824
825Wed.   November 12, 2003. mcr@sandelman.ottawa.on.ca. Summary for 0.8 release
826
827	added pcap_findalldevs()
828	Win32 patches from NetGroup, Politecnico di Torino (Italy)
829	OpenBSD pf, DLT_PFLOG added
830	Many changes to ATM support.
831	lookup pcap_lookupnet()
832	Added DLT_ARCNET_LINUX, DLT_ENC, DLT_IEEE802_11_RADIO, DLT_SUNATM,
833		DLT_IP_OVER_FC, DLT_FRELAY, others.
834	Sigh.  More AIX wonderfulness.
835	Document updates.
836	Changes to API: pcap_next_ex(), pcap_breakloop(), pcap_dump_flush(),
837			pcap_list_datalinks(), pcap_set_datalink(),
838			pcap_lib_version(), pcap_datalink_val_to_name(),
839			pcap_datalink_name_to_val(), new error returns.
840
841Tuesday, February 25, 2003. fenner@research.att.com.  0.7.2 release
842
843 	Support link types that use 802.2 always, never, and sometimes.
844 	Don't decrease the size of the BPF buffer from the default.
845 	Support frame relay.
846 	Handle 32-bit timestamps in DLPI, and pass the right buffer size.
847 	Handle Linux systems with modern kernel but without
848 	 SOL_PACKET in the userland headers.
849 	Linux support for ARPHRD_RAWHDLC.
850 	Handle 32-bit timestamps in snoop.
851 	Support eg (Octane/O2xxx/O3xxx Gigabit) devices.
852 	Add new reserved DLT types.
853
854Monday October 23, 2001. mcr@sandelman.ottawa.on.ca. Summary for 0.7 release
855
856	Added pcap_findalldevs() call to get list of interfaces in a MI way.
857
858	pcap_stats() has been documented as to what its counters mean on
859	each platform.
860
861Tuesday January 9, 2001. guy@alum.mit.edu. Summary for 0.6 release
862
863	New Linux libpcap implementation, which, in 2.2 and later
864	kernels, uses PF_PACKET sockets and supports kernel packet
865	filtering (if compiled into the kernel), and supports the "any"
866	device for capturing on all interfaces.  Cleans up promiscuous
867	mode better on pre-2.2 kernels, and has various other fixes
868	(handles 2.4 ARPHRD_IEEE802_TR, handles ISDN devices better,
869	doesn't show duplicate packets on loopback interface, etc.).
870
871	Fixed HP-UX libpcap implementation to correctly get the PPA for
872	an interface, to allow interfaces to be opened by interface name.
873
874	libpcap savefiles have system-independent link-layer type values
875	in the header, rather than sometimes platform-dependent DLT_
876	values, to make it easier to exchange capture files between
877	different OSes.
878
879	Non-standard capture files produced by some Linux tcpdumps, e.g.
880	the one from Red Hat Linux 6.2 and later, can now be read.
881
882	Updated autoconf stock files.
883
884	Filter expressions can filter on VLAN IDs and various OSI
885	protocols, and work on Token Ring (with non-source-routed
886	packets).
887
888	"pcap_open_dead()" added to allow compiling filter expressions
889	to pcap code without opening a capture device or capture file.
890
891	Header files fixed to allow use in C++ programs.
892
893	Removed dependency on native headers for packet layout.
894	Removed Linux specific headers that were shipped.
895
896	Security fixes: Strcpy replaced with strlcpy, sprintf replaced
897	with snprintf.
898
899	Fixed bug that could cause subsequent "pcap_compile()"s to fail
900	erroneously after one compile failed.
901
902	Assorted other bug fixes.
903
904	README.aix and README.linux files added to describe
905	platform-specific issues.
906
907	"getifaddrs()" rather than SIOCGIFCONF used, if available.
908
909v0.5 Sat Jun 10 11:09:15 PDT 2000
910
911itojun@iijlab.net
912- Brought in KAME IPv6/IPsec bpf compiler.
913- Fixes for NetBSD.
914- Support added for OpenBSD DLT_LOOP and BSD/OS DLT_C_HDLC (Cisco HDLC),
915  and changes to work around different BSDs having different DLT_ types
916  with the same numeric value.
917
918Assar Westerlund  <assar@sics.se>
919- Building outside the source code tree fixed.
920- Changed to write out time stamps with 32-bit seconds and microseconds
921  fields, regardless of whether those fields are 32 bits or 64 bits in
922  the OS's native "struct timeval".
923- Changed "pcap_lookupdev()" to dynamically grow the buffer into which
924  the list of interfaces is read as necessary in order to hold the
925  entire list.
926
927Greg Troxel <gdt@ir.bbn.com>
928- Added a new "pcap_compile_nopcap()", which lets you compile a filter
929  expression into a BPF program without having an open live capture or
930  capture file.
931
932v0.4 Sat Jul 25 12:40:09 PDT 1998
933
934- Fix endian problem with DLT_NULL devices. From FreeBSD via Bill
935  Fenner (fenner@parc.xerox.com)
936
937- Fix alignment problem with FDDI under DLPI. This was causing core
938  dumps under Solaris.
939
940- Added configure options to disable flex and bison. Resulted from a
941  bug report by barnett@grymoire.crd.ge.com (Bruce Barnett). Also added
942  options to disable gcc and to force a particular packet capture type.
943
944- Added support for Fore ATM interfaces (qaa and fa) under IRIX. Thanks
945  to John Hawkinson (jhawk@mit.edu)
946
947- Change Linux PPP and SLIP to use DLT_RAW since the kernel does not
948  supply any "link layer" data.
949
950- Change Linux to use SIOCGIFHWADDR ioctl to determine link layer type.
951  Thanks to Thomas Sailer (sailer@ife.ee.ethz.ch)
952
953- Change IRIX PPP to use DLT_RAW since the kernel does not supply any
954  "link layer" data.
955
956- Modified to support the new BSD/OS 2.1 PPP and SLIP link layer header
957  formats.
958
959- Added some new SGI snoop interface types. Thanks to Steve Alexander
960  (sca@refugee.engr.sgi.com)
961
962- Fixes for HP-UX 10.20 (which is similar to HP-UX 9). Thanks to
963  Richard Allen (ra@hp.is) and Steinar Haug (sthaug@nethelp.no)
964
965- Fddi supports broadcast as reported by Jeff Macdonald
966  (jeff@iacnet.com). Also correct ieee802 and arcnet.
967
968- Determine Linux pcap buffer size at run time or else it might not be
969  big enough for some interface types (e.g. FDDI). Thanks to Jes
970  Sorensen (Jes.Sorensen@cern.ch)
971
972- Fix some linux alignment problems.
973
974- Document promisc argument to pcap_open_live(). Reported by Ian Marsh
975  (ianm@sics.se)
976
977- Support Metricom radio packets under Linux. Thanks to Kevin Lai
978  (laik@gunpowder.stanford.edu)
979
980- Bind to interface name under Linux to avoid packets from multiple
981  interfaces on multi-homed hosts. Thanks to Kevin Lai
982  (laik@gunpowder.stanford.edu)
983
984- Change L_SET to SEEK_SET for HP-UX. Thanks to Roland Roberts
985  (rroberts@muller.com)
986
987- Fixed an uninitialized memory reference found by Kent Vander Velden
988  (graphix@iastate.edu)
989
990- Fixed lex pattern for IDs to allow leading digits. As reported by
991  Theo de Raadt (deraadt@cvs.openbsd.org)
992
993- Fixed Linux include file problems when using GNU libc.
994
995- Ifdef ARPHRD_FDDI since not all versions of the Linux kernel have it.
996  Reported reported by Eric Jacksch (jacksch@tenebris.ca)
997
998- Fixed bug in pcap_dispatch() that kept it from returning on packet
999  timeouts.
1000
1001- Changed ISLOOPBACK() macro when IFF_LOOPBACK isn't available to check
1002  for "lo" followed by an eos or digit (newer versions of Linux
1003  apparently call the loopback "lo" instead of "lo0").
1004
1005- Fixed Linux networking include files to use ints instead of longs to
1006  avoid problems with 64 bit longs on the alpha. Thanks to Cristian
1007  Gafton (gafton@redhat.com)
1008
1009v0.3 Sat Nov 30 20:56:27 PST 1996
1010
1011- Added Linux support.
1012
1013- Fixed savefile bugs.
1014
1015- Solaris x86 fix from Tim Rylance (t.rylance@elsevier.nl)
1016
1017- Add support for bpf kernel port filters.
1018
1019- Remove duplicate atalk protocol table entry. Thanks to Christian
1020  Hopps (chopps@water.emich.edu)
1021
1022- Fixed pcap_lookupdev() to ignore nonexistent devices. This was
1023  reported to happen under BSD/OS by David Vincenzetti
1024  (vince@cryptonet.it)
1025
1026- Avoid solaris compiler warnings. Thanks to Bruce Barnett
1027  (barnett@grymoire.crd.ge.com)
1028
1029v0.2.1 Sun Jul 14 03:02:26 PDT 1996
1030
1031- Fixes for HP-UX 10. Thanks in part to Thomas Wolfram
1032  (wolf@prz.tu-berlin.de) and Rick Jones (raj@hpisrdq.cup.hp.com)
1033
1034- Added support for SINIX. Thanks to Andrej Borsenkow
1035  (borsenkow.msk@sni.de)
1036
1037- Fixes for AIX (although this system is not yet supported). Thanks to
1038  John Hawkinson (jhawk@mit.edu)
1039
1040- Use autoconf's idea of the top level directory in install targets.
1041  Thanks to John Hawkinson.
1042
1043- Add missing autoconf packet capture result message. Thanks to Bill
1044  Fenner (fenner@parc.xerox.com)
1045
1046- Fixed padding problems in the pf module.
1047
1048- Fixed some more alignment problems on the alpha.
1049
1050- Added explicit netmask support. Thanks to Steve Nuchia
1051  (steve@research.oknet.com)
1052
1053- Fixed to handle raw ip addresses such as 0.0.0.1 without "left
1054  justifing"
1055
1056- Add "sca" keyword (for DEC cluster services) as suggested by Terry
1057  Kennedy (terry@spcvxa.spc.edu)
1058
1059- Add "atalk" keyword as suggested by John Hawkinson.
1060
1061- Add "igrp" keyword.
1062
1063- Fixed HID definition in grammar.y to be a string, not a value.
1064
1065- Use $CC when checking gcc version. Thanks to Carl Lindberg
1066  (carl_lindberg@blacksmith.com)
1067
1068- Removed obsolete reference to pcap_immediate() from the man page.
1069  Michael Stolarchuk (mts@terminator.rs.itd.umich.edu)
1070
1071- DLT_NULL has a 4 byte family header. Thanks to Jeffrey Honig
1072  (jch@bsdi.com)
1073
1074v0.2 Sun Jun 23 02:28:42 PDT 1996
1075
1076- Add support for HP-UX. Resulted from code contributed by Tom Murray
1077  (tmurray@hpindck.cup.hp.com) and Philippe-Andri Prindeville
1078  (philipp@res.enst.fr)
1079
1080- Update INSTALL with a reminder to install include files. Thanks to
1081  Mark Andrews (mandrews@aw.sgi.com)
1082
1083- Fix bpf compiler alignment bug on the alpha.
1084
1085- Use autoconf to detect architectures that can't handle misaligned
1086  accesses.
1087
1088- Added loopback support for snoop. Resulted from report Steve
1089  Alexander (sca@engr.sgi.com)
1090
1091v0.1 Fri Apr 28 18:11:03 PDT 1995
1092
1093- Fixed compiler and optimizer bugs.  The BPF filter engine uses unsigned
1094  comparison operators, while the code generator and optimizer assumed
1095  signed semantics in several places.  Thanks to Charlie Slater
1096  (cslater@imatek.com) for pointing this out.
1097
1098- Removed FDDI ifdef's, they aren't really needed. Resulted from report
1099  by Gary Veum (veum@boa.gsfc.nasa.gov).
1100
1101- Add pcap-null.c which allows offline use of libpcap on systems that
1102  don't support live package capture. This feature resulting from a
1103  request from Jan van Oorschot (j.p.m.voorschot@et.tudelft.nl).
1104
1105- Make bpf_compile() reentrant. Fix thanks to Pascal Hennequin
1106  (Pascal.Hennequin@hugo.int-evry.fr).
1107
1108- Port to GNU autoconf.
1109
1110- Fix pcap-dlpi.c to work with isdn. Resulted from report by Flemming
1111  Johansen (fsj@csd.cri.dk).
1112
1113- Handle multi-digit interface unit numbers (aka ppa's) under dlpi.
1114  Resulted from report by Daniel Ehrlich (ehrlich@cse.psu.edu).
1115
1116- Fix pcap-dlpi.c to work in non-promiscuous mode. Resulted from report
1117  by Jeff Murphy (jcmurphy@acsu.buffalo.edu).
1118
1119- Add support for "long jumps". Thanks to Jeffrey Mogul
1120  (mogul@pa.dec.com).
1121
1122- Fix minor problems when compiling with BDEBUG as noticed by Scott
1123  Bertilson (scott@unet.umn.edu).
1124
1125- Declare sys_errlist "const char *const" to avoid problems under
1126  FreeBSD. Resulted from report by jher@eden.com.
1127
1128v0.0.6 Fri Apr 28 04:07:13 PDT 1995
1129
1130- Add missing variable declaration missing from 0.0.6
1131
1132v0.0.5 Fri Apr 28 00:22:21 PDT 1995
1133
1134- Workaround for problems when pcap_read() returns 0 due to the timeout
1135  expiring.
1136
1137v0.0.4 Thu Apr 20 20:41:48 PDT 1995
1138
1139- Change configuration to not use gcc v2 flags with gcc v1.
1140
1141- Fixed a bug in pcap_next(); if pcap_dispatch() returns 0, pcap_next()
1142  should also return 0. Thanks to Richard Stevens (rstevens@noao.edu).
1143
1144- Fixed configure to test for snoop before dlpi to avoid problems under
1145  IRIX 5. Thanks to J. Eric Townsend (jet@abulafia.genmagic.com).
1146
1147- Hack around deficiency in Ultrix's make.
1148
1149- Fix two bugs related to the Solaris pre-5.3.2 bufmod bug; handle
1150  savefiles that have more than snapshot bytes of data in them (so we
1151  can read old savefiles) and avoid writing such files.
1152
1153- Added checkioctl which is used with gcc to check that the
1154  "fixincludes" script has been run.
1155
1156v0.0.3 Tue Oct 18 18:13:46 PDT 1994
1157
1158- Fixed configure to test for snoop before dlpi to avoid problems under
1159  IRIX 5. Thanks to J. Eric Townsend (jet@abulafia.genmagic.com).
1160
1161v0.0.2 Wed Oct 12 20:56:37 PDT 1994
1162
1163- Implement timeout in the dlpi pcap_open_live(). Thanks to Richard
1164  Stevens.
1165
1166- Determine pcap link type from dlpi media type. Resulted from report
1167  by Mahesh Jethanandani (mahesh@npix.com).
1168
1169v0.0.1 Fri Jun 24 14:50:57 PDT 1994
1170
1171- Fixed bug in nit_setflags() in pcap-snit.c. The streams ioctl timeout
1172  wasn't being initialized sometimes resulting in an "NIOCSFLAGS:
1173  Invalid argument" error under OSF/1. Reported by Matt Day
1174  (mday@artisoft.com) and Danny Mitzel (dmitzel@whitney.hitc.com).
1175
1176- Turn on FDDI support by default.
1177
1178v0.0 Mon Jun 20 19:20:16 PDT 1994
1179
1180- Initial release.
1181
1182- Fixed bug with greater/less keywords, reported by Mark Andrews
1183  (mandrews@alias.com).
1184
1185- Fix bug where '|' was defined as BPF_AND instead of BPF_OR, reported
1186  by Elan Amir (elan@leeb.cs.berkeley.edu).
1187
1188- Machines with little-endian byte ordering are supported thanks to
1189  Jeff Mogul.
1190
1191- Add hack for version 2.3 savefiles which don't have caplen and len
1192  swapped thanks to Vern Paxson.
1193
1194- Added "&&" and "||" aliases for "and" and "or" thanks to Vern Paxson.
1195
1196- Added length, inbound and outbound keywords.
1197