CHANGES revision 98530
198530Sfenner@(#) $Header: /tcpdump/master/libpcap/CHANGES,v 1.56 2001/10/23 04:37:31 mcr Exp $ (LBL)
217683Spst
398530SfennerMonday October 23, 2001. mcr@sandelman.ottawa.on.ca. Summary for 0.7 release
498530Sfenner
598530Sfenner	Added pcap_findalldevs() call to get list of interfaces in a MI way.
698530Sfenner
798530Sfenner	pcap_stats() has been documented as to what its counters mean on 
898530Sfenner	each platform.
998530Sfenner
1075107SfennerTuesday January 9, 2001. guy@alum.mit.edu. Summary for 0.6 release
1156889Sfenner
1275107Sfenner	New Linux libpcap implementation, which, in 2.2 and later
1375107Sfenner	kernels, uses PF_PACKET sockets and supports kernel packet
1475107Sfenner	filtering (if compiled into the kernel), and supports the "any"
1575107Sfenner	device for capturing on all interfaces.  Cleans up promiscuous
1675107Sfenner	mode better on pre-2.2 kernels, and has various other fixes
1775107Sfenner	(handles 2.4 ARPHRD_IEEE802_TR, handles ISDN devices better,
1875107Sfenner	doesn't show duplicate packets on loopback interface, etc.).
1956889Sfenner
2075107Sfenner	Fixed HP-UX libpcap implementation to correctly get the PPA for
2175107Sfenner	an interface, to allow interfaces to be opened by interface name.
2275107Sfenner
2375107Sfenner	libpcap savefiles have system-independent link-layer type values
2475107Sfenner	in the header, rather than sometimes platform-dependent DLT_
2575107Sfenner	values, to make it easier to exchange capture files between
2675107Sfenner	different OSes.
2775107Sfenner
2875107Sfenner	Non-standard capture files produced by some Linux tcpdumps, e.g.
2975107Sfenner	the one from Red Hat Linux 6.2 and later, can now be read.
3075107Sfenner
3175107Sfenner	Updated autoconf stock files.
3275107Sfenner
3375107Sfenner	Filter expressions can filter on VLAN IDs and various OSI
3475107Sfenner	protocols, and work on Token Ring (with non-source-routed
3575107Sfenner	packets).
3675107Sfenner
3775107Sfenner	"pcap_open_dead()" added to allow compiling filter expressions
3875107Sfenner	to pcap code without opening a capture device or capture file.
3975107Sfenner
4075107Sfenner	Header files fixed to allow use in C++ programs.
4175107Sfenner
4275107Sfenner	Removed dependancy on native headers for packet layout.
4375107Sfenner	Removed Linux specific headers that were shipped.
4475107Sfenner
4575107Sfenner	Security fixes: Strcpy replaced with strlcpy, sprintf replaced
4675107Sfenner	with snprintf.
4775107Sfenner
4875107Sfenner	Fixed bug that could cause subsequent "pcap_compile()"s to fail
4975107Sfenner	erroneously after one compile failed.
5075107Sfenner
5175107Sfenner	Assorted other bug fixes.
5275107Sfenner
5375107Sfenner	README.aix and README.linux files added to describe
5475107Sfenner	platform-specific issues.
5575107Sfenner
5675107Sfenner	"getifaddrs()" rather than SIOCGIFCONF used, if available.
5775107Sfenner
5875107Sfennerv0.5 Sat Jun 10 11:09:15 PDT 2000
5975107Sfenner
6075107Sfenneritojun@iijlab.net
6175107Sfenner- Brought in KAME IPv6/IPsec bpf compiler.
6275107Sfenner- Fixes for NetBSD.
6375107Sfenner- Support added for OpenBSD DLT_LOOP and BSD/OS DLT_C_HDLC (Cisco HDLC),
6475107Sfenner  and changes to work around different BSDs having different DLT_ types
6575107Sfenner  with the same numeric value.
6675107Sfenner
6775107SfennerAssar Westerlund  <assar@sics.se>
6875107Sfenner- Building outside the source code tree fixed.
6975107Sfenner- Changed to write out time stamps with 32-bit seconds and microseconds
7075107Sfenner  fields, regardless of whether those fields are 32 bits or 64 bits in
7175107Sfenner  the OS's native "struct timeval".
7275107Sfenner- Changed "pcap_lookupdev()" to dynamically grow the buffer into which
7375107Sfenner  the list of interfaces is read as necessary in order to hold the
7475107Sfenner  entire list.
7575107Sfenner
7675107SfennerGreg Troxel <gdt@ir.bbn.com>
7775107Sfenner- Added a new "pcap_compile_nopcap()", which lets you compile a filter
7875107Sfenner  expression into a BPF program without having an open live capture or
7975107Sfenner  capture file.
8075107Sfenner  
8139291Sfennerv0.4 Sat Jul 25 12:40:09 PDT 1998
8239291Sfenner
8339291Sfenner- Fix endian problem with DLT_NULL devices. From FreeBSD via Bill
8439291Sfenner  Fenner (fenner@parc.xerox.com)
8539291Sfenner
8639291Sfenner- Fix alignment problem with FDDI under DLPI. This was causing core
8739291Sfenner  dumps under Solaris.
8839291Sfenner
8939291Sfenner- Added configure options to disable flex and bison. Resulted from a
9039291Sfenner  bug report by barnett@grymoire.crd.ge.com (Bruce Barnett). Also added
9139291Sfenner  options to disable gcc and to force a particular packet capture type.
9239291Sfenner
9339291Sfenner- Added support for Fore ATM interfaces (qaa and fa) under IRIX. Thanks
9439291Sfenner  to John Hawkinson (jhawk@mit.edu)
9539291Sfenner
9639291Sfenner- Change Linux PPP and SLIP to use DLT_RAW since the kernel does not
9739291Sfenner  supply any "link layer" data.
9839291Sfenner
9939291Sfenner- Change Linux to use SIOCGIFHWADDR ioctl to determine link layer type.
10039291Sfenner  Thanks to Thomas Sailer (sailer@ife.ee.ethz.ch)
10139291Sfenner
10239291Sfenner- Change IRIX PPP to use DLT_RAW since the kernel does not supply any
10339291Sfenner  "link layer" data.
10439291Sfenner
10539291Sfenner- Modified to support the new BSD/OS 2.1 PPP and SLIP link layer header
10639291Sfenner  formats.
10739291Sfenner
10839291Sfenner- Added some new SGI snoop interface types. Thanks to Steve Alexander
10939291Sfenner  (sca@refugee.engr.sgi.com)
11039291Sfenner
11139291Sfenner- Fixes for HP-UX 10.20 (which is similar to HP-UX 9). Thanks to
11239291Sfenner  Richard Allen (ra@hp.is) and Steinar Haug (sthaug@nethelp.no)
11339291Sfenner
11439291Sfenner- Fddi supports broadcast as reported by Jeff Macdonald
11539291Sfenner  (jeff@iacnet.com). Also correct ieee802 and arcnet.
11639291Sfenner
11739291Sfenner- Determine Linux pcap buffer size at run time or else it might not be
11839291Sfenner  big enough for some interface types (e.g. FDDI). Thanks to Jes
11939291Sfenner  Sorensen (Jes.Sorensen@cern.ch)
12039291Sfenner
12139291Sfenner- Fix some linux alignment problems.
12239291Sfenner
12339291Sfenner- Document promisc argument to pcap_open_live(). Reported by Ian Marsh
12439291Sfenner  (ianm@sics.se)
12539291Sfenner
12639291Sfenner- Support Metricom radio packets under Linux. Thanks to Kevin Lai
12739291Sfenner  (laik@gunpowder.stanford.edu)
12839291Sfenner
12939291Sfenner- Bind to interface name under Linux to avoid packets from multiple
13039291Sfenner  interfaces on multi-homed hosts. Thanks to Kevin Lai
13139291Sfenner  (laik@gunpowder.stanford.edu)
13239291Sfenner
13339291Sfenner- Change L_SET to SEEK_SET for HP-UX. Thanks to Roland Roberts
13439291Sfenner  (rroberts@muller.com)
13539291Sfenner
13639291Sfenner- Fixed an uninitialized memory reference found by Kent Vander Velden
13739291Sfenner  (graphix@iastate.edu)
13839291Sfenner
13939291Sfenner- Fixed lex pattern for IDs to allow leading digits. As reported by
14039291Sfenner  Theo de Raadt (deraadt@cvs.openbsd.org)
14139291Sfenner
14239291Sfenner- Fixed Linux include file problems when using GNU libc.
14339291Sfenner
14439291Sfenner- Ifdef ARPHRD_FDDI since not all versions of the Linux kernel have it.
14539291Sfenner  Reported reported by Eric Jacksch (jacksch@tenebris.ca)
14639291Sfenner
14739291Sfenner- Fixed bug in pcap_dispatch() that kept it from returning on packet
14839291Sfenner  timeouts.
14939291Sfenner
15039291Sfenner- Changed ISLOOPBACK() macro when IFF_LOOPBACK isn't available to check
15139291Sfenner  for "lo" followed by an eos or digit (newer versions of Linux
15239291Sfenner  apparently call the loopback "lo" instead of "lo0").
15339291Sfenner
15439291Sfenner- Fixed Linux networking include files to use ints instead of longs to
15539291Sfenner  avoid problems with 64 bit longs on the alpha. Thanks to Cristian
15639291Sfenner  Gafton (gafton@redhat.com)
15739291Sfenner
15826175Sfennerv0.3 Sat Nov 30 20:56:27 PST 1996
15926175Sfenner
16026175Sfenner- Added Linux support.
16126175Sfenner
16226175Sfenner- Fixed savefile bugs.
16326175Sfenner
16426175Sfenner- Solaris x86 fix from Tim Rylance (t.rylance@elsevier.nl)
16526175Sfenner
16626175Sfenner- Add support for bpf kernel port filters.
16726175Sfenner
16826175Sfenner- Remove duplicate atalk protocol table entry. Thanks to Christian
16926175Sfenner  Hopps (chopps@water.emich.edu)
17026175Sfenner
17126175Sfenner- Fixed pcap_lookupdev() to ignore nonexistent devices. This was
17226175Sfenner  reported to happen under BSD/OS by David Vincenzetti
17326175Sfenner  (vince@cryptonet.it)
17426175Sfenner
17526175Sfenner- Avoid solaris compiler warnings. Thanks to Bruce Barnett
17626175Sfenner  (barnett@grymoire.crd.ge.com)
17726175Sfenner
17817683Spstv0.2.1 Sun Jul 14 03:02:26 PDT 1996
17917683Spst
18017683Spst- Fixes for HP-UX 10. Thanks in part to to Thomas Wolfram
18117683Spst  (wolf@prz.tu-berlin.de) and Rick Jones (raj@hpisrdq.cup.hp.com)
18217683Spst
18317683Spst- Added support for SINIX. Thanks to Andrej Borsenkow
18417683Spst  (borsenkow.msk@sni.de)
18517683Spst
18617683Spst- Fixes for AIX (although this system is not yet supported). Thanks to
18717683Spst  John Hawkinson (jhawk@mit.edu)
18817683Spst
18917683Spst- Use autoconf's idea of the top level directory in install targets.
19017683Spst  Thanks to John Hawkinson.
19117683Spst
19217683Spst- Add missing autoconf packet capture result message. Thanks to Bill
19317683Spst  Fenner (fenner@parc.xerox.com)
19417683Spst
19517683Spst- Fixed padding problems in the pf module.
19617683Spst
19717683Spst- Fixed some more alignment problems on the alpha.
19817683Spst
19917683Spst- Added explicit netmask support. Thanks to Steve Nuchia
20017683Spst  (steve@research.oknet.com)
20117683Spst
20217683Spst- Fixed to handle raw ip addresses such as 0.0.0.1 without "left
20317683Spst  justifing"
20417683Spst
20517683Spst- Add "sca" keyword (for DEC cluster services) as suggested by Terry
20617683Spst  Kennedy (terry@spcvxa.spc.edu)
20717683Spst
20817683Spst- Add "atalk" keyword as suggested by John Hawkinson.
20917683Spst
21017683Spst- Add "igrp" keyword.
21117683Spst
21217683Spst- Fixed HID definition in grammar.y to be a string, not a value.
21317683Spst
21417683Spst- Use $CC when checking gcc version. Thanks to Carl Lindberg
21517683Spst  (carl_lindberg@blacksmith.com)
21617683Spst
21717683Spst- Removed obsolete reference to pcap_immediate() from the man page.
21817683Spst  Michael Stolarchuk (mts@terminator.rs.itd.umich.edu)
21917683Spst
22017683Spst- DLT_NULL has a 4 byte family header. Thanks to Jeffrey Honig
22117683Spst  (jch@bsdi.com)
22217683Spst
22317683Spstv0.2 Sun Jun 23 02:28:42 PDT 1996
22417683Spst
22517683Spst- Add support for HP-UX. Resulted from code contributed by Tom Murray
22617683Spst  (tmurray@hpindck.cup.hp.com) and Philippe-Andri Prindeville
22717683Spst  (philipp@res.enst.fr)
22817683Spst
22917683Spst- Update INSTALL with a reminder to install include files. Thanks to
23017683Spst  Mark Andrews (mandrews@aw.sgi.com)
23117683Spst
23217683Spst- Fix bpf compiler alignment bug on the alpha.
23317683Spst
23417683Spst- Use autoconf to detect architectures that can't handle misaligned
23517683Spst  accesses.
23617683Spst
23717683Spst- Added loopback support for snoop. Resulted from report Steve
23817683Spst  Alexander (sca@engr.sgi.com)
23917683Spst
24017683Spstv0.1 Fri Apr 28 18:11:03 PDT 1995
24117683Spst
24217683Spst- Fixed compiler and optimizer bugs.  The BPF filter engine uses unsigned
24317683Spst  comparison operators, while the code generator and optimizer assumed
24417683Spst  signed semantics in several places.  Thanks to Charlie Slater
24517683Spst  (cslater@imatek.com) for pointing this out.
24617683Spst
24717683Spst- Removed FDDI ifdef's, they aren't really needed. Resulted from report
24817683Spst  by Gary Veum (veum@boa.gsfc.nasa.gov).
24917683Spst
25017683Spst- Add pcap-null.c which allows offline use of libpcap on systems that
25117683Spst  don't support live package capture. This feature resulting from a
25217683Spst  request from Jan van Oorschot (j.p.m.voorschot@et.tudelft.nl).
25317683Spst
25417683Spst- Make bpf_compile() reentrant. Fix thanks to Pascal Hennequin
25517683Spst  (Pascal.Hennequin@hugo.int-evry.fr).
25617683Spst
25717683Spst- Port to GNU autoconf.
25817683Spst
25917683Spst- Fix pcap-dlpi.c to work with isdn. Resulted from report by Flemming
26017683Spst  Johansen (fsj@csd.cri.dk).
26117683Spst
26217683Spst- Handle multi-digit interface unit numbers (aka ppa's) under dlpi.
26317683Spst  Resulted from report by Daniel Ehrlich (ehrlich@cse.psu.edu).
26417683Spst
26517683Spst- Fix pcap-dlpi.c to work in non-promiscuous mode. Resulted from report
26617683Spst  by Jeff Murphy (jcmurphy@acsu.buffalo.edu).
26717683Spst
26817683Spst- Add support for "long jumps". Thanks to Jeffrey Mogul
26917683Spst  (mogul@pa.dec.com).
27017683Spst
27117683Spst- Fix minor problems when compiling with BDEBUG as noticed by Scott
27217683Spst  Bertilson (scott@unet.umn.edu).
27317683Spst
27417683Spst- Declare sys_errlist "const char *const" to avoid problems under
27517683Spst  FreeBSD. Resulted from report by jher@eden.com.
27617683Spst
27717683Spstv0.0.6 Fri Apr 28 04:07:13 PDT 1995
27817683Spst
27917683Spst- Add missing variable declaration missing from 0.0.6
28017683Spst
28117683Spstv0.0.5 Fri Apr 28 00:22:21 PDT 1995
28217683Spst
28317683Spst- Workaround for problems when pcap_read() returns 0 due to the timeout
28417683Spst  expiring.
28517683Spst
28617683Spstv0.0.4 Thu Apr 20 20:41:48 PDT 1995
28717683Spst
28817683Spst- Change configuration to not use gcc v2 flags with gcc v1.
28917683Spst
29017683Spst- Fixed a bug in pcap_next(); if pcap_dispatch() returns 0, pcap_next()
29117683Spst  should also return 0. Thanks to Richard Stevens (rstevens@noao.edu).
29217683Spst
29317683Spst- Fixed configure to test for snoop before dlpi to avoid problems under
29417683Spst  IRIX 5. Thanks to J. Eric Townsend (jet@abulafia.genmagic.com).
29517683Spst
29617683Spst- Hack around deficiency in Ultrix's make.
29717683Spst
29817683Spst- Fix two bugs related to the Solaris pre-5.3.2 bufmod bug; handle
29917683Spst  savefiles that have more than snapshot bytes of data in them (so we
30017683Spst  can read old savefiles) and avoid writing such files.
30117683Spst
30217683Spst- Added checkioctl which is used with gcc to check that the
30317683Spst  "fixincludes" script has been run.
30417683Spst
30517683Spstv0.0.3 Tue Oct 18 18:13:46 PDT 1994
30617683Spst
30717683Spst- Fixed configure to test for snoop before dlpi to avoid problems under
30817683Spst  IRIX 5. Thanks to J. Eric Townsend (jet@abulafia.genmagic.com).
30917683Spst
31017683Spstv0.0.2 Wed Oct 12 20:56:37 PDT 1994
31117683Spst
31217683Spst- Implement timeout in the dlpi pcap_open_live(). Thanks to Richard
31317683Spst  Stevens.
31417683Spst
31517683Spst- Determine pcap link type from dlpi media type. Resulted from report
31617683Spst  by Mahesh Jethanandani (mahesh@npix.com).
31717683Spst
31817683Spstv0.0.1 Fri Jun 24 14:50:57 PDT 1994
31917683Spst
32017683Spst- Fixed bug in nit_setflags() in pcap-snit.c. The streams ioctl timeout
32117683Spst  wasn't being initialized sometimes resulting in an "NIOCSFLAGS:
32217683Spst  Invalid argument" error under OSF/1. Reported by Matt Day
32317683Spst  (mday@artisoft.com) and Danny Mitzel (dmitzel@whitney.hitc.com).
32417683Spst
32517683Spst- Turn on FDDI support by default.
32617683Spst
32717683Spstv0.0 Mon Jun 20 19:20:16 PDT 1994
32817683Spst
32917683Spst- Initial release.
33017683Spst
33117683Spst- Fixed bug with greater/less keywords, reported by Mark Andrews
33217683Spst  (mandrews@alias.com).
33317683Spst
33417683Spst- Fix bug where '|' was defined as BPF_AND instead of BPF_OR, reported
33517683Spst  by Elan Amir (elan@leeb.cs.berkeley.edu).
33617683Spst
33717683Spst- Machines with little-endian byte ordering are supported thanks to
33817683Spst  Jeff Mogul.
33917683Spst
34017683Spst- Add hack for version 2.3 savefiles which don't have caplen and len
34117683Spst  swapped thanks to Vern Paxson.
34217683Spst
34317683Spst- Added "&&" and "||" aliases for "and" and "or" thanks to Vern Paxson.
34417683Spst
34517683Spst- Added length, inbound and outbound keywords.
346