1 Friday, September 20, 2019, by mcr@sandelman.ca
2 A huge thank you to Denis, Francois-Xavier and Guy who did much of the heavy lifting.
3 Summary for 4.9.3 tcpdump release
4 Fix buffer overflow/overread vulnerabilities:
6 CVE-2018-14468 (FrameRelay)
9 CVE-2018-14466 (AFS/RX)
17 CVE-2018-10103 (SMB - partially fixed, but SMB printing disabled)
18 CVE-2018-10105 (SMB - too unreliably reproduced, SMB printing disabled)
19 CVE-2018-14880 (OSPF6)
22 CVE-2018-16227 (802.11)
24 CVE-2018-16301 (was fixed in libpcap)
31 Fix for cmdline argument/local issues:
32 CVE-2018-14879 (tcpdump -V)
34 Sunday September 3, 2017 denis@ovsienko.info
35 Summary for 4.9.2 tcpdump release
36 Do not use getprotobynumber() for protocol name resolution. Do not do
37 any protocol name resolution if -n is specified.
38 Improve errors detection in the test scripts.
39 Fix a segfault with OpenSSL 1.1 and improve OpenSSL usage.
40 Clean up IS-IS printing.
41 Fix buffer overflow vulnerabilities:
43 CVE-2017-13011 (bittok2str_internal)
44 Fix infinite loop vulnerabilities:
46 CVE-2017-12990 (ISAKMP)
49 Fix buffer over-read vulnerabilities:
50 CVE-2017-11541 (safeputs)
51 CVE-2017-11542 (PIMv1)
52 CVE-2017-12893 (SMB/CIFS)
53 CVE-2017-12894 (lookup_bytestring)
55 CVE-2017-12896 (ISAKMP)
56 CVE-2017-12897 (ISO CLNS)
58 CVE-2017-12899 (DECnet)
59 CVE-2017-12900 (tok2strbuf)
60 CVE-2017-12901 (EIGRP)
61 CVE-2017-12902 (Zephyr)
63 CVE-2017-12986 (IPv6 routing headers)
64 CVE-2017-12987 (IEEE 802.11)
65 CVE-2017-12988 (telnet)
67 CVE-2017-12992 (RIPng)
68 CVE-2017-12993 (Juniper)
69 CVE-2017-11542 (PIMv1)
70 CVE-2017-11541 (safeputs)
72 CVE-2017-12996 (PIMv2)
73 CVE-2017-12998 (ISO IS-IS)
74 CVE-2017-12999 (ISO IS-IS)
75 CVE-2017-13000 (IEEE 802.15.4)
79 CVE-2017-13004 (Juniper)
82 CVE-2017-13007 (Apple PKTAP)
83 CVE-2017-13008 (IEEE 802.11)
84 CVE-2017-13009 (IPv6 mobility)
88 CVE-2017-13014 (White Board)
91 CVE-2017-13016 (ISO ES-IS)
92 CVE-2017-13017 (DHCPv6)
96 CVE-2017-13021 (ICMPv6)
98 CVE-2017-13023 (IPv6 mobility)
99 CVE-2017-13024 (IPv6 mobility)
100 CVE-2017-13025 (IPv6 mobility)
101 CVE-2017-13026 (ISO IS-IS)
102 CVE-2017-13027 (LLDP)
103 CVE-2017-13028 (BOOTP)
106 CVE-2017-13031 (IPv6 fragmentation header)
107 CVE-2017-13032 (RADIUS)
110 CVE-2017-13035 (ISO IS-IS)
111 CVE-2017-13036 (OSPFv3)
114 CVE-2017-13039 (ISAKMP)
115 CVE-2017-13040 (MPTCP)
116 CVE-2017-13041 (ICMPv6)
117 CVE-2017-13042 (HNCP)
119 CVE-2017-13044 (HNCP)
122 CVE-2017-13047 (ISO ES-IS)
123 CVE-2017-13048 (RSVP)
125 CVE-2017-13050 (RPKI-Router)
126 CVE-2017-13051 (RSVP)
129 CVE-2017-13054 (LLDP)
130 CVE-2017-13055 (ISO IS-IS)
131 CVE-2017-13687 (Cisco HDLC)
132 CVE-2017-13688 (OLSR)
133 CVE-2017-13689 (IKEv1)
134 CVE-2017-13690 (IKEv2)
135 CVE-2017-13725 (IPv6 routing headers)
137 Sunday July 23, 2017 denis@ovsienko.info
138 Summary for 4.9.1 tcpdump release
139 CVE-2017-11108/Fix bounds checking for STP.
140 Make assorted documentation updates and fix a few typos in tcpdump output.
141 Fixup -C for file size >2GB (GH #488).
142 Show AddressSanitizer presence in version output.
143 Fix a bug in test scripts (exposed in GH #613).
144 On FreeBSD adjust Capsicum capabilities for netmap.
145 On Linux fix a use-after-free when the requested interface does not exist.
147 Wednesday January 18, 2017 devel.fx.lebail@orange.fr
148 Summary for 4.9.0 tcpdump release
150 Fix some heap overflows found with American Fuzzy Lop by Hanno Boeck and others
151 (More information in the log with CVE-2016-* and CVE-2017-*)
152 Change the way protocols print link-layer addresses (Fix heap overflows
153 in CALM-FAST and GeoNetworking printers)
154 Pass correct caplen value to ether_print() and some other functions
155 Fix lookup_nsap() to match what isonsap_string() expects
156 Clean up relative time stamp printing (Fix an array overflow)
157 Fix some alignment issues with GCC on Solaris 10 SPARC
158 Add some ND_TTEST_/ND_TCHECK_ macros to simplify writing bounds checks
159 Add a fn_printztn() which returns the number of bytes processed
160 Add nd_init() and nd_cleanup() functions. Improve libsmi support
161 Add CONTRIBUTING file
162 Add a summary comment in all printers
163 Compile with more warning options in devel mode if supported (-Wcast-qual, ...)
164 Fix some leaks found by Valgrind/Memcheck
165 Fix a bunch of de-constifications
166 Squelch some Coverity warnings and some compiler warnings
167 Update Coverity and Travis-CI setup
168 Update Visual Studio files
171 Fix capsicum support to work with zerocopy buffers in bpf
172 Try opening interfaces by name first, then by name-as-index
173 Work around pcap_create() failures fetching time stamp type lists
174 Fix a segmentation fault with 'tcpdump -J'
175 Improve addrtostr6() bounds checking
176 Add exit_tcpdump() function
177 Don't drop CAP_SYS_CHROOT before chrooting
178 Fixes issue where statistics not reported when -G and -W options used
181 802.11: Beginnings of 11ac radiotap support
182 802.11: Check the Protected bit for management frames
183 802.11: Do bounds checking on last_presentp before dereferencing it (Fix a heap overflow)
184 802.11: Fix the radiotap printer to handle the special bits correctly
185 802.11: If we have the MCS field, it's 11n
186 802.11: Only print unknown frame type or subtype messages once
187 802.11: Radiotap dBm values get printed as dB; Update a test output accordingly
188 802.11: Source and destination addresses were backwards
189 AH: Add a bounds check
190 AH: Report to our caller that dissection failed if a bounds check fails
191 AP1394: Print src > dst, not dst > src
192 ARP: Don't assume the target hardware address is <= 6 octets long (Fix a heap overflow)
193 ATALK: Add bounds and length checks (Fix heap overflows)
194 ATM: Add some bounds checks (Fix a heap overflow)
195 ATM: Fix an incorrect bounds check
196 BFD: Update specification from draft to RFC 5880
197 BFD: Update to print optional authentication field
198 BGP: Add support for the AIGP attribute (RFC7311)
199 BGP: Print LARGE_COMMUNITY Path Attribute
200 BGP: Update BGP numbers from IANA; Print minor values for FSM notification
201 BOOTP: Add a bounds check
202 Babel: Add decoder for source-specific extension
203 CDP: Filter out non-printable characters
204 CFM: Fixes to match the IEEE standard, additional bounds and length checks
205 CSLIP: Add more bounds checks (Fix a heap overflow)
206 ClassicalIPoATM: Add a bounds check on LLC+SNAP header (Fix a heap overflow)
207 DHCP: Fix MUDURL and TZ options
208 DHCPv6: Process MUDURL and TZ options
209 DHCPv6: Update Status Codes with RFCs/IANA names
210 DNS: Represent the "DNSSEC OK" bit as "DO" instead of "OK". Add a test case
211 DTP: Improve packet integrity checks
212 EGP: Fix bounds checks
213 ESP: Don't use OpenSSL_add_all_algorithms() in OpenSSL 1.1.0 or later
214 Ethernet: Add some bounds checking before calling isoclns_print (Fix a heap overflow)
215 Ethernet: Print the Length/Type field as length when needed
216 FDDI: Fix -e output for FDDI
217 FR: Add some packet-length checks and improve Q.933 printing (Fix heap overflows)
218 GRE: Add some bounds checks (Fix heap overflows)
219 Geneve: Fix error message with invalid option length; Update list option classes
220 HNCP: Fix incorrect time interval format. Fix handling of IPv4 prefixes
221 ICMP6: Fetch a 32-bit big-endian quantity with EXTRACT_32BITS()
222 IGMP: Add a length check
223 IP: Add a bounds check (Fix a heap overflow)
224 IP: Check before fetching the protocol version (Fix a heap overflow)
225 IP: Don't try to dissect if IP version != 4 (Fix a heap overflow)
226 IP: Stop processing IPPROTO_ values once we hit IPPROTO_IPCOMP
227 IPComp: Check whether we have the CPI before we fetch it (Fix a heap overflow)
228 IPoFC: Fix -e output (IP-over-Fibre Channel)
229 IPv6: Don't overwrite the destination IPv6 address for routing headers
230 IPv6: Fix header printing
231 IPv6: Stop processing IPPROTO_ values once we hit IPPROTO_IPCOMP
232 ISAKMP: Clean up parsing of IKEv2 Security Associations
233 ISOCLNS/IS-IS: Add support for Purge Originator Identifier (RFC6232) and test cases
234 ISOCLNS/IS-IS: Don't overwrite packet data when checking the signature
235 ISOCLNS/IS-IS: Filter out non-printable characters
236 ISOCLNS/IS-IS: Fix segmentation faults
237 ISOCLNS/IS-IS: Have signature_verify() do the copying and clearing
238 ISOCLNS: Add some bounds checks
239 Juniper: Make sure a Juniper header TLV isn't bigger than what's left in the packet (Fix a heap overflow)
240 LLC/SNAP: With -e, print the LLC header before the SNAP header; without it, cut the SNAP header
241 LLC: Add a bounds check (Fix a heap overflow)
242 LLC: Clean up printing of LLC packets
243 LLC: Fix the printing of RFC 948-style IP packets
244 LLC: Skip the LLC and SNAP headers with -x for 802.11 and some other protocols
245 LLDP: Implement IANA OUI and LLDP MUD option
246 MPLS LSP ping: Update printing for RFC 4379, bug fixes, more bounds checks
247 MPLS: "length" is now the *remaining* packet length
248 MPLS: Add bounds and length checks (Fix a heap overflow)
249 NFS: Don't assume the ONC RPC header is nicely aligned
250 NFS: Don't overflow the Opaque_Handle buffer (Fix a segmentation fault)
251 NFS: Don't run past the end of an NFSv3 file handle
252 OLSR: Add a test to cover a HNA sgw case
253 OLSR: Fix 'Advertised networks' count
254 OLSR: Fix printing of smart-gateway HNAs in IPv4
255 OSPF: Add a bounds check for the Hello packet options
256 OSPF: Do more bounds checking
257 OSPF: Fix a segmentation fault
258 OSPF: Fix printing 'ospf_topology_values' default
259 OTV: Add missing bounds checks
260 PGM: Print the formatted IP address, not the raw binary address, as a string
261 PIM: Add some bounds checking (Fix a heap overflow)
262 PIMv2: Fix checksumming of Register messages
263 PPP: Add some bounds checks (Fix a heap overflow)
264 PPP: Report invalid PAP AACK/ANAK packets
265 Q.933: Add a missing bounds check
266 RADIUS: Add Value 13 "VLAN" to Tunnel-Type attribute
267 RADIUS: Filter out non-printable characters
268 RADIUS: Translate UDP/1700 as RADIUS
269 RESP: Do better checking of RESP packets
270 RPKI-RTR: Add a return value check for "fn_printn" call
271 RPKI-RTR: Remove printing when truncated condition already detected
272 RPL: Fix 'Consistency Check' control code
273 RPL: Fix suboption print
274 RSVP: An INTEGRITY object in a submessage covers only the submessage
275 RSVP: Fix an infinite loop; Add bounds and length checks
276 RSVP: Fix some if statements missing brackets
277 RSVP: Have signature_verify() do the copying and clearing
278 RTCP: Add some bounds checks
279 RTP: Add some bounds checks, fix two segmentation faults
280 SCTP: Do more bounds checking
281 SFLOW: Fix bounds checking
282 SLOW: Fix bugs, add checks
283 SMB: Before fetching the flags2 field, make sure we have it
284 SMB: Do bounds checks on NBNS resource types and resource data lengths
285 SNMP: Clean up the "have libsmi but no modules loaded" case
286 SNMP: Clean up the object abbreviation list and fix the code to match them
287 SNMP: Do bounds checks when printing character and octet strings
288 SNMP: Improve ASN.1 bounds checks
289 SNMP: More bounds and length checks
290 STP: Add a bunch of bounds checks, and fix some printing (Fix heap overflows)
291 STP: Filter out non-printable characters
292 TCP: Add bounds and length checks for packets with TCP option 20
293 TCP: Correct TCP option Kind value for TCP Auth and add SCPS-TP
294 TCP: Fix two bounds checks (Fix heap overflows)
295 TCP: Make sure we have the data offset field before fetching it (Fix a heap overflow)
296 TCP: Put TCP-AO option decoding right
297 TFTP: Don't use strchr() to scan packet data (Fix a heap overflow)
298 Telnet: Add some bounds checks
299 TokenRing: Fix -e output
300 UDLD: Fix an infinite loop
301 UDP: Add a bounds check (Fix a heap overflow)
302 UDP: Check against the packet length first
303 VAT: Add some bounds checks
304 VTP: Add a test on Mgmt Domain Name length
305 VTP: Add bounds checks and filter out non-printable characters
306 VXLAN: Add a bound check and a test case
307 ZeroMQ: Fix an infinite loop
309 Tuesday October 25, 2016 mcr@sandelman.ca
310 Summary for 4.8.1 tcpdump release
311 Fix "-x" for Apple PKTAP and PPI packets
312 Improve separation frontend/backend (tcpdump/libnetdissect)
313 Fix display of timestamps with -tt, -ttt and -ttttt options
314 Add support for the Marvell Extended Distributed Switch Architecture header
315 Use PRIx64 to print a 64-bit number in hex.
316 Printer for HNCP (RFCs 7787 and 7788).
317 dagid is always an IPv6 address, not an opaque 128-bit string, and other fixes to RPL printer.
318 RSVP: Add bounds and length checks
319 OSPF: Do more bounds checking
320 Handle OpenSSL 1.1.x.
321 Initial support for the REdis Serialization Protocol known as RESP.
322 Add printing function for Generic Protocol Extension for VXLAN
323 draft-ietf-nvo3-vxlan-gpe-01
324 Network Service Header: draft-ietf-sfc-nsh-01
325 Don't recompile the filter if the new file has the same DLT.
326 Pass an adjusted struct pcap_pkthdr to the sub-printer.
327 Add three test cases for already fixed CVEs
329 CVE-2014-8768: Geonet
331 Don't do the DDP-over-UDP heuristic first: GitHub issue #499.
332 Use the new debugging routines in libpcap.
333 Harmonize TCP source or destination ports tests with UDP ones
334 Introduce data types to use for integral values in packet structures.
335 RSVP: Fix an infinite loop
336 Support of Type 3 and Type 4 LISP packets.
337 Don't require IPv6 library support in order to support IPv6 addresses.
338 Many many changes to support libnetdissect usage.
339 Add a test that makes unaligned accesses: GitHub issue #478.
340 add a DNSSEC test case: GH #445 and GH #467.
341 BGP: add decoding of ADD-PATH capability
342 fixes to LLC header printing, and RFC948-style IP packets
344 Friday April 10, 2015 guy@alum.mit.edu
345 Summary for 4.7.4 tcpdump release
346 RPKI to Router Protocol: Fix Segmentation Faults and other problems
347 RPKI to Router Protocol: print strings with fn_printn()
348 wb: fix some bounds checks
350 Wednesday March 11, 2015 mcr@sandelman.ca
351 Summary for 4.7.3 tcpdump release
352 Capsicum fixes for FreeBSD 10
354 Tuesday March 10, 2015 mcr@sandelman.ca
355 Summary for 4.7.2 tcpdump release
356 DCCP: update Packet Types with RFC4340/IANA names
357 fixes for CVE-2015-0261: IPv6 mobility header check issue
358 fixes for CVE-2015-2153, 2154, 2155: kday packets
360 Friday Nov. 12, 2014 guy@alum.mit.edu
361 Summary for 4.7.0 tcpdump release
362 changes to hex printing of CDP packets
364 Radius: update Packet Type Codes and Attribute Types with RFC/IANA names
365 Add a routine to print "text protocols", and add FTP/HTTP/SMTP/RTSP support.
366 improvements to telnet printer, even if not -v
367 omit length for bcp, print-tcp uses it
368 formatting fixes for a bunch of protocols
369 new bounds checks for a number of protocols
370 split netflow 1,6, and 6 dissector up.
371 added geneve dissector
372 CVE-2014-9140 PPP dissector fixed.
374 Tuesday Sep. 2, 2014 mcr@sandelman.ca
375 Summary for 4.6.2 tcpdump release
376 fix out-of-source-tree builds: find libpcap that is out of source
377 better configure check for libsmi
379 Saturday Jul. 19, 2014 mcr@sandelman.ca
380 Summary for 4.6.1 tcpdump release
381 added FreeBSD capsicum
382 add a short option '#', same as long option '--number'
384 Wednesday Jul. 2, 2014 mcr@sandelman.ca
385 Summary for 4.6.0 tcpdump release
386 all of tcpdump is now using the new "NDO" code base (Thanks Denis!)
387 nflog, mobile, forces, pptp, AODV, AHCP, IPv6, OSPFv4, RPL, DHCPv6 enhancements/fixes
389 many new test cases: 82 in 4.5.1 to 133 in 4.6.0
390 many improvements to travis continuous integration system: OSX, and Coverity options
391 cleaned up some unnecessary header files
393 a number of unaligned access faults fixed
394 -A flag does not consider CR to be printable anymore
395 fx.lebail took over coverity baby sitting
396 default snapshot size increased to 256K for accomodate USB captures
397 WARNING: this release contains a lot of very worthwhile code churn.
399 Wednesday Jan. 15, 2014 guy@alum.mit.edu
400 Summary for 4.5.2 tcpdump release
404 Monday Nov. 11, 2013 mcr@sandelman.ca
405 Summary for 4.5.1 tcpdump release
408 Thursday Nov. 7, 2013 mcr@sandelman.ca and guy@alum.mit.edu.
409 Summary for 4.5.0 tcpdump release
410 some NFSv4 fixes for printing
411 fix printing of unknown TCP options, and tcp fast-open
412 fixes for syslog parser
413 some gcc-version-specific flag tuning
414 adopt MacOS deprecation workarounds for openssl
415 improvements to babel printing
416 add OpenFlow 1.0 (no SSL) and test cases
418 added STBC Rx support
419 improvements to DHCPv6 decoder
420 clarify which autoconf is needed
421 Point users to the the-tcpdump-group repository on GitHub rather
422 than the mcr repository
424 Fixed IPv6 check on Solaris and other OSes requiring extra
425 networking libraries.
426 Add support for VXLAN (draft-mahalingam-dutt-dcops-vxlan-03),
427 and add "vxlan" as an option for -T.
428 Add support for OTV (draft-hasmit-otv-04).
429 fixes for DLT_IEEE802_11_RADIO datalink types
432 Saturday April 6, 2013 guy@alum.mit.edu.
433 Summary for 4.4.0 tcpdump release
434 RPKI-RTR (RFC6810) is now official (TCP Port 323)
435 Fix detection of OpenSSL libcrypto.
436 Add DNSSL (RFC6106) support.
437 Add "radius" as an option for -T.
438 Update Action codes for handle_action function according to
440 Decode DHCPv6 AFTR-Name option (RFC6334).
442 Fix printing of infinite lifetime in ICMPv6.
443 Added support for SPB, SPBM Service Identifier, and Unicast
444 Address sub-TLV in ISIS.
445 Decode RIPv2 authentication up to RFC4822.
446 Fix RIP Request/full table decoding issues.
447 On Linux systems with cap-ng.h, drop root privileges
448 using Linux Capabilities.
449 Add support for reading multiple files.
450 Add MS NLB heartbeat printer.
451 Separate multiple nexthops in BGP.
453 Wednesday November 28, 2012 guy@alum.mit.edu.
454 Summary for 4.3.1 tcpdump release
455 Print "LLDP, length N" for LLDP packets even when not in verbose
456 mode, so something is printed even if only the timestamp is
459 Print NTP poll interval correctly (it's an exponent, so print
460 both its raw value and 2^value)
461 Document that "-e" is used to get MAC addresses
462 More clearly document that you need to escape or quote
463 backslashes in filter expressions on the command line
464 Fix some "the the" in the man page
465 Use the right maximum path length
466 Don't treat 192_1_2, when passed to -i, as an interface number
468 Friday April 3, 2012. mcr@sandelman.ca.
469 Summary for 4.3.0 tcpdump release
470 fixes for forces: SPARSE data (per RFC 5810)
471 some more test cases added
472 updates to documentation on -l, -U and -w flags.
473 Fix printing of BGP optional headers.
474 Tried to include DLT_PFSYNC support, failed due to headers required.
476 Fix LLDP Network Policy bit definitions.
477 fixes for IGMPv3's Max Response Time: it is in units of 0.1 second.
478 SIGUSR1 can be used rather than SIGINFO for stats
479 permit -n flag to affect print-ip for protocol numbers
480 ND_OPT_ADVINTERVAL is in milliseconds, not seconds
481 Teach PPPoE parser about RFC 4638
484 Friday December 9, 2011. guy@alum.mit.edu.
485 Summary for 4.2.1 tcpdump release
486 Only build the Babel printer if IPv6 is enabled.
487 Support Babel on port 6696 as well as 6697.
488 Include ppi.h in release tarball.
489 Include all the test files in the release tarball, and don't
490 "include" test files that no longer exist.
491 Don't assume we have <rpc/rpc.h> - check for it.
492 Support "-T carp" as a way of dissecting IP protocol 112 as CARP
494 Support Hilscher NetAnalyzer link-layer header format.
495 Constify some pointers and fix compiler warnings.
496 Get rid of never-true test.
497 Fix an unintended fall-through in a case statement in the ARP
499 Fix several cases where sizeof(sizeof(XXX)) was used when just
500 sizeof(XXX) was intended.
501 Make stricter sanity checks in the ES-IS printer.
502 Get rid of some GCCisms that caused builds to fai with compilers
503 that don't support them.
504 Fix typo in man page.
505 Added length checks to Babel printer.
507 Sunday July 24, 2011. mcr@sandelman.ca.
509 merged 802.15.4 decoder from Dmitry Eremin-Solenikov <dbaryshkov
511 updates to forces for new port numbers
512 Use "-H", not "-h", for the 802.11s option. (-h always help)
513 Better ICMPv6 checksum handling.
514 add support for the RPKI/Router Protocol, per -ietf-sidr-rpki-rtr-12
515 get rid of uuencoded pcap test files, git can do binary.
516 sFlow changes for 64-bit counters.
517 fixes for PPI packet header handling and printing.
518 Add DCB Exchange protocol (DCBX) version 1.01.
519 Babel dissector, from Juliusz Chroboczek and Grégoire Henry.
520 improvements to radiotap for rate values > 127.
521 Many improvements to ForCES decode, including fix SCTP TML port
522 updated RPL type code to RPL-17 draft
523 Improve printout of DHCPv6 options.
524 added support and test case for QinQ (802.1q VLAN) packets
525 Handle DLT_IEEE802_15_4_NOFCS like DLT_IEEE802_15_4.
526 Build fixes for Sparc and other machines with alignment restrictions.
527 Merged changes from Debian package.
528 PGM: Add ACK decoding and add PGMCC DATA and FEEDBACK options.
529 Build fixes for OSX (Snow Leopard and others)
530 Add support for IEEE 802.15.4 packets
532 Tue. July 20, 2010. guy@alum.mit.edu.
533 Summary for 4.1.2 tcpdump release
534 If -U is specified, flush the file after creating it, so it's
536 Fix TCP flags output description, and some typoes, in the man
538 Add a -h flag, and only attempt to recognize 802.11s mesh
540 When printing the link-layer type list, send *all* output to
542 Include the CFLAGS setting when configure was run in the
545 Thu. April 1, 2010. guy@alum.mit.edu.
546 Summary for 4.1.1 tcpdump release
547 Fix build on systems with PF, such as FreeBSD and OpenBSD.
548 Don't blow up if a zero-length link-layer address is passed to
551 Thu. March 11, 2010. ken@netfunctional.ca/guy@alum.mit.edu.
552 Summary for 4.1.0 tcpdump release
553 Fix printing of MAC addresses for VLAN frames with a length
555 Add some additional bounds checks and use the EXTRACT_ macros
557 Add a -b flag to print the AS number in BGP packets in ASDOT
558 notation rather than ASPLAIN notation
559 Add ICMPv6 RFC 5006 support
560 Decode the access flags in NFS access requests
561 Handle the new DLT_ for memory-mapped USB captures on Linux
562 Make the default snapshot (-s) the maximum
563 Print name of device (when -L is used)
564 Support for OpenSolaris (and SXCE build 125 and later)
566 Add support for RPL DIO
567 Add support for TCP User Timeout (UTO)
568 Add support for non-standard Ethertypes used by 3com PPPoE gear
569 Add support for 802.11n and 802.11s
570 Add support for Transparent Ethernet Bridge ethertype in GRE
571 Add 4 byte AS support for BGP printer
572 Add support for the MDT SAFI 66 BG printer
573 Add basic IPv6 support to print-olsr
575 Add printer for ForCES
576 Handle frames with an FCS
577 Handle 802.11n Control Wrapper, Block Acq Req and Block Ack frames
578 Fix TCP sequence number printing
579 Report 802.2 packets as 802.2 instead of 802.3
580 Don't include -L/usr/lib in LDFLAGS
581 On x86_64 Linux, look in lib64 directory too
582 Lots of code clean ups
584 Update testcases to make output changes
585 Fix compiling with/out smi (--with{,out}-smi)
586 Fix compiling without IPv6 support (--disable-ipv6)
588 Mon. October 27, 2008. ken@netfunctional.ca. Summary for 4.0.0 tcpdump release
589 Add support for Bluetooth Sniffing
590 Add support for Realtek Remote Control Protocol (openrrcp.org.ru)
591 Add support for 802.11 AVS
592 Add support for SMB over TCP
593 Add support for 4 byte BGP AS printing
594 Add support for compiling on case-insensitive file systems
595 Add support for ikev2 printing
596 Update support for decoding AFS
597 Update DHCPv6 printer
598 Use newer libpcap API's (allows -B option on all platforms)
599 Add -I to turn on monitor mode
600 Bugfixes in lldp, lspping, dccp, ESP, NFS printers
601 Cleanup unused files and various cruft
603 Mon. September 10, 2007. ken@xelerance.com. Summary for 3.9.8 tcpdump release
605 Rework OSPFv3 printer
606 Add support for Frame-Relay ARP
607 Decode DHCP Option 121 (RFC 3442 Classless Static Route)
608 Decode DHCP Option 249 (MS Classless Static Route) the same as Option 121
609 TLV: Add support for Juniper .pcap extensions
610 Print EGP header in new-world-order style
611 Converted print-isakmp.c to NETDISSECT
612 Moved AF specific stuff into af.h
613 Test subsystem now table driven, and saves outputs and diffs to one place
614 Require <net/pfvar.h> for pf definitions - allows reading of pflog formatted
615 libpcap files on an OS other than where the file was generated
618 Wed. July 23, 2007. mcr@xelerance.com. Summary for 3.9.7 libpcap release
620 NFS: Print unsigned values as such.
622 BGP: fixes for IPv6-less builds.
623 801.1ag: use standard codepoint.
624 use /dev/bpf on systems with such a device.
625 802.11: print QoS data, avoid dissect of no-data frame, ignore padding.
626 smb: make sure that we haven't gone past the end of the captured data.
627 smb: squelch an uninitialized complaint from coverity.
628 NFS: from NetBSD; don't interpret the reply as a possible NFS reply
629 if it got MSG_DENIED.
630 BGP: don't print TLV values that didn't fit, from www.digit-labs.org.
631 revised INSTALL.txt about libpcap dependancy.
633 Wed. April 25, 2007. ken@xelerance.com. Summary for 3.9.6 tcpdump release
634 Update man page to reflect changes to libpcap
635 Changes to both TCP and IP Printer Output
636 Fix a potential buffer overflow in the 802.11 printer
637 Print basic info about a few more Cisco LAN protocols.
639 ICMP MPLS rework of the extension code
640 bugfix: use the correct codepoint for the OSPF simple text auth token
641 entry, and use safeputs to print the password.
642 Add support in pflog for additional values
643 Add support for OIF RSVP Extensions UNI 1.0 Rev. 2 and additional RSVP objects
644 Add support for the Message-id NACK c-type.
645 Add support for 802.3ah loopback ctrl msg
646 Add support for Multiple-STP as per 802.1s
647 Add support for rapid-SPT as per 802.1w
648 Add support for CFM Link-trace msg, Link-trace-Reply msg,
649 Sender-ID tlv, private tlv, port, interface status
650 Add support for unidirectional link detection as per
651 http://www.ietf.org/internet-drafts/draft-foschiano-udld-02.txt
652 Add support for the olsr protocol as per RFC 3626 plus the LQ
653 extensions from olsr.org
654 Add support for variable-length checksum in DCCP, as per section 9 of
656 Add support for per-VLAN spanning tree and per-VLAN rapid spanning tree
657 Add support for Multiple-STP as per 802.1s
658 Add support for the cisco propriatry 'dynamic trunking protocol'
659 Add support for the cisco proprietary VTP protocol
660 Update dhcp6 options table as per IETF standardization activities
663 Tue. September 19, 2006. ken@xelerance.com. Summary for 3.9.5 tcpdump release
665 Fix compiling on AIX (, at end of ENUM)
666 Updated list of DNS RR typecodes
667 Use local Ethernet defs on WIN32
668 Add support for Frame-Relay ARP
669 Fixes for compiling under MSVC++
670 Add support for parsing Juniper .pcap files
671 Add support for FRF.16 Multilink Frame-Relay (DLT_MFR)
672 Rework the OSPFv3 printer
673 Fix printing for 4.4BSD/NetBSD NFS Filehandles
674 Add support for Cisco style NLPID encapsulation
675 Add cisco prop. eigrp related, extended communities
676 Add support for BGP signaled VPLS
677 Cleanup the bootp printer
678 Add support for PPP over Frame-Relay
679 Add some bounds checking to the IP options code, and clean up
680 the options output a bit.
681 Add additional modp groups to ISAKMP printer
682 Add support for Address-Withdraw and Label-Withdraw Msgs
683 Add support for the BFD Discriminator TLV
684 Fixes for 64bit compiling
685 Add support for PIMv2 checksum verification
686 Add support for further dissection of the IPCP Compression Option
687 Add support for Cisco's proposed VQP protocol
688 Add basic support for keyed authentication TCP option
689 Lots of minor cosmetic changes to output printers
692 Mon. September 19, 2005. ken@xelerance.com. Summary for 3.9.4 tcpdump release
693 Decoder support for more Juniper link-layer types
694 Fix a potential buffer overflow (although it can't occur in
696 Fix the handling of unknown management frame types in the 802.11
698 Add FRF.16 support, fix various Frame Relay bugs.
699 Add support for RSVP integrity objects, update fast-reroute
700 object printer to latest spec.
701 Clean up documentation of vlan filter expression, document mpls
703 Document new pppoed and pppoes filter expressions.
704 Update diffserver-TE codepoints as per RFC 4124.
705 Spelling fixes in ICMPv6.
706 Don't require any fields other than flags to be present in IS-IS
707 restart signaling TLVs, and only print the system ID in
708 those TLVs as system IDs, not as node IDs.
711 Tue. July 5, 2005. ken@xelerance.com. Summary for 3.9.3 tcpdump release
713 Option to chroot() when dropping privs
714 Fixes for compiling on nearly every platform,
715 including improved 64bit support
717 Support for sending packets
718 Many compliation fixes on most platforms
719 Fixes for recent version of GCC to eliminate warnings
720 Improved Unicode support
722 Decoders & DLT Changes, Updates and New:
724 Juniper ATM, FRF.15, FRF.16, PPPoE,
725 ML-FR, ML-PIC, ML-PPP, PL-PPP, LS-PIC
726 GGSN,ES,MONITOR,SERVICES
728 Axent Raptor/Symantec Firewall
730 ESP-in-UDP (RFC 3948)
732 LMP, LMP Service Discovery
738 LACP, MARKER as per 802.3ad
741 G.7041/Y.1303 Generic Framing Procedure
748 Tue. March 30, 2004. mcr@sandelman.ottawa.on.ca. Summary for 3.8.3 release
750 No changes from 3.8.2. Version bumped only to maintain consistency
753 Mon. March 29, 2004. mcr@sandelman.ottawa.on.ca. Summary for 3.8.2 release
755 Fixes for print-isakmp.c CVE: CAN-2004-0183, CAN-2004-0184
756 http://www.rapid7.com/advisories/R7-0017.html
757 IP-over-IEEE1394 printing.
758 some MINGW32 changes.
759 updates for autoconf 2.5
760 fixes for print-aodv.c - check for too short packets
761 formatting changes to print-ascii for hex output.
762 check for too short packets: print-bgp.c, print-bootp.c, print-cdp.c,
763 print-chdlc.c, print-domain.c, print-icmp.c, print-icmp6.c,
764 print-ip.c, print-lwres.c, print-ospf.c, print-pim.c,
765 print-ppp.c,print-pppoe.c, print-rsvp.c, print-wb.c
766 print-ether.c - better handling of unknown types.
767 print-isoclns.c - additional decoding of types.
768 print-llc.c - strings for LLC names added.
769 print-pfloc.c - various enhancements
770 print-radius.c - better decoding to strings.
772 Wed. November 12, 2003. mcr@sandelman.ottawa.on.ca. Summary for 3.8 release
774 changed syntax of -E argument so that multiple SAs can be decrypted
775 fixes for Digital Unix headers and Documentation
777 CDP changes from Terry Kennedy <terry@tmk.com>.
778 IPv6 mobility updates from Kazushi Sugyo <sugyo@pb.jp.nec.com>
779 Fixes for ASN.1 decoder for 2.100.3 forms.
780 Added a count of packets received and processed to clarify numbers.
781 Incorporated WinDUMP patches for Win32 builds.
782 PPPoE payload length headers.
783 Fixes for HP C compiler builds.
784 Use new pcap_breakloop() and pcap_findalldevs() if we can.
785 BGP output split into multiple lines.
786 Fixes to 802.11 decoding.
787 Fixes to PIM decoder.
788 SuperH is a CPU that can't handle unaligned access. Many fixes for
789 unaligned access work.
790 Fixes to Frame-Relay decoder for Q.933/922 frames.
791 Clarified when Solaris can do captures as non-root.
792 Added tests/ subdir for examples/regression tests.
793 New -U flag. -flush stdout after every packet
794 New -A flag -print ascii only
795 support for decoding IS-IS inside Cisco HDLC Frames
796 more verbosity for tftp decoder
799 cross compilation patches
800 RFC 3561 AODV support.
801 UDP/TCP pseudo-checksum properly for source-route options.
802 sanitized all files to modified BSD license
803 Add support for RFC 2625 IP-over-Fibre Channel.
804 fixes for DECnet support.
805 Support RFC 2684 bridging of Ethernet, 802.5 Token Ring, and FDDI.
806 RFC 2684 encapsulation of BPDUs.
808 Tuesday, February 25, 2003. fenner@research.att.com. 3.7.2 release
810 Fixed infinite loop when parsing invalid isakmp packets.
811 (reported by iDefense; already fixed in CVS)
812 Fixed infinite loop when parsing invalid BGP packets.
813 Fixed buffer overflow with certain invalid NFS packets.
814 Pretty-print unprintable network names in 802.11 printer.
815 Handle truncated nbp (appletalk) packets.
816 Updated DHCPv6 printer to match draft-ietf-dhc-dhcpv6-22.txt
817 Print IP protocol name even if we don't have a printer for it.
818 Print IP protocol name or number for fragments.
819 Print the whole MPLS label stack, not just the top label.
820 Print request header and file handle for NFS v3 FSINFO and PATHCONF
822 Fix NFS packet truncation checks.
823 Handle "old" DR-Priority and Bidir-Capable PIM HELLO options.
824 Handle unknown RADIUS attributes properly.
825 Fix an ASN.1 parsing error that would cause e.g. the OID
826 2.100.3 to be misrepresented as 4.20.3 .
828 Monday, January 21, 2002. mcr@sandelman.ottawa.on.ca. Summary for 3.7 release
829 see http://www.tcpdump.org/cvs-log/2002-01-21.10:16:48.html for commit log.
831 Better OSI/802.2 support on Linux.
832 IEEE 802.11 support, from clenahan@fortresstech.com, achirica@ttd.net.
833 LLC SAP support for FDDI/token ring/RFC-1483 style ATM
834 BXXP protocol was replaced by the BEEP protocol;
835 improvements to SNAP demux.
836 Changes to "any" interface documentation.
837 Documentation on pcap_stats() counters.
838 Fix a memory leak found by Miklos Szeredi - pcap_ether_aton().
839 Added MPLS encapsulation decoding per RFC3032.
840 DNS dissector handles TKEY, TSIG and IXFR.
841 adaptive SLIP interface patch from Igor Khristophorov <igor@atdot.org>
842 SMB printing has much improved bounds checks
843 OUI 0x0000f8 decoded as encapsulated ethernet for Cisco-custom bridging
844 Zephyr support, from Nickolai Zeldovich <kolya@MIT.EDU>.
845 Solaris - devices with digits in them. Stefan Hudson <hudson@mbay.net>
846 IPX socket 0x85be is for Cisco EIGRP over IPX.
847 Improvements to fragmented ESP handling.
848 SCTP support from Armando L. Caro Jr. <acaro@mail.eecis.udel.edu>
849 Linux ARPHDR_ATM support fixed.
850 Added a "netbeui" keyword, which selects NetBEUI packets.
851 IPv6 ND improvements, MobileIP dissector, 2292bis-02 for RA option.
852 Handle ARPHDR_HDLC from Marcus Felipe Pereira <marcus@task.com.br>.
853 Handle IPX socket 0x553 -> NetBIOS-over-IPX socket, "nwlink-dgm"
854 Better Linux libc5 compat.
855 BIND9 lwres dissector added.
856 MIPS and SPARC get strict alignment macros (affects print-bgp.c)
857 Apple LocalTalk LINKTYPE_ reserved.
858 New time stamp formats documented.
859 DHCP6 updated to draft-22.txt spec.
860 ICMP types/codes now accept symbolic names.
861 Add SIGINFO handler from LBL
862 encrypted CIPE tunnels in IRIX, from Franz Schaefer <schaefer@mond.at>.
863 now we are -Wstrict-prototype clean.
864 NetBSD DLT_PPP_ETHER; adapted from Martin Husemann <martin@netbsd.org>.
865 PPPoE dissector cleaned up.
866 Support for LocalTalk hardware, from Uns Lider <unslider@miranda.org>.
867 In dissector, now the caller prints the IP addresses rather than proto.
868 cjclark@alum.mit.edu: print the IP proto for non-initial fragments.
869 LLC frames with a DSAP and LSAP of 0xe0 are IPX frames.
870 Linux cooked frames with a type value of LINUX_SLL_P_802_3 are IPX.
871 captures on the "any" device won't be done in promiscuous mode
872 Token Ring support on DLPI - Onno van der Linden <onno@simplex.nl>
873 ARCNet support, from NetBSD.
874 HSRP dissector, from Julian Cowley <julian@lava.net>.
875 Handle (GRE-encapsulated) PPTP
876 added -C option to rotate save file every optarg * 1,000,000 bytes.
877 support for "vrrp" name - NetBSD, by Klaus Klein <kleink@netbsd.org>.
878 PPTP support, from Motonori Shindo <mshindo@mshindo.net>.
879 IS-IS over PPP support, from Hannes Gredler <hannes@juniper.net>.
880 CNFP support for IPv6,format. Harry Raaymakers <harryr@connect.com.au>.
881 ESP printing updated to RFC2406.
882 HP-UX can now handle large number of PPAs.
884 L2TP dissector improvements from Motonori Shindo.
886 Tuesday January 9, 2001. mcr@sandelman.ottawa.on.ca. Summary for 3.6 release
887 Cleaned up documentation.
888 Promisc mode fixes for Linux
889 IPsec changes/cleanups.
890 Alignment fixes for picky architectures
892 Removed dependency on native headers for packet dissectors.
893 Removed Linux specific headers that were shipped
895 libpcap changes provide for exchanging capture files between
896 systems. Save files now have well known PACKET_ values instead of
897 depending upon system dependant mappings of DLT_* types.
899 Support for computing/checking IP and UDP/TCP checksums.
901 Updated autoconf stock files.
903 IPv6 improvements: dhcp (draft-15), mobile-ip6, ppp, ospf6,
905 Added dissector support for: ISOCLNS, Token Ring, IGMPv3, bxxp,
906 timed, vrrp, radius, chdlc, cnfp, cdp, IEEE802.1d, raw-AppleTalk
908 Added filtering support for: VLANs, ESIS, ISIS
910 Improvements to: print-telnet, IPTalk, bootp/dhcp, ECN, PPP,
913 HP-UX 11.0 -- find the right dlpi device.
914 Solaris 8 - IPv6 works
915 Linux - Added support for an "any" device to capture on all interfaces
917 Security fixes: buffer overrun audit done. Strcpy replaced with
918 strlcpy, sprintf replaced with snprintf.
919 Look for lex problems, and warn about them.
922 v3.5 Fri Jan 28 18:00:00 PST 2000
924 Bill Fenner <fenner@research.att.com>
925 - switch to config.h for autoconf
926 - unify RCSID strings
927 - Updated PIMv1, PIMv2, DVMRP, IGMP parsers, add Cisco Auto-RP parser
928 - Really fix the RIP printer
929 - Fix MAC address -> name translation.
930 - some -Wall -Wformat fixes
931 - update makemib to parse much of SMIv2
932 - Print TCP sequence # with -vv even if you normally wouldn't
933 - Print as much of IP/TCP/UDP headers as possible even if truncated.
936 - -X will make a ascii dump. from netbsd.
937 - telnet command sequence decoder (ff xx xx). from netbsd.
938 - print-bgp.c: improve options printing. ugly code exists for
939 unaligned option parsing (need some fix).
940 - const poisoning in SMB decoder.
941 - -Wall -Werror clean checks.
942 - bring in KAME IPv6/IPsec decoding code.
944 Assar Westerlund <assar@sics.se>
945 - SNMPv2 and SNMPv3 printer
946 - If compiled with libsmi, tcpdump can load MIBs on the fly to decode
948 - Incorporate NFS parsing code from NetBSD. Adds support for nfsv3.
950 - permit building in different directories.
952 Ken Hornstein <kenh@cmf.nrl.navy.mil>
954 /afs/transarc.com/public/afs-contrib/tools/tcpdump for parsing
957 Andrew Tridgell <tridge@linuxcare.com>
960 Love <lha@stacken.kth.se>
961 - print-rx.c: add code for printing MakeDir and StoreStatus. Also
962 change date format to the right one.
964 Michael C. Richardson <mcr@sandelman.ottawa.on.ca>
965 - Created tcpdump.org repository
967 v3.4 Sat Jul 25 12:40:55 PDT 1998
969 - Hardwire Linux slip support since it's too hard to detect.
971 - Redo configuration of "network" libraries (-lsocket and -lnsl) to
972 deal with IRIX. Thanks to John Hawkinson (jhawk@mit.edu)
974 - Added -a which tries to translate network and broadcast addresses to
975 names. Suggested by Rob van Nieuwkerk (robn@verdi.et.tudelft.nl)
977 - Added a configure option to disable gcc.
979 - Added a "raw" packet printer.
981 - Not having an interface address is no longer fatal. Requested by John
984 - Rework signal setup to accommodate Linux.
986 - OSPF truncation check fix. Also display the type of OSPF packets
987 using MD5 authentication. Thanks to Brian Wellington
990 - Fix truncation check bugs in the Kerberos printer. Reported by Ezra
991 Peisach (epeisach@mit.edu)
993 - Don't catch SIGHUP when invoked with nohup(1). Thanks to Dave Plonka
996 - Specify full install target as a way of detecting if install
997 directory does not exist. Thanks to Dave Plonka.
999 - Bit-swap FDDI addresses for BSD/OS too. Thanks to Paul Vixie
1002 - Fix off-by-one bug when testing size of ethernet packets. Thanks to
1003 Marty Leisner (leisner@sdsp.mc.xerox.com)
1005 - Add a local autoconf macro to check for routines in libraries; the
1006 autoconf version is broken (it only puts the library name in the
1007 cache variable name). Thanks to John Hawkinson.
1009 - Add a local autoconf macro to check for types; the autoconf version
1010 is broken (it uses grep instead of actually compiling a code fragment).
1012 - Modified to support the new BSD/OS 2.1 PPP and SLIP link layer header
1015 - Extend OSF ip header workaround to versions 1 and 2.
1017 - Fix some signed problems in the nfs printer. As reported by David
1018 Sacerdote (davids@silence.secnet.com)
1020 - Detect group wheel and use it as the default since BSD/OS' install
1021 can't hack numeric groups. Reported by David Sacerdote.
1023 - AIX needs special loader options. Thanks to Jonathan I. Kamens
1026 - Fixed the nfs printer to print port numbers in decimal. Thanks to
1027 Kent Vander Velden (graphix@iastate.edu)
1029 - Find installed libpcap in /usr/local/lib when not using gcc.
1031 - Disallow network masks with non-network bits set.
1033 - Attempt to detect "egcs" versions of gcc.
1035 - Add missing closing double quotes when displaying bootp strings.
1036 Reported by Viet-Trung Luu (vluu@picard.math.uwaterloo.ca)
1038 v3.3 Sat Nov 30 20:56:27 PST 1996
1040 - Added Linux support.
1042 - GRE encapsulated packet printer thanks to John Hawkinson
1045 - Rewrite gmt2local() to avoid problematic os dependencies.
1047 - Suppress nfs truncation message on errors.
1049 - Add missing m4 quoting in AC_LBL_UNALIGNED_ACCESS autoconf macro.
1050 Reported by Joachim Ott (ott@ardala.han.de)
1052 - Enable "ip_hl vs. ip_vhl" workaround for OSF4 too.
1054 - Print arp hardware type in host order. Thanks to Onno van der Linden
1057 - Avoid solaris compiler warnings. Thanks to Bruce Barnett
1058 (barnett@grymoire.crd.ge.com)
1060 - Fix rip printer to not print one more route than is actually in the
1061 packet. Thanks to Jean-Luc Richier (Jean-Luc.Richier@imag.fr) and
1062 Bill Fenner (fenner@parc.xerox.com)
1064 - Use autoconf endian detection since BYTE_ORDER isn't defined on all systems.
1066 - Fix dvmrp printer truncation checks and add a dvmrp probe printer.
1067 Thanks to Danny J. Mitzel (mitzel@ipsilon.com)
1069 - Rewrite ospf printer to improve truncation checks.
1071 - Don't parse tcp options past the EOL. As noted by David Sacerdote
1072 (davids@secnet.com). Also, check tcp options to make sure they ar
1073 actually in the tcp header (in addition to the normal truncation
1074 checks). Fix the SACK code to print the N blocks (instead of the
1075 first block N times).
1077 - Don't say really small UDP packets are truncated just because they
1078 aren't big enough to be a RPC. As noted by David Sacerdote.
1080 v3.2.1 Sun Jul 14 03:02:26 PDT 1996
1082 - Added rfc1716 icmp codes as suggested by Martin Fredriksson
1085 - Print mtu for icmp unreach need frag packets. Thanks to John
1086 Hawkinson (jhawk@mit.edu)
1088 - Decode icmp router discovery messages. Thanks to Jeffrey Honig
1091 - Added a printer entry for DLT_IEEE802 as suggested by Tak Kushida
1092 (kushida@trl.ibm.co.jp)
1094 - Check igmp checksum if possible. Thanks to John Hawkinson.
1096 - Made changes for SINIX. Thanks to Andrej Borsenkow
1097 (borsenkow.msk@sni.de)
1099 - Use autoconf's idea of the top level directory in install targets.
1100 Thanks to John Hawkinson.
1102 - Avoid infinite loop in tcp options printing code. Thanks to Jeffrey
1103 Mogul (mogul@pa.dec.com)
1105 - Avoid using -lsocket in IRIX 5.2 and earlier since it breaks snoop.
1106 Thanks to John Hawkinson.
1108 - Added some more packet truncation checks.
1110 - On systems that have it, use sigset() instead of signal() since
1111 signal() has different semantics on these systems.
1113 - Fixed some more alignment problems on the alpha.
1115 - Add code to massage unprintable characters in the domain and ipx
1116 printers. Thanks to John Hawkinson.
1118 - Added explicit netmask support. Thanks to Steve Nuchia
1119 (steve@research.oknet.com)
1121 - Add "sca" keyword (for DEC cluster services) as suggested by Terry
1122 Kennedy (terry@spcvxa.spc.edu)
1124 - Add "atalk" keyword as suggested by John Hawkinson.
1126 - Added an igrp printer. Thanks to Francis Dupont
1127 (francis.dupont@inria.fr)
1129 - Print IPX net numbers in hex a la Novell Netware. Thanks to Terry
1130 Kennedy (terry@spcvxa.spc.edu)
1132 - Fixed snmp extended tag field parsing bug. Thanks to Pascal Hennequin
1133 (pascal.hennequin@hugo.int-evry.fr)
1135 - Added some ETHERTYPEs missing on some systems.
1137 - Added truncated packet macros and various checks.
1139 - Fixed endian problems with the DECnet printer.
1141 - Use $CC when checking gcc version. Thanks to Carl Lindberg
1142 (carl_lindberg@blacksmith.com)
1144 - Fixes for AIX (although this system is not yet supported). Thanks to
1147 - Fix bugs in the autoconf misaligned accesses code fragment.
1149 - Include sys/param.h to get BYTE_ORDER in a few places. Thanks to
1150 Pavlin Ivanov Radoslavov (pavlin@cs.titech.ac.jp)
1152 v3.2 Sun Jun 23 02:28:10 PDT 1996
1154 - Print new icmp unreachable codes as suggested by Martin Fredriksson
1155 (martin@msp.se). Also print code value when unknown for icmp redirect
1158 - Fix an alignment endian bug in getname(). Thanks to John Hawkinson.
1160 - Define "new" domain record types if not found in arpa/nameserv.h.
1161 Resulted from a suggestion from John Hawkinson (jhawk@mit.edu). Also
1162 fixed an endian bug when printing mx record and added some new record
1165 - Added RIP V2 support. Thanks to Jeffrey Honig (jch@bsdi.com)
1167 - Added T/TCP options printing. As suggested by Richard Stevens
1170 - Use autoconf to detect architectures that can't handle misaligned
1173 v3.1 Thu Jun 13 20:59:32 PDT 1996
1175 - Changed u_int32/int32 to u_int32_t/int32_t to be consistent with bsd
1176 and bind (as suggested by Charles Hannum).
1178 - Port to GNU autoconf.
1180 - Add support for printing DVMRP and PIM traffic thanks to
1181 Havard Eidnes (Havard.Eidnes@runit.sintef.no).
1183 - Fix AppleTalk, IPX and DECnet byte order problems due to wrong endian
1184 define being referenced. Reported by Terry Kennedy.
1186 - Minor fixes to the man page thanks to Mark Andrews.
1188 - Endian fixes to RTP and vat packet dumpers, thanks to Bruce Mah
1189 (bmah@cs.berkeley.edu).
1191 - Added support for new dns types, thanks to Rainer Orth.
1193 - Fixed tftp_print() to print the block number for ACKs.
1195 - Document -dd and -ddd. Resulted from a bug report from Charlie Slater
1196 (cslater@imatek.com).
1198 - Check return status from malloc/calloc/etc.
1200 - Check return status from pcap_loop() so we can print an error and
1201 exit with a bad status if there were problems.
1203 - Bail if ip option length is <= 0. Resulted from a bug report from
1204 Darren Reed (darrenr@vitruvius.arbld.unimelb.edu.au).
1206 - Print out a little more information for sun rpc packets.
1208 - Add suport for Kerberos 4 thanks to John Hawkinson (jhawk@mit.edu).
1210 - Fixed the Fix EXTRACT_SHORT() and EXTRACT_LONG() macros (which were
1211 wrong on little endian machines).
1213 - Fixed alignment bug in ipx_decode(). Thanks to Matt Crawford
1216 - Fix ntp_print() to not print garbage when the stratum is
1217 "unspecified." Thanks to Deus Ex Machina (root@belle.bork.com).
1219 - Rewrote tcp options printer code to check for truncation. Added
1220 selective acknowledgment case.
1222 - Fixed an endian bug in the ospf printer. Thanks to Jeffrey C Honig
1225 - Fix rip printer to handle 4.4 BSD sockaddr struct which only uses one
1226 octet for the sa_family member. Thanks to Yoshitaka Tokugawa
1229 - Don't checksum ip header if we don't have all of it. Thanks to John
1230 Hawkinson (jhawk@mit.edu).
1232 - Print out hostnames if possible in egp printer. Thanks to Jeffrey
1233 Honig (jhc@bsdi.com)
1236 v3.1a1 Wed May 3 19:21:11 PDT 1995
1238 - Include time.h when SVR4 is defined to avoid problems under Solaris
1241 - Fix etheraddr_string() in the ETHER_SERVICE to return the saved
1242 strings, not the local buffer. Thanks to Stefan Petri
1243 (petri@ibr.cs.tu-bs.de).
1245 - Detect when pcap raises the snaplen (e.g. with snit). Print a warning
1246 that the selected value was not used. Thanks to Pascal Hennequin
1247 (Pascal.Hennequin@hugo.int-evry.fr).
1249 - Add a truncated packet test to print-nfs.c. Thanks to Pascal Hennequin.
1251 - BYTEORDER -> BYTE_ORDER Thanks to Terry Kennedy (terry@spcvxa.spc.edu).
1253 v3.0.3 Sun Oct 1 18:35:00 GMT 1995
1255 - Although there never was a 3.0.3 release, the linux boys cleverly
1256 "released" one in late 1995.
1258 v3.0.2 Thu Apr 20 21:28:16 PDT 1995
1260 - Change configuration to not use gcc v2 flags with gcc v1.
1262 - Redo gmt2local() so that it works under BSDI (which seems to return
1263 an empty timezone struct from gettimeofday()). Based on report from
1264 Terry Kennedy (terry@spcvxa.spc.edu).
1266 - Change configure to recognize IP[0-9]* as "mips" SGI hardware. Based
1267 on report from Mark Andrews (mandrews@alias.com).
1269 - Don't pass cc flags to gcc. Resulted from a bug report from Rainer
1270 Orth (ro@techfak.uni-bielefeld.de).
1272 - Fixed printout of connection id for uncompressed tcp slip packets.
1273 Resulted from a bug report from Richard Stevens (rstevens@noao.edu).
1275 - Hack around deficiency in Ultrix's make.
1277 - Add ETHERTYPE_TRAIL define which is missing from irix5.
1279 v3.0.1 Wed Aug 31 22:42:26 PDT 1994
1281 - Fix problems with gcc2 vs. malloc() and read() prototypes under SunOS 4.
1283 v3.0 Mon Jun 20 19:23:27 PDT 1994
1285 - Added support for printing tcp option timestamps thanks to
1286 Mark Andrews (mandrews@alias.com).
1288 - Reorganize protocol dumpers to take const pointers to packets so they
1289 never change the contents (i.e., they used to do endian conversions
1290 in place). Previously, whenever more than one pass was taken over
1291 the packet, the packet contents would be dumped incorrectly (i.e.,
1292 the output form -x would be wrong on little endian machines because
1293 the protocol dumpers would modify the data). Thanks to Charles Hannum
1294 (mycroft@gnu.ai.mit.edu) for reporting this problem.
1296 - Added support for decnet protocol dumping thanks to Jeff Mogul
1299 - Fix bug that caused length of packet to be incorrectly printed
1300 (off by ether header size) for unknown ethernet types thanks
1301 to Greg Miller (gmiller@kayak.mitre.org).
1303 - Added support for IPX protocol dumping thanks to Brad Parker
1306 - Added check to verify IP header checksum under -v thanks to
1307 Brad Parker (brad@fcr.com).
1309 - Move packet capture code to new libpcap library (which is
1310 packaged separately).
1312 - Prototype everything and assume an ansi compiler.
1314 - print-arp.c: Print hardware ethernet addresses if they're not
1317 - print-bootp.c: Decode the cmu vendor field. Add RFC1497 tags.
1318 Many helpful suggestions from Gordon Ross (gwr@jericho.mc.com).
1320 - print-fddi.c: Improvements. Thanks to Jeffrey Mogul
1323 - print-icmp.c: Byte swap netmask before printing. Thanks to
1324 Richard Stevens (rstevens@noao.edu). Print icmp type when unknown.
1326 - print-ip.c: Print the inner ip datagram of ip-in-ip encapsulated packets.
1327 By default, only the inner packet is dumped, appended with the token
1328 "(encap)". Under -v, both the inner and output packets are dumped
1329 (on the same line). Note that the filter applies to the original packet,
1330 not the encapsulated packet. So if you run tcpdump on a net with an
1331 IP Multicast tunnel, you cannot filter out the datagrams using the
1332 conventional syntax. (You can filter away all the ip-in-ip traffic
1333 with "not ip proto 4".)
1335 - print-nfs.c: Keep pending rpc's in circular table. Add generic
1336 nfs header and remove os dependences. Thanks to Jeffrey Mogul.
1338 - print-ospf.c: Improvements. Thanks to Jeffrey Mogul.
1340 - tcpdump.c: Add -T flag allows interpretation of "vat", "wb", "rpc"
1341 (sunrpc) and rtp packets. Added "inbound" and "outbound" keywords
1342 Add && and || operators
1344 v2.2.1 Tue Jun 6 17:57:22 PDT 1992
1346 - Fix bug with -c flag.
1348 v2.2 Fri May 22 17:19:41 PDT 1992
1350 - savefile.c: Remove hack that shouldn't have been exported. Add
1353 - Added the 'icmp' keyword. For example, 'icmp[0] != 8 and icmp[0] != 0'
1354 matches non-echo/reply ICMP packets.
1356 - Many improvements to filter code optimizer.
1358 - Added 'multicast' keyword and extended the 'broadcast' keyword can now be
1359 so that protocol qualifications are allowed. For example, "ip broadcast"
1360 and "ether multicast" are valid filters.
1362 - Added support for monitoring the loopback interface (i.e. 'tcpdump -i lo').
1363 Jeffrey Honig (jch@MITCHELL.CIT.CORNELL.EDU) contributed the kernel
1364 patches to netinet/if_loop.c.
1366 - Added support for the Ungermann-Bass Ethernet on IBM/PC-RTs running AOS.
1367 Contact Jeffrey Honig (jch@MITCHELL.CIT.CORNELL.EDU) for the diffs.
1369 - Added EGP and OSPF printers, thanks to Jeffrey Honig.
1371 v2.1 Tue Jan 28 11:00:14 PST 1992
1373 - Internal release (never publically exported).
1375 v2.0.1 Sun Jan 26 21:10:10 PDT
1377 - Various byte ordering fixes.
1379 - Add truncation checks.
1381 - inet.c: Support BSD style SIOCGIFCONF.
1383 - nametoaddr.c: Handle multi addresses for single host.
1385 - optimize.c: Rewritten.
1387 - pcap-bpf.c: don't choke when we get ptraced. only set promiscuous
1390 - print-atal.c: Fix an alignment bug (thanks to
1391 stanonik@nprdc.navy.mil) Add missing printf() argument.
1393 - print-bootp.c: First attempt at decoding the vendor buffer.
1395 - print-domain.c: Fix truncation checks.
1397 - print-icmp.c: Calculate length of packets from the ip header.
1399 - print-ip.c: Print frag id in decimal (so it's easier to match up
1400 with non-frags). Add support for ospf, egp and igmp.
1402 - print-nfs.c: Lots of changes.
1404 - print-ntp.c: Make some verbose output depend on -v.
1406 - print-snmp.c: New version from John LoVerso.
1408 - print-tcp.c: Print rfc1072 tcp options.
1410 - tcpdump.c: Print "0x" prefix for %x formats. Always print 6 digits
1411 (microseconds) worth of precision. Fix uid bugs.
1413 - A packet dumper has been added (thanks to Jeff Mogul of DECWRL).
1414 With this option, you can create an architecture independent binary
1415 trace file in real time, without the overhead of the packet printer.
1416 At a later time, the packets can be filtered (again) and printed.
1418 - BSD is supported. You must have BPF in your kernel.
1419 Since the filtering is now done in the kernel, fewer packets are
1420 dropped. In fact, with BPF and the packet dumper option, a measly
1421 Sun 3/50 can keep up with a busy network.
1423 - Compressed SLIP packets can now be dumped, provided you use our
1424 SLIP software and BPF. These packets are dumped as any other IP
1425 packet; the compressed headers are dumped with the '-e' option.
1427 - Machines with little-endian byte ordering are supported (thanks to
1430 - Ultrix 4.0 is supported (also thanks to Jeff Mogul).
1432 - IBM RT and Stanford Enetfilter support has been added by
1433 Rayan Zachariassen <rayan@canet.ca>. Tcpdump has been tested under
1434 both the vanilla Enetfilter interface, and the extended interface
1435 (#ifdef'd by IBMRTPC) present in the MERIT version of the Enetfilter.
1437 - TFTP packets are now printed (requests only).
1439 - BOOTP packets are now printed.
1441 - SNMP packets are now printed. (thanks to John LoVerso of Xylogics).
1443 - Sparc architectures, including the Sparcstation-1, are now
1444 supported thanks to Steve McCanne and Craig Leres.
1446 - SunOS 4 is now supported thanks to Micky Liu of Columbia
1447 University (micky@cunixc.cc.columbia.edu).
1449 - IP options are now printed.
1451 - RIP packets are now printed.
1453 - There's a -v flag that prints out more information than the
1454 default (e.g., it will enable printing of IP ttl, tos and id)
1455 and -q flag that prints out less (e.g., it will disable
1456 interpretation of AppleTalk-in-UDP).
1458 - The grammar has undergone substantial changes (if you have an
1459 earlier version of tcpdump, you should re-read the manual
1462 The most useful change is the addition of an expression
1463 syntax that lets you filter on arbitrary fields or values in the
1464 packet. E.g., "ip[0] > 0x45" would print only packets with IP
1465 options, "tcp[13] & 3 != 0" would print only TCP SYN and FIN
1468 The most painful change is that concatenation no longer means
1469 "and" -- e.g., you have to say "host foo and port bar" instead
1470 of "host foo port bar". The up side to this down is that
1471 repeated qualifiers can be omitted, making most filter
1472 expressions shorter. E.g., you can now say "ip host foo and
1473 (bar or baz)" to look at ip traffic between hosts foo and bar or
1474 between hosts foo and baz. [The old way of saying this was "ip
1475 host foo and (ip host bar or ip host baz)".]
1477 v2.0 Sun Jan 13 12:20:40 PST 1991
1479 - Initial public release.