1@(#) $Header: /tcpdump/master/libpcap/CHANGES,v 1.55 2001/01/10 04:10:33 guy Exp $ (LBL) 2 3Tuesday January 9, 2001. guy@alum.mit.edu. Summary for 0.6 release 4 5 New Linux libpcap implementation, which, in 2.2 and later 6 kernels, uses PF_PACKET sockets and supports kernel packet 7 filtering (if compiled into the kernel), and supports the "any" 8 device for capturing on all interfaces. Cleans up promiscuous 9 mode better on pre-2.2 kernels, and has various other fixes 10 (handles 2.4 ARPHRD_IEEE802_TR, handles ISDN devices better, 11 doesn't show duplicate packets on loopback interface, etc.). 12 13 Fixed HP-UX libpcap implementation to correctly get the PPA for 14 an interface, to allow interfaces to be opened by interface name. 15 16 libpcap savefiles have system-independent link-layer type values 17 in the header, rather than sometimes platform-dependent DLT_ 18 values, to make it easier to exchange capture files between 19 different OSes. 20 21 Non-standard capture files produced by some Linux tcpdumps, e.g. 22 the one from Red Hat Linux 6.2 and later, can now be read. 23 24 Updated autoconf stock files. 25 26 Filter expressions can filter on VLAN IDs and various OSI 27 protocols, and work on Token Ring (with non-source-routed 28 packets). 29 30 "pcap_open_dead()" added to allow compiling filter expressions 31 to pcap code without opening a capture device or capture file. 32 33 Header files fixed to allow use in C++ programs. 34 35 Removed dependancy on native headers for packet layout. 36 Removed Linux specific headers that were shipped. 37 38 Security fixes: Strcpy replaced with strlcpy, sprintf replaced 39 with snprintf. 40 41 Fixed bug that could cause subsequent "pcap_compile()"s to fail 42 erroneously after one compile failed. 43 44 Assorted other bug fixes. 45 46 README.aix and README.linux files added to describe 47 platform-specific issues. 48 49 "getifaddrs()" rather than SIOCGIFCONF used, if available. 50 51v0.5 Sat Jun 10 11:09:15 PDT 2000 52 53itojun@iijlab.net 54- Brought in KAME IPv6/IPsec bpf compiler. 55- Fixes for NetBSD. 56- Support added for OpenBSD DLT_LOOP and BSD/OS DLT_C_HDLC (Cisco HDLC), 57 and changes to work around different BSDs having different DLT_ types 58 with the same numeric value. 59 60Assar Westerlund <assar@sics.se> 61- Building outside the source code tree fixed. 62- Changed to write out time stamps with 32-bit seconds and microseconds 63 fields, regardless of whether those fields are 32 bits or 64 bits in 64 the OS's native "struct timeval". 65- Changed "pcap_lookupdev()" to dynamically grow the buffer into which 66 the list of interfaces is read as necessary in order to hold the 67 entire list. 68 69Greg Troxel <gdt@ir.bbn.com> 70- Added a new "pcap_compile_nopcap()", which lets you compile a filter 71 expression into a BPF program without having an open live capture or 72 capture file. 73 74v0.4 Sat Jul 25 12:40:09 PDT 1998 75 76- Fix endian problem with DLT_NULL devices. From FreeBSD via Bill 77 Fenner (fenner@parc.xerox.com) 78 79- Fix alignment problem with FDDI under DLPI. This was causing core 80 dumps under Solaris. 81 82- Added configure options to disable flex and bison. Resulted from a 83 bug report by barnett@grymoire.crd.ge.com (Bruce Barnett). Also added 84 options to disable gcc and to force a particular packet capture type. 85 86- Added support for Fore ATM interfaces (qaa and fa) under IRIX. Thanks 87 to John Hawkinson (jhawk@mit.edu) 88 89- Change Linux PPP and SLIP to use DLT_RAW since the kernel does not 90 supply any "link layer" data. 91 92- Change Linux to use SIOCGIFHWADDR ioctl to determine link layer type. 93 Thanks to Thomas Sailer (sailer@ife.ee.ethz.ch) 94 95- Change IRIX PPP to use DLT_RAW since the kernel does not supply any 96 "link layer" data. 97 98- Modified to support the new BSD/OS 2.1 PPP and SLIP link layer header 99 formats. 100 101- Added some new SGI snoop interface types. Thanks to Steve Alexander 102 (sca@refugee.engr.sgi.com) 103 104- Fixes for HP-UX 10.20 (which is similar to HP-UX 9). Thanks to 105 Richard Allen (ra@hp.is) and Steinar Haug (sthaug@nethelp.no) 106 107- Fddi supports broadcast as reported by Jeff Macdonald 108 (jeff@iacnet.com). Also correct ieee802 and arcnet. 109 110- Determine Linux pcap buffer size at run time or else it might not be 111 big enough for some interface types (e.g. FDDI). Thanks to Jes 112 Sorensen (Jes.Sorensen@cern.ch) 113 114- Fix some linux alignment problems. 115 116- Document promisc argument to pcap_open_live(). Reported by Ian Marsh 117 (ianm@sics.se) 118 119- Support Metricom radio packets under Linux. Thanks to Kevin Lai 120 (laik@gunpowder.stanford.edu) 121 122- Bind to interface name under Linux to avoid packets from multiple 123 interfaces on multi-homed hosts. Thanks to Kevin Lai 124 (laik@gunpowder.stanford.edu) 125 126- Change L_SET to SEEK_SET for HP-UX. Thanks to Roland Roberts 127 (rroberts@muller.com) 128 129- Fixed an uninitialized memory reference found by Kent Vander Velden 130 (graphix@iastate.edu) 131 132- Fixed lex pattern for IDs to allow leading digits. As reported by 133 Theo de Raadt (deraadt@cvs.openbsd.org) 134 135- Fixed Linux include file problems when using GNU libc. 136 137- Ifdef ARPHRD_FDDI since not all versions of the Linux kernel have it. 138 Reported reported by Eric Jacksch (jacksch@tenebris.ca) 139 140- Fixed bug in pcap_dispatch() that kept it from returning on packet 141 timeouts. 142 143- Changed ISLOOPBACK() macro when IFF_LOOPBACK isn't available to check 144 for "lo" followed by an eos or digit (newer versions of Linux 145 apparently call the loopback "lo" instead of "lo0"). 146 147- Fixed Linux networking include files to use ints instead of longs to 148 avoid problems with 64 bit longs on the alpha. Thanks to Cristian 149 Gafton (gafton@redhat.com) 150 151v0.3 Sat Nov 30 20:56:27 PST 1996 152 153- Added Linux support. 154 155- Fixed savefile bugs. 156 157- Solaris x86 fix from Tim Rylance (t.rylance@elsevier.nl) 158 159- Add support for bpf kernel port filters. 160 161- Remove duplicate atalk protocol table entry. Thanks to Christian 162 Hopps (chopps@water.emich.edu) 163 164- Fixed pcap_lookupdev() to ignore nonexistent devices. This was 165 reported to happen under BSD/OS by David Vincenzetti 166 (vince@cryptonet.it) 167 168- Avoid solaris compiler warnings. Thanks to Bruce Barnett 169 (barnett@grymoire.crd.ge.com) 170 171v0.2.1 Sun Jul 14 03:02:26 PDT 1996 172 173- Fixes for HP-UX 10. Thanks in part to to Thomas Wolfram 174 (wolf@prz.tu-berlin.de) and Rick Jones (raj@hpisrdq.cup.hp.com) 175 176- Added support for SINIX. Thanks to Andrej Borsenkow 177 (borsenkow.msk@sni.de) 178 179- Fixes for AIX (although this system is not yet supported). Thanks to 180 John Hawkinson (jhawk@mit.edu) 181 182- Use autoconf's idea of the top level directory in install targets. 183 Thanks to John Hawkinson. 184 185- Add missing autoconf packet capture result message. Thanks to Bill 186 Fenner (fenner@parc.xerox.com) 187 188- Fixed padding problems in the pf module. 189 190- Fixed some more alignment problems on the alpha. 191 192- Added explicit netmask support. Thanks to Steve Nuchia 193 (steve@research.oknet.com) 194 195- Fixed to handle raw ip addresses such as 0.0.0.1 without "left 196 justifing" 197 198- Add "sca" keyword (for DEC cluster services) as suggested by Terry 199 Kennedy (terry@spcvxa.spc.edu) 200 201- Add "atalk" keyword as suggested by John Hawkinson. 202 203- Add "igrp" keyword. 204 205- Fixed HID definition in grammar.y to be a string, not a value. 206 207- Use $CC when checking gcc version. Thanks to Carl Lindberg 208 (carl_lindberg@blacksmith.com) 209 210- Removed obsolete reference to pcap_immediate() from the man page. 211 Michael Stolarchuk (mts@terminator.rs.itd.umich.edu) 212 213- DLT_NULL has a 4 byte family header. Thanks to Jeffrey Honig 214 (jch@bsdi.com) 215 216v0.2 Sun Jun 23 02:28:42 PDT 1996 217 218- Add support for HP-UX. Resulted from code contributed by Tom Murray 219 (tmurray@hpindck.cup.hp.com) and Philippe-Andri Prindeville 220 (philipp@res.enst.fr) 221 222- Update INSTALL with a reminder to install include files. Thanks to 223 Mark Andrews (mandrews@aw.sgi.com) 224 225- Fix bpf compiler alignment bug on the alpha. 226 227- Use autoconf to detect architectures that can't handle misaligned 228 accesses. 229 230- Added loopback support for snoop. Resulted from report Steve 231 Alexander (sca@engr.sgi.com) 232 233v0.1 Fri Apr 28 18:11:03 PDT 1995 234 235- Fixed compiler and optimizer bugs. The BPF filter engine uses unsigned 236 comparison operators, while the code generator and optimizer assumed 237 signed semantics in several places. Thanks to Charlie Slater 238 (cslater@imatek.com) for pointing this out. 239 240- Removed FDDI ifdef's, they aren't really needed. Resulted from report 241 by Gary Veum (veum@boa.gsfc.nasa.gov). 242 243- Add pcap-null.c which allows offline use of libpcap on systems that 244 don't support live package capture. This feature resulting from a 245 request from Jan van Oorschot (j.p.m.voorschot@et.tudelft.nl). 246 247- Make bpf_compile() reentrant. Fix thanks to Pascal Hennequin 248 (Pascal.Hennequin@hugo.int-evry.fr). 249 250- Port to GNU autoconf. 251 252- Fix pcap-dlpi.c to work with isdn. Resulted from report by Flemming 253 Johansen (fsj@csd.cri.dk). 254 255- Handle multi-digit interface unit numbers (aka ppa's) under dlpi. 256 Resulted from report by Daniel Ehrlich (ehrlich@cse.psu.edu). 257 258- Fix pcap-dlpi.c to work in non-promiscuous mode. Resulted from report 259 by Jeff Murphy (jcmurphy@acsu.buffalo.edu). 260 261- Add support for "long jumps". Thanks to Jeffrey Mogul 262 (mogul@pa.dec.com). 263 264- Fix minor problems when compiling with BDEBUG as noticed by Scott 265 Bertilson (scott@unet.umn.edu). 266 267- Declare sys_errlist "const char *const" to avoid problems under 268 FreeBSD. Resulted from report by jher@eden.com. 269 270v0.0.6 Fri Apr 28 04:07:13 PDT 1995 271 272- Add missing variable declaration missing from 0.0.6 273 274v0.0.5 Fri Apr 28 00:22:21 PDT 1995 275 276- Workaround for problems when pcap_read() returns 0 due to the timeout 277 expiring. 278 279v0.0.4 Thu Apr 20 20:41:48 PDT 1995 280 281- Change configuration to not use gcc v2 flags with gcc v1. 282 283- Fixed a bug in pcap_next(); if pcap_dispatch() returns 0, pcap_next() 284 should also return 0. Thanks to Richard Stevens (rstevens@noao.edu). 285 286- Fixed configure to test for snoop before dlpi to avoid problems under 287 IRIX 5. Thanks to J. Eric Townsend (jet@abulafia.genmagic.com). 288 289- Hack around deficiency in Ultrix's make. 290 291- Fix two bugs related to the Solaris pre-5.3.2 bufmod bug; handle 292 savefiles that have more than snapshot bytes of data in them (so we 293 can read old savefiles) and avoid writing such files. 294 295- Added checkioctl which is used with gcc to check that the 296 "fixincludes" script has been run. 297 298v0.0.3 Tue Oct 18 18:13:46 PDT 1994 299 300- Fixed configure to test for snoop before dlpi to avoid problems under 301 IRIX 5. Thanks to J. Eric Townsend (jet@abulafia.genmagic.com). 302 303v0.0.2 Wed Oct 12 20:56:37 PDT 1994 304 305- Implement timeout in the dlpi pcap_open_live(). Thanks to Richard 306 Stevens. 307 308- Determine pcap link type from dlpi media type. Resulted from report 309 by Mahesh Jethanandani (mahesh@npix.com). 310 311v0.0.1 Fri Jun 24 14:50:57 PDT 1994 312 313- Fixed bug in nit_setflags() in pcap-snit.c. The streams ioctl timeout 314 wasn't being initialized sometimes resulting in an "NIOCSFLAGS: 315 Invalid argument" error under OSF/1. Reported by Matt Day 316 (mday@artisoft.com) and Danny Mitzel (dmitzel@whitney.hitc.com). 317 318- Turn on FDDI support by default. 319 320v0.0 Mon Jun 20 19:20:16 PDT 1994 321 322- Initial release. 323 324- Fixed bug with greater/less keywords, reported by Mark Andrews 325 (mandrews@alias.com). 326 327- Fix bug where '|' was defined as BPF_AND instead of BPF_OR, reported 328 by Elan Amir (elan@leeb.cs.berkeley.edu). 329 330- Machines with little-endian byte ordering are supported thanks to 331 Jeff Mogul. 332 333- Add hack for version 2.3 savefiles which don't have caplen and len 334 swapped thanks to Vern Paxson. 335 336- Added "&&" and "||" aliases for "and" and "or" thanks to Vern Paxson. 337 338- Added length, inbound and outbound keywords. 339