Upgrade to tcpdump-4.0.0.
[dragonfly.git] / contrib / tcpdump / CHANGES
1 $Header: /tcpdump/master/tcpdump/CHANGES,v 1.98.2.2 2008-10-15 23:26:30 ken Exp $
2
3 Mon.    October 27, 2008.  ken@netfunctional.ca.  Summary for 4.0.0 tcpdump release
4         Add support for Bluetooth Sniffing
5         Add support for Realtek Remote Control Protocol (openrrcp.org.ru)
6         Add support for 802.11 AVS
7         Add support for SMB over TCP
8         Add support for 4 byte BGP AS printing
9         Add support for compiling on case-insensitive file systems
10         Add support for ikev2 printing
11         Update support for decoding AFS
12         Update DHCPv6 printer
13         Use newer libpcap API's (allows -B option on all platforms)
14         Add -I to turn on monitor mode
15         Bugfixes in lldp, lspping, dccp, ESP, NFS printers
16         Cleanup unused files and various cruft
17
18 Mon.    September 10, 2007.  ken@xelerance.com.  Summary for 3.9.8 tcpdump release
19         Rework ARP printer
20         Rework OSPFv3 printer
21         Add support for Frame-Relay ARP
22         Decode DHCP Option 121 (RFC 3442 Classless Static Route)
23         Decode DHCP Option 249 (MS Classless Static Route) the same as Option 121
24         TLV: Add support for Juniper .pcap extensions
25         Print EGP header in new-world-order style
26         Converted print-isakmp.c to NETDISSECT
27         Moved AF specific stuff into af.h
28         Test subsystem now table driven, and saves outputs and diffs to one place
29         Require <net/pfvar.h> for pf definitions - allows reading of pflog formatted 
30          libpcap files on an OS other than where the file was generated
31
32
33 Wed.    July 23, 2007.  mcr@xelerance.com.  Summary for 3.9.7 libpcap release
34
35         NFS: Print unsigned values as such. 
36         RX: parse safely.
37         BGP: fixes for IPv6-less builds.
38         801.1ag: use standard codepoint.
39         use /dev/bpf on systems with such a device.
40         802.11: print QoS data, avoid dissect of no-data frame, ignore padding.
41         smb: make sure that we haven't gone past the end of the captured data.
42         smb: squelch an uninitialized complaint from coverity.
43         NFS: from NetBSD; don't interpret the reply as a possible NFS reply
44                 if it got MSG_DENIED.
45         BGP: don't print TLV values that didn't fit, from www.digit-labs.org. 
46         revised INSTALL.txt about libpcap dependancy.
47
48 Wed.    April 25, 2007. ken@xelerance.com.  Summary for 3.9.6 tcpdump release
49         Update man page to reflect changes to libpcap
50         Changes to both TCP and IP Printer Output
51         Fix a potential buffer overflow in the 802.11 printer
52         Print basic info about a few more Cisco LAN protocols.
53         mDNS cleanup
54         ICMP MPLS rework of the extension code
55         bugfix: use the correct codepoint for the OSPF simple text auth token
56          entry, and use safeputs to print the password.
57         Add support in pflog for additional values
58         Add support for OIF RSVP Extensions UNI 1.0 Rev. 2 and additional RSVP objects
59         Add support for the Message-id NACK c-type.
60         Add support for 802.3ah loopback ctrl msg
61         Add support for Multiple-STP as per 802.1s
62         Add support for rapid-SPT as per 802.1w
63         Add support for CFM Link-trace msg, Link-trace-Reply msg, 
64          Sender-ID tlv, private tlv, port, interface status
65         Add support for unidirectional link detection as per
66          http://www.ietf.org/internet-drafts/draft-foschiano-udld-02.txt
67         Add support for the olsr protocol as per RFC 3626 plus the LQ 
68          extensions from olsr.org
69         Add support for variable-length checksum in DCCP, as per section 9 of
70          RFC 4340.
71         Add support for per-VLAN spanning tree and per-VLAN rapid spanning tree
72         Add support for Multiple-STP as per 802.1s
73         Add support for the cisco propriatry 'dynamic trunking protocol'
74         Add support for the cisco proprietary VTP protocol
75         Update dhcp6 options table as per IETF standardization activities
76
77
78 Tue.    September 19, 2006. ken@xelerance.com. Summary for 3.9.5 tcpdump release
79         
80         Fix compiling on AIX (, at end of ENUM)
81         Updated list of DNS RR typecodes
82         Use local Ethernet defs on WIN32
83         Add support for Frame-Relay ARP
84         Fixes for compiling under MSVC++
85         Add support for parsing Juniper .pcap files
86         Add support for FRF.16 Multilink Frame-Relay (DLT_MFR)
87         Rework the OSPFv3 printer
88         Fix printing for 4.4BSD/NetBSD NFS Filehandles
89         Add support for Cisco style NLPID encapsulation
90         Add cisco prop. eigrp related, extended communities
91         Add support for BGP signaled VPLS
92         Cleanup the bootp printer
93         Add support for PPP over Frame-Relay
94         Add some bounds checking to the IP options code, and clean up 
95          the options output a bit.
96         Add additional modp groups to ISAKMP printer
97         Add support for Address-Withdraw and Label-Withdraw Msgs
98         Add support for the BFD Discriminator TLV
99         Fixes for 64bit compiling
100         Add support for PIMv2 checksum verification
101         Add support for further dissection of the IPCP Compression Option
102         Add support for Cisco's proposed VQP protocol
103         Add basic support for keyed authentication TCP option
104         Lots of minor cosmetic changes to output printers
105
106
107 Mon.    September 19, 2005.  ken@xelerance.com. Summary for 3.9.4 tcpdump release
108         Decoder support for more Juniper link-layer types
109         Fix a potential buffer overflow (although it can't occur in
110                 practice).
111         Fix the handling of unknown management frame types in the 802.11
112                 printer.
113         Add FRF.16 support, fix various Frame Relay bugs.
114         Add support for RSVP integrity objects, update fast-reroute
115                 object printer to latest spec.
116         Clean up documentation of vlan filter expression, document mpls
117                 filter expression.
118         Document new pppoed and pppoes filter expressions.
119         Update diffserver-TE codepoints as per RFC 4124.
120         Spelling fixes in ICMPv6.
121         Don't require any fields other than flags to be present in IS-IS
122                 restart signaling TLVs, and only print the system ID in
123                 those TLVs as system IDs, not as node IDs.
124         Support for DCCP.
125
126 Tue.    July 5, 2005.  ken@xelerance.com. Summary for 3.9.3 tcpdump release
127
128         Option to chroot() when dropping privs
129         Fixes for compiling on nearly every platform,
130                 including improved 64bit support
131         Many new testcases
132         Support for sending packets
133         Many compliation fixes on most platforms
134         Fixes for recent version of GCC to eliminate warnings
135         Improved Unicode support
136
137         Decoders & DLT Changes, Updates and New:
138                 AES ESP support
139                 Juniper ATM, FRF.15, FRF.16, PPPoE,
140                         ML-FR, ML-PIC, ML-PPP, PL-PPP, LS-PIC
141                         GGSN,ES,MONITOR,SERVICES
142                 L2VPN
143                 Axent Raptor/Symantec Firewall
144                 TCP-MD5 (RFC 2385)
145                 ESP-in-UDP (RFC 3948)
146                 ATM OAM
147                 LMP, LMP Service Discovery
148                 IP over FC
149                 IP over IEEE 1394
150                 BACnet MS/TP
151                 SS7
152                 LDP over TCP
153                 LACP, MARKER as per 802.3ad
154                 PGM (RFC 3208)
155                 LSP-PING
156                 G.7041/Y.1303 Generic Framing Procedure
157                 EIGRP-IP, EIGRP-IPX
158                 ICMP6
159                 Radio - via radiotap
160                 DHCPv6
161                 HDLC over PPP
162
163 Tue.   March 30, 2004. mcr@sandelman.ottawa.on.ca. Summary for 3.8.3 release
164
165         No changes from 3.8.2. Version bumped only to maintain consistency
166         with libpcap 0.8.3.
167
168 Mon.   March 29, 2004. mcr@sandelman.ottawa.on.ca. Summary for 3.8.2 release
169
170         Fixes for print-isakmp.c      CVE:    CAN-2004-0183, CAN-2004-0184
171                              http://www.rapid7.com/advisories/R7-0017.html
172         IP-over-IEEE1394 printing.
173         some MINGW32 changes.
174         updates for autoconf 2.5
175         fixes for print-aodv.c - check for too short packets
176         formatting changes to print-ascii for hex output.
177         check for too short packets: print-bgp.c, print-bootp.c, print-cdp.c,
178                 print-chdlc.c, print-domain.c, print-icmp.c, print-icmp6.c,
179                 print-ip.c, print-lwres.c, print-ospf.c, print-pim.c,
180                 print-ppp.c,print-pppoe.c, print-rsvp.c, print-wb.c
181         print-ether.c - better handling of unknown types.
182         print-isoclns.c - additional decoding of types.
183         print-llc.c - strings for LLC names added.
184         print-pfloc.c - various enhancements
185         print-radius.c - better decoding to strings.
186
187 Wed.   November 12, 2003. mcr@sandelman.ottawa.on.ca. Summary for 3.8 release
188
189         changed syntax of -E argument so that multiple SAs can be decrypted
190         fixes for Digital Unix headers and Documentation
191         __attribute__ fixes
192         CDP changes from Terry Kennedy <terry@tmk.com>.
193         IPv6 mobility updates from Kazushi Sugyo <sugyo@pb.jp.nec.com>
194         Fixes for ASN.1 decoder for 2.100.3 forms.
195         Added a count of packets received and processed to clarify numbers.
196         Incorporated WinDUMP patches for Win32 builds.
197         PPPoE payload length headers.
198         Fixes for HP C compiler builds.
199         Use new pcap_breakloop() and pcap_findalldevs() if we can.
200         BGP output split into multiple lines.
201         Fixes to 802.11 decoding.
202         Fixes to PIM decoder.
203         SuperH is a CPU that can't handle unaligned access. Many fixes for
204                 unaligned access work.
205         Fixes to Frame-Relay decoder for Q.933/922 frames.
206         Clarified when Solaris can do captures as non-root.
207         Added tests/ subdir for examples/regression tests.
208         New -U flag.    -flush stdout after every packet
209         New -A flag     -print ascii only
210         support for decoding IS-IS inside Cisco HDLC Frames
211         more verbosity for tftp decoder
212         mDNS decoder
213         new BFD decoder
214         cross compilation patches
215         RFC 3561 AODV support.
216         UDP/TCP pseudo-checksum properly for source-route options.
217         sanitized all files to modified BSD license
218         Add support for RFC 2625 IP-over-Fibre Channel.
219         fixes for DECnet support.
220         Support RFC 2684 bridging of Ethernet, 802.5 Token Ring, and FDDI.
221         RFC 2684 encapsulation of BPDUs.
222
223 Tuesday, February 25, 2003. fenner@research.att.com.  3.7.2 release
224
225         Fixed infinite loop when parsing malformed isakmp packets.
226          (reported by iDefense; already fixed in CVS)
227         Fixed infinite loop when parsing malformed BGP packets.
228         Fixed buffer overflow with certain malformed NFS packets.
229         Pretty-print unprintable network names in 802.11 printer.
230         Handle truncated nbp (appletalk) packets.
231         Updated DHCPv6 printer to match draft-ietf-dhc-dhcpv6-22.txt
232         Print IP protocol name even if we don't have a printer for it.
233         Print IP protocol name or number for fragments.
234         Print the whole MPLS label stack, not just the top label.
235         Print request header and file handle for NFS v3 FSINFO and PATHCONF
236          requests.
237         Fix NFS packet truncation checks.
238         Handle "old" DR-Priority and Bidir-Capable PIM HELLO options.
239         Handle unknown RADIUS attributes properly.
240         Fix an ASN.1 parsing error that would cause e.g. the OID
241          2.100.3 to be misrepresented as 4.20.3 .
242
243 Monday, January 21, 2002. mcr@sandelman.ottawa.on.ca. Summary for 3.7 release
244 see http://www.tcpdump.org/cvs-log/2002-01-21.10:16:48.html for commit log.
245         keyword "ipx" added.
246         Better OSI/802.2 support on Linux.
247         IEEE 802.11 support, from clenahan@fortresstech.com, achirica@ttd.net.
248         LLC SAP support for FDDI/token ring/RFC-1483 style ATM
249         BXXP protocol was replaced by the BEEP protocol;
250         improvements to SNAP demux.
251         Changes to "any" interface documentation.
252         Documentation on pcap_stats() counters.
253         Fix a memory leak found by Miklos Szeredi - pcap_ether_aton().
254         Added MPLS encapsulation decoding per RFC3032.
255         DNS dissector handles TKEY, TSIG and IXFR.
256         adaptive SLIP interface patch from Igor Khristophorov <igor@atdot.org>
257         SMB printing has much improved bounds checks
258         OUI 0x0000f8 decoded as encapsulated ethernet for Cisco-custom bridging
259         Zephyr support, from Nickolai Zeldovich <kolya@MIT.EDU>.
260         Solaris - devices with digits in them. Stefan Hudson <hudson@mbay.net>
261         IPX socket 0x85be is for Cisco EIGRP over IPX.
262         Improvements to fragmented ESP handling.
263         SCTP support from Armando L. Caro Jr. <acaro@mail.eecis.udel.edu>
264         Linux ARPHDR_ATM support fixed.
265         Added a "netbeui" keyword, which selects NetBEUI packets.
266         IPv6 ND improvements, MobileIP dissector, 2292bis-02 for RA option.
267         Handle ARPHDR_HDLC from Marcus Felipe Pereira <marcus@task.com.br>.
268         Handle IPX socket 0x553 -> NetBIOS-over-IPX socket, "nwlink-dgm"
269         Better Linux libc5 compat.
270         BIND9 lwres dissector added.
271         MIPS and SPARC get strict alignment macros (affects print-bgp.c)
272         Apple LocalTalk LINKTYPE_ reserved.
273         New time stamp formats documented.
274         DHCP6 updated to draft-22.txt spec.
275         ICMP types/codes now accept symbolic names.
276         Add SIGINFO handler from LBL
277         encrypted CIPE tunnels in IRIX, from Franz Schaefer <schaefer@mond.at>.
278         now we are -Wstrict-prototype clean.
279         NetBSD DLT_PPP_ETHER; adapted from Martin Husemann <martin@netbsd.org>.
280         PPPoE dissector cleaned up.
281         Support for LocalTalk hardware, from Uns Lider <unslider@miranda.org>.
282         In dissector, now the caller prints the IP addresses rather than proto.
283         cjclark@alum.mit.edu: print the IP proto for non-initial fragments.
284         LLC frames with a DSAP and LSAP of 0xe0 are IPX frames.
285         Linux cooked frames with a type value of LINUX_SLL_P_802_3 are IPX.
286         captures on the "any" device won't be done in promiscuous mode
287         Token Ring support on DLPI - Onno van der Linden <onno@simplex.nl>
288         ARCNet support, from NetBSD.
289         HSRP dissector, from Julian Cowley <julian@lava.net>.
290         Handle (GRE-encapsulated) PPTP
291         added -C option to rotate save file every optarg * 1,000,000 bytes.
292         support for "vrrp" name - NetBSD, by Klaus Klein <kleink@netbsd.org>.
293         PPTP support, from Motonori Shindo <mshindo@mshindo.net>.
294         IS-IS over PPP support, from Hannes Gredler <hannes@juniper.net>.
295         CNFP support for IPv6,format. Harry Raaymakers <harryr@connect.com.au>.
296         ESP printing updated to RFC2406.
297         HP-UX can now handle large number of PPAs.
298         MSDP printer added.
299         L2TP dissector improvements from Motonori Shindo.
300
301 Tuesday January 9, 2001. mcr@sandelman.ottawa.on.ca. Summary for 3.6 release
302         Cleaned up documentation.
303         Promisc mode fixes for Linux
304         IPsec changes/cleanups.
305         Alignment fixes for picky architectures
306
307         Removed dependency on native headers for packet dissectors.
308         Removed Linux specific headers that were shipped
309
310         libpcap changes provide for exchanging capture files between
311           systems. Save files now have well known PACKET_ values instead of
312           depending upon system dependant mappings of DLT_* types.
313
314         Support for computing/checking IP and UDP/TCP checksums.
315
316         Updated autoconf stock files.
317
318         IPv6 improvements: dhcp (draft-15), mobile-ip6, ppp, ospf6,
319
320         Added dissector support for: ISOCLNS, Token Ring, IGMPv3, bxxp,
321                 timed, vrrp, radius, chdlc, cnfp, cdp, IEEE802.1d, raw-AppleTalk
322
323         Added filtering support for: VLANs, ESIS, ISIS
324
325         Improvements to: print-telnet, IPTalk, bootp/dhcp, ECN, PPP,
326                 L2TP, PPPoE
327
328         HP-UX 11.0 -- find the right dlpi device.
329         Solaris 8 - IPv6 works
330         Linux - Added support for an "any" device to capture on all interfaces
331
332         Security fixes: buffer overrun audit done. Strcpy replaced with
333                 strlcpy, sprintf replaced with snprintf.
334         Look for lex problems, and warn about them.
335
336
337 v3.5 Fri Jan 28 18:00:00 PST 2000
338
339 Bill Fenner <fenner@research.att.com>
340 - switch to config.h for autoconf
341 - unify RCSID strings
342 - Updated PIMv1, PIMv2, DVMRP, IGMP parsers, add Cisco Auto-RP parser
343 - Really fix the RIP printer
344 - Fix MAC address -> name translation.
345 - some -Wall -Wformat fixes
346 - update makemib to parse much of SMIv2
347 - Print TCP sequence # with -vv even if you normally wouldn't
348 - Print as much of IP/TCP/UDP headers as possible even if truncated.
349
350 itojun@iijlab.net
351 - -X will make a ascii dump.  from netbsd.
352 - telnet command sequence decoder (ff xx xx).  from netbsd.
353 - print-bgp.c: improve options printing.  ugly code exists for
354   unaligned option parsing (need some fix).
355 - const poisoning in SMB decoder.
356 - -Wall -Werror clean checks.
357 - bring in KAME IPv6/IPsec decoding code.
358
359 Assar Westerlund  <assar@sics.se>
360 - SNMPv2 and SNMPv3 printer
361 - If compiled with libsmi, tcpdump can load MIBs on the fly to decode
362   SNMP packets.
363 - Incorporate NFS parsing code from NetBSD.  Adds support for nfsv3.
364 - portability fixes
365 - permit building in different directories.
366
367 Ken Hornstein <kenh@cmf.nrl.navy.mil>
368 - bring in code at
369   /afs/transarc.com/public/afs-contrib/tools/tcpdump for parsing
370   AFS3 packets
371
372 Andrew Tridgell <tridge@linuxcare.com>
373 - SMB printing code
374
375 Love <lha@stacken.kth.se>
376 - print-rx.c: add code for printing MakeDir and StoreStatus.  Also
377   change date format to the right one.
378
379 Michael C. Richardson  <mcr@sandelman.ottawa.on.ca>
380 - Created tcpdump.org repository
381
382 v3.4 Sat Jul 25 12:40:55 PDT 1998
383
384 - Hardwire Linux slip support since it's too hard to detect.
385
386 - Redo configuration of "network" libraries (-lsocket and -lnsl) to
387   deal with IRIX. Thanks to John Hawkinson (jhawk@mit.edu)
388
389 - Added -a which tries to translate network and broadcast addresses to
390   names. Suggested by Rob van Nieuwkerk (robn@verdi.et.tudelft.nl)
391
392 - Added a configure option to disable gcc.
393
394 - Added a "raw" packet printer.
395
396 - Not having an interface address is no longer fatal. Requested by John
397   Hawkinson.
398
399 - Rework signal setup to accommodate Linux.
400
401 - OSPF truncation check fix. Also display the type of OSPF packets
402   using MD5 authentication. Thanks to Brian Wellington
403   (bwelling@tis.com)
404
405 - Fix truncation check bugs in the Kerberos printer. Reported by Ezra
406   Peisach (epeisach@mit.edu)
407
408 - Don't catch SIGHUP when invoked with nohup(1). Thanks to Dave Plonka
409   (plonka@mfa.com)
410
411 - Specify full install target as a way of detecting if install
412   directory does not exist. Thanks to Dave Plonka.
413
414 - Bit-swap FDDI addresses for BSD/OS too. Thanks to Paul Vixie
415   (paul@vix.com)
416
417 - Fix off-by-one bug when testing size of ethernet packets. Thanks to
418   Marty Leisner (leisner@sdsp.mc.xerox.com)
419
420 - Add a local autoconf macro to check for routines in libraries; the
421   autoconf version is broken (it only puts the library name in the
422   cache variable name). Thanks to John Hawkinson.
423
424 - Add a local autoconf macro to check for types; the autoconf version
425   is broken (it uses grep instead of actually compiling a code fragment).
426
427 - Modified to support the new BSD/OS 2.1 PPP and SLIP link layer header
428   formats.
429
430 - Extend OSF ip header workaround to versions 1 and 2.
431
432 - Fix some signed problems in the nfs printer. As reported by David
433   Sacerdote (davids@silence.secnet.com)
434
435 - Detect group wheel and use it as the default since BSD/OS' install
436   can't hack numeric groups. Reported by David Sacerdote.
437
438 - AIX needs special loader options. Thanks to Jonathan I. Kamens
439   (jik@cam.ov.com)
440
441 - Fixed the nfs printer to print port numbers in decimal. Thanks to
442   Kent Vander Velden (graphix@iastate.edu)
443
444 - Find installed libpcap in /usr/local/lib when not using gcc.
445
446 - Disallow network masks with non-network bits set.
447
448 - Attempt to detect "egcs" versions of gcc.
449
450 - Add missing closing double quotes when displaying bootp strings.
451   Reported by Viet-Trung Luu (vluu@picard.math.uwaterloo.ca)
452
453 v3.3 Sat Nov 30 20:56:27 PST 1996
454
455 - Added Linux support.
456
457 - GRE encapsulated packet printer thanks to John Hawkinson
458   (jhawk@mit.edu)
459
460 - Rewrite gmt2local() to avoid problematic os dependencies.
461
462 - Suppress nfs truncation message on errors.
463
464 - Add missing m4 quoting in AC_LBL_UNALIGNED_ACCESS autoconf macro.
465   Reported by Joachim Ott (ott@ardala.han.de)
466
467 - Enable "ip_hl vs. ip_vhl" workaround for OSF4 too.
468
469 - Print arp hardware type in host order. Thanks to Onno van der Linden
470   (onno@simplex.nl)
471
472 - Avoid solaris compiler warnings. Thanks to Bruce Barnett
473   (barnett@grymoire.crd.ge.com)
474
475 - Fix rip printer to not print one more route than is actually in the
476   packet. Thanks to Jean-Luc Richier (Jean-Luc.Richier@imag.fr) and
477   Bill Fenner (fenner@parc.xerox.com)
478
479 - Use autoconf endian detection since BYTE_ORDER isn't defined on all systems.
480
481 - Fix dvmrp printer truncation checks and add a dvmrp probe printer.
482   Thanks to Danny J. Mitzel (mitzel@ipsilon.com)
483
484 - Rewrite ospf printer to improve truncation checks.
485
486 - Don't parse tcp options past the EOL. As noted by David Sacerdote
487   (davids@secnet.com). Also, check tcp options to make sure they ar
488   actually in the tcp header (in addition to the normal truncation
489   checks). Fix the SACK code to print the N blocks (instead of the
490   first block N times).
491
492 - Don't say really small UDP packets are truncated just because they
493   aren't big enough to be a RPC. As noted by David Sacerdote.
494
495 v3.2.1 Sun Jul 14 03:02:26 PDT 1996
496
497 - Added rfc1716 icmp codes as suggested by Martin Fredriksson
498   (martin@msp.se)
499
500 - Print mtu for icmp unreach need frag packets. Thanks to John
501   Hawkinson (jhawk@mit.edu)
502
503 - Decode icmp router discovery messages. Thanks to Jeffrey Honig
504   (jch@bsdi.com)
505
506 - Added a printer entry for DLT_IEEE802 as suggested by Tak Kushida
507   (kushida@trl.ibm.co.jp)
508
509 - Check igmp checksum if possible. Thanks to John Hawkinson.
510
511 - Made changes for SINIX. Thanks to Andrej Borsenkow
512   (borsenkow.msk@sni.de)
513
514 - Use autoconf's idea of the top level directory in install targets.
515   Thanks to John Hawkinson.
516
517 - Avoid infinite loop in tcp options printing code. Thanks to Jeffrey
518   Mogul (mogul@pa.dec.com)
519
520 - Avoid using -lsocket in IRIX 5.2 and earlier since it breaks snoop.
521   Thanks to John Hawkinson.
522
523 - Added some more packet truncation checks.
524
525 - On systems that have it, use sigset() instead of signal() since
526   signal() has different semantics on these systems.
527
528 - Fixed some more alignment problems on the alpha.
529
530 - Add code to massage unprintable characters in the domain and ipx
531   printers. Thanks to John Hawkinson.
532
533 - Added explicit netmask support. Thanks to Steve Nuchia
534   (steve@research.oknet.com)
535
536 - Add "sca" keyword (for DEC cluster services) as suggested by Terry
537   Kennedy (terry@spcvxa.spc.edu)
538
539 - Add "atalk" keyword as suggested by John Hawkinson.
540
541 - Added an igrp printer. Thanks to Francis Dupont
542   (francis.dupont@inria.fr)
543
544 - Print IPX net numbers in hex a la Novell Netware. Thanks to Terry
545   Kennedy (terry@spcvxa.spc.edu)
546
547 - Fixed snmp extended tag field parsing bug. Thanks to Pascal Hennequin
548   (pascal.hennequin@hugo.int-evry.fr)
549
550 - Added some ETHERTYPEs missing on some systems.
551
552 - Added truncated packet macros and various checks.
553
554 - Fixed endian problems with the DECnet printer.
555
556 - Use $CC when checking gcc version. Thanks to Carl Lindberg
557   (carl_lindberg@blacksmith.com)
558
559 - Fixes for AIX (although this system is not yet supported). Thanks to
560   John Hawkinson.
561
562 - Fix bugs in the autoconf misaligned accesses code fragment.
563
564 - Include sys/param.h to get BYTE_ORDER in a few places. Thanks to
565   Pavlin Ivanov Radoslavov (pavlin@cs.titech.ac.jp)
566
567 v3.2 Sun Jun 23 02:28:10 PDT 1996
568
569 - Print new icmp unreachable codes as suggested by Martin Fredriksson
570   (martin@msp.se). Also print code value when unknown for icmp redirect
571   and time exceeded.
572
573 - Fix an alignment endian bug in getname(). Thanks to John Hawkinson.
574
575 - Define "new" domain record types if not found in arpa/nameserv.h.
576   Resulted from a suggestion from John Hawkinson (jhawk@mit.edu). Also
577   fixed an endian bug when printing mx record and added some new record
578   types.
579
580 - Added RIP V2 support. Thanks to Jeffrey Honig (jch@bsdi.com)
581
582 - Added T/TCP options printing. As suggested by Richard Stevens
583   (rstevens@noao.edu)
584
585 - Use autoconf to detect architectures that can't handle misaligned
586   accesses.
587
588 v3.1 Thu Jun 13 20:59:32 PDT 1996
589
590 - Changed u_int32/int32 to u_int32_t/int32_t to be consistent with bsd
591   and bind (as suggested by Charles Hannum).
592
593 - Port to GNU autoconf.
594
595 - Add support for printing DVMRP and PIM traffic thanks to
596   Havard Eidnes (Havard.Eidnes@runit.sintef.no).
597
598 - Fix AppleTalk, IPX and DECnet byte order problems due to wrong endian
599   define being referenced. Reported by Terry Kennedy.
600
601 - Minor fixes to the man page thanks to Mark Andrews.
602
603 - Endian fixes to RTP and vat packet dumpers, thanks to Bruce Mah
604   (bmah@cs.berkeley.edu).
605
606 - Added support for new dns types, thanks to Rainer Orth.
607
608 - Fixed tftp_print() to print the block number for ACKs.
609
610 - Document -dd and -ddd. Resulted from a bug report from Charlie Slater
611   (cslater@imatek.com).
612
613 - Check return status from malloc/calloc/etc.
614
615 - Check return status from pcap_loop() so we can print an error and
616   exit with a bad status if there were problems.
617
618 - Bail if ip option length is <= 0. Resulted from a bug report from
619   Darren Reed (darrenr@vitruvius.arbld.unimelb.edu.au).
620
621 - Print out a little more information for sun rpc packets.
622
623 - Add suport for Kerberos 4 thanks to John Hawkinson (jhawk@mit.edu).
624
625 - Fixed the Fix EXTRACT_SHORT() and EXTRACT_LONG() macros (which were
626   wrong on little endian machines).
627
628 - Fixed alignment bug in ipx_decode(). Thanks to Matt Crawford
629   (crawdad@fnal.gov).
630
631 - Fix ntp_print() to not print garbage when the stratum is
632   "unspecified." Thanks to Deus Ex Machina (root@belle.bork.com).
633
634 - Rewrote tcp options printer code to check for truncation. Added
635   selective acknowledgment case.
636
637 - Fixed an endian bug in the ospf printer. Thanks to Jeffrey C Honig
638   (jch@bsdi.com)
639
640 - Fix rip printer to handle 4.4 BSD sockaddr struct which only uses one
641   octet for the sa_family member. Thanks to Yoshitaka Tokugawa
642   (toku@dit.co.jp)
643
644 - Don't checksum ip header if we don't have all of it. Thanks to John
645   Hawkinson (jhawk@mit.edu).
646
647 - Print out hostnames if possible in egp printer. Thanks to Jeffrey
648   Honig (jhc@bsdi.com)
649
650
651 v3.1a1 Wed May  3 19:21:11 PDT 1995
652
653 - Include time.h when SVR4 is defined to avoid problems under Solaris
654   2.3.
655
656 - Fix etheraddr_string() in the ETHER_SERVICE to return the saved
657   strings, not the local buffer. Thanks to Stefan Petri
658   (petri@ibr.cs.tu-bs.de).
659
660 - Detect when pcap raises the snaplen (e.g. with snit). Print a warning
661   that the selected value was not used. Thanks to Pascal Hennequin
662   (Pascal.Hennequin@hugo.int-evry.fr).
663
664 - Add a truncated packet test to print-nfs.c. Thanks to Pascal Hennequin.
665
666 - BYTEORDER -> BYTE_ORDER Thanks to Terry Kennedy (terry@spcvxa.spc.edu).
667
668 v3.0.3 Sun Oct  1 18:35:00 GMT 1995
669
670 - Although there never was a 3.0.3 release, the linux boys cleverly
671   "released" one in late 1995.
672
673 v3.0.2 Thu Apr 20 21:28:16 PDT 1995
674
675 - Change configuration to not use gcc v2 flags with gcc v1.
676
677 - Redo gmt2local() so that it works under BSDI (which seems to return
678   an empty timezone struct from gettimeofday()). Based on report from
679   Terry Kennedy (terry@spcvxa.spc.edu).
680
681 - Change configure to recognize IP[0-9]* as "mips" SGI hardware. Based
682   on report from Mark Andrews (mandrews@alias.com).
683
684 - Don't pass cc flags to gcc. Resulted from a bug report from Rainer
685   Orth (ro@techfak.uni-bielefeld.de).
686
687 - Fixed printout of connection id for uncompressed tcp slip packets.
688   Resulted from a bug report from Richard Stevens (rstevens@noao.edu).
689
690 - Hack around deficiency in Ultrix's make.
691
692 - Add ETHERTYPE_TRAIL define which is missing from irix5.
693
694 v3.0.1 Wed Aug 31 22:42:26 PDT 1994
695
696 - Fix problems with gcc2 vs. malloc() and read() prototypes under SunOS 4.
697
698 v3.0 Mon Jun 20 19:23:27 PDT 1994
699
700 - Added support for printing tcp option timestamps thanks to
701   Mark Andrews (mandrews@alias.com).
702
703 - Reorganize protocol dumpers to take const pointers to packets so they
704   never change the contents (i.e., they used to do endian conversions
705   in place).  Previously, whenever more than one pass was taken over
706   the packet, the packet contents would be dumped incorrectly (i.e.,
707   the output form -x would be wrong on little endian machines because
708   the protocol dumpers would modify the data).  Thanks to Charles Hannum
709   (mycroft@gnu.ai.mit.edu) for reporting this problem.
710
711 - Added support for decnet protocol dumping thanks to Jeff Mogul
712   (mogul@pa.dec.com).
713
714 - Fix bug that caused length of packet to be incorrectly printed
715   (off by ether header size) for unknown ethernet types thanks
716   to Greg Miller (gmiller@kayak.mitre.org).
717
718 - Added support for IPX protocol dumping thanks to Brad Parker
719   (brad@fcr.com).
720
721 - Added check to verify IP header checksum under -v thanks to
722   Brad Parker (brad@fcr.com).
723
724 - Move packet capture code to new libpcap library (which is
725   packaged separately).
726
727 - Prototype everything and assume an ansi compiler.
728
729 - print-arp.c: Print hardware ethernet addresses if they're not
730   what we expect.
731
732 - print-bootp.c: Decode the cmu vendor field. Add RFC1497 tags.
733   Many helpful suggestions from Gordon Ross (gwr@jericho.mc.com).
734
735 - print-fddi.c: Improvements. Thanks to Jeffrey Mogul
736   (mogul@pa.dec.com).
737
738 - print-icmp.c: Byte swap netmask before printing. Thanks to
739   Richard Stevens (rstevens@noao.edu). Print icmp type when unknown.
740
741 - print-ip.c: Print the inner ip datagram of ip-in-ip encapsulated packets.
742   By default, only the inner packet is dumped, appended with the token
743   "(encap)".  Under -v, both the inner and output packets are dumped
744   (on the same line).  Note that the filter applies to the original packet,
745   not the encapsulated packet.  So if you run tcpdump on a net with an
746   IP Multicast tunnel, you cannot filter out the datagrams using the
747   conventional syntax.  (You can filter away all the ip-in-ip traffic
748   with "not ip proto 4".)
749
750 - print-nfs.c: Keep pending rpc's in circular table. Add generic
751   nfs header and remove os dependences. Thanks to Jeffrey Mogul.
752
753 - print-ospf.c: Improvements. Thanks to Jeffrey Mogul.
754
755 - tcpdump.c: Add -T flag allows interpretation of "vat", "wb", "rpc"
756   (sunrpc) and rtp packets. Added "inbound" and "outbound" keywords
757   Add && and || operators
758
759 v2.2.1 Tue Jun 6 17:57:22 PDT 1992
760
761 - Fix bug with -c flag.
762
763 v2.2 Fri May 22 17:19:41 PDT 1992
764
765 - savefile.c: Remove hack that shouldn't have been exported. Add
766   truncate checks.
767
768 - Added the 'icmp' keyword.  For example, 'icmp[0] != 8 and icmp[0] != 0'
769   matches non-echo/reply ICMP packets.
770
771 - Many improvements to filter code optimizer.
772
773 - Added 'multicast' keyword and extended the 'broadcast' keyword can now be
774   so that protocol qualifications are allowed. For example, "ip broadcast"
775   and "ether multicast" are valid filters.
776
777 - Added support for monitoring the loopback interface (i.e. 'tcpdump -i lo').
778   Jeffrey Honig (jch@MITCHELL.CIT.CORNELL.EDU) contributed the kernel
779   patches to netinet/if_loop.c.
780
781 - Added support for the Ungermann-Bass Ethernet on IBM/PC-RTs running AOS.
782   Contact Jeffrey Honig (jch@MITCHELL.CIT.CORNELL.EDU) for the diffs.
783
784 - Added EGP and OSPF printers, thanks to Jeffrey Honig.
785
786 v2.1 Tue Jan 28 11:00:14 PST 1992
787
788 - Internal release (never publically exported).
789
790 v2.0.1 Sun Jan 26 21:10:10 PDT
791
792 - Various byte ordering fixes.
793
794 - Add truncation checks.
795
796 - inet.c: Support BSD style SIOCGIFCONF.
797
798 - nametoaddr.c: Handle multi addresses for single host.
799
800 - optimize.c: Rewritten.
801
802 - pcap-bpf.c: don't choke when we get ptraced. only set promiscuous
803   for broadcast nets.
804
805 - print-atal.c: Fix an alignment bug (thanks to
806   stanonik@nprdc.navy.mil) Add missing printf() argument.
807
808 - print-bootp.c: First attempt at decoding the vendor buffer.
809
810 - print-domain.c: Fix truncation checks.
811
812 - print-icmp.c: Calculate length of packets from the ip header.
813
814 - print-ip.c: Print frag id in decimal (so it's easier to match up
815   with non-frags). Add support for ospf, egp and igmp.
816
817 - print-nfs.c: Lots of changes.
818
819 - print-ntp.c: Make some verbose output depend on -v.
820
821 - print-snmp.c: New version from John LoVerso.
822
823 - print-tcp.c: Print rfc1072 tcp options.
824
825 - tcpdump.c: Print "0x" prefix for %x formats. Always print 6 digits
826   (microseconds) worth of precision. Fix uid bugs.
827
828 - A packet dumper has been added (thanks to Jeff Mogul of DECWRL).
829   With this option, you can create an architecture independent binary
830   trace file in real time, without the overhead of the packet printer.
831   At a later time, the packets can be filtered (again) and printed.
832
833 - BSD is supported.  You must have BPF in your kernel.
834   Since the filtering is now done in the kernel, fewer packets are
835   dropped.  In fact, with BPF and the packet dumper option, a measly
836   Sun 3/50 can keep up with a busy network.
837
838 - Compressed SLIP packets can now be dumped, provided you use our
839   SLIP software and BPF.  These packets are dumped as any other IP
840   packet; the compressed headers are dumped with the '-e' option.
841
842 - Machines with little-endian byte ordering are supported (thanks to
843   Jeff Mogul).
844
845 - Ultrix 4.0 is supported (also thanks to Jeff Mogul).
846
847 - IBM RT and Stanford Enetfilter support has been added by
848   Rayan Zachariassen <rayan@canet.ca>.  Tcpdump has been tested under
849   both the vanilla Enetfilter interface, and the extended interface
850   (#ifdef'd by IBMRTPC) present in the MERIT version of the Enetfilter.
851
852 - TFTP packets are now printed (requests only).
853
854 - BOOTP packets are now printed.
855
856 - SNMP packets are now printed. (thanks to John LoVerso of Xylogics).
857
858 - Sparc architectures, including the Sparcstation-1, are now
859   supported thanks to Steve McCanne and Craig Leres.
860
861 - SunOS 4 is now supported thanks to Micky Liu of Columbia
862   University (micky@cunixc.cc.columbia.edu).
863
864 - IP options are now printed.
865
866 - RIP packets are now printed.
867
868 - There's a -v flag that prints out more information than the
869   default (e.g., it will enable printing of IP ttl, tos and id)
870   and -q flag that prints out less (e.g., it will disable
871   interpretation of AppleTalk-in-UDP).
872
873 - The grammar has undergone substantial changes (if you have an
874   earlier version of tcpdump, you should re-read the manual
875   entry).
876
877   The most useful change is the addition of an expression
878   syntax that lets you filter on arbitrary fields or values in the
879   packet.  E.g., "ip[0] > 0x45" would print only packets with IP
880   options, "tcp[13] & 3 != 0" would print only TCP SYN and FIN
881   packets.
882
883   The most painful change is that concatenation no longer means
884   "and" -- e.g., you have to say "host foo and port bar" instead
885   of "host foo port bar".  The up side to this down is that
886   repeated qualifiers can be omitted, making most filter
887   expressions shorter.  E.g., you can now say "ip host foo and
888   (bar or baz)" to look at ip traffic between hosts foo and bar or
889   between hosts foo and baz.  [The old way of saying this was "ip
890   host foo and (ip host bar or ip host baz)".]
891
892 v2.0 Sun Jan 13 12:20:40 PST 1991
893
894 - Initial public release.