xref: /src/contrib/tcpdump/CHANGES (revision e6083790f217ba7f89cd2957922bd45e35466359)
1Tuesday, December 30, 2025 / The Tcpdump Group
2  Summary for 4.99.6 tcpdump release
3    Remove protocol decoding for:
4      OTV (draft-hasmit-otv-04, this Internet-Draft is no longer active).
5    Refine protocol decoding for:
6      DNS: Use ND_TCHECK_LEN() instead of a custom bounds check.
7      IPv6: Add a missing comma and remove a colon in the output.
8      TCP: Note if the Urgent Pointer is non-zero while URG flag not set,
9           if the verbose level is > 1 (option -vv and more).
10      TCP: Note if the Acknowledgment Number is non-zero while ACK flag not set,
11           if the verbose level is > 1 (option -vv and more).
12      TCP: Fix Reset segment processing.
13      IP, IPv6: Fix setting the snapshot length for the payload.
14      IP: Use ND_TTEST_LEN() instead of a custom bounds check.
15      frag6: Add a bounds check in non-verbose mode.
16      PTP: Remove spaces before colons in output.
17      PTP: Fix management packet fields.
18      ISO: Avoid undefined behavior and integer overflow in the Fletcher
19           checksum calculation.
20      NFS: Delete dead code.
21      BOOTP: Use an uint16_t variable to get the result of a GET_BE_U_2().
22      ZEP: use the existing NTP time formatting code.
23      NTP: Fix p_ntp_time_fmt() using epoch 1/epoch 2 convention (RFC 4330).
24      NTP: Update a field name with the RFC 5905 name (Origin Timestamp).
25      IPv6 mobility: Modernize packet parsing and make fixes.
26      IP6OPTS: Modernize packet parsing and make fixes.
27      VXLAN: Add UDP port 8472 used by Linux as the default port.
28      EGP: Replace custom code with tok2str(); Modernize packet parsing and
29        fix printing with -v option.
30    User interface:
31      Add optional unit suffix on -C file size.
32      Improve the handling of size suffixes for -C.
33      Print errors for options -A, -x[x] and -X[X] (mutually exclusive).
34      Print errors about -C, -G and -z options usage.
35      For PCAP_ERROR_CAPTURE_NOTSUP, show the error message provided
36        by libpcap for that error if it's non-empty.
37      Update the -z option processing. Print "invalid option -- z" when it is.
38      Add the -g option, causing IPv4 output in verbose mode to be on one line.
39    Other:
40      Avoid race condition when receiving signal during shutdown.
41      Always show the interface name in error messages when the
42        interface can't be opened.
43      Clean up the message shown if a -i flag is specified with an
44        interface index that's too large.
45    Source code:
46      Fix '-tt' option printing when time > 2106-02-07T06:28:15Z.
47      Add sub-second packet timestamp checks for invalid micro/nano.
48      Remove unused missing/snprintf.c.
49      Fix incompatible pointer types with time functions calls on Windows.
50      Use C99 macros to define 64-bit constants and maximum 64-bit values.
51    Windows:
52      Fixed to find wpcap.dll if WinPcap isn't installed and Npcap was
53        installed without the WinPcap API compatibility option. (GitHub
54        issue #1226).
55    Building and testing:
56      Makefile.in: Use a local libpcap in the releasecheck target.
57      CMake: Fix build with CMake 3.31.
58      autotools, CMake: don't separately test whether snprintf(3) is
59        available and whether it's suitable - the test for whether it's
60        suitable also fails if it's unavailable.
61      CMake: Skip snprintf(3) tests when cross-compiling.
62      autotools, CMake: fix issues with snprintf test and sanitizers.
63      CMake: check whether check_c_source_runs() works, treat the build
64        as a cross-compile if it doesn't work.
65      Autoconf: Use AC_SYS_YEAR2038_RECOMMENDED when possible if the
66        environment variable BUILD_YEAR2038 = yes (via autogen.sh).
67      Autoconf: Avoid incorrectly include the libpcap's config.h.
68      Autoconf: Refine reporting of os-proto.h.
69      Require config.h to be from the tcpdump build.
70      AppVeyor: Update Npcap SDK to 1.15.
71      autogen.sh: Allow to configure Autoconf warnings.
72      autogen.sh: Delete all trailing blank lines at end of configure.
73
74Friday, August 30, 2024 / The Tcpdump Group
75  Summary for 4.99.5 tcpdump release
76    Refine protocol decoding for:
77      Arista: Use the test .pcap file from pull request #955 (HwInfo).
78      BGP: Fix an undefined behavior when it tries to parse a too-short packet.
79      CARP: Print the protocol name before any GET_().
80      CDP: only hex-dump unknown TLVs in verbose mode.
81      DHCP: parse the SZTP redirect tag.
82      DHCPv6: client-id/server-id DUID type 2 correction; parse the user class,
83        boot file URL, and SZTP redirect options; add DUID-UUID printing
84        (RFC6355).
85      DNS: Detect and correctly handle too-short URI RRs.
86      EAP: Assign ndo_protocol in the eap_print() function.
87      ESP: Don't use EVP_add_cipher_alias() (fixes building on OpenBSD 7.5).
88      Frame Relay (Multilink): Fix the Timestamp Information Element printing.
89      ICMPv6: Fix printing the Home Agent Address Discovery Reply Message.
90      IEEE 802.11: no need for an element ID in the structures for IEs, make
91        the length in the IE structures a u_int, include the "TA" field while
92        printing Block Ack Control frame.
93      IP: Enable TSO (TCP Segmentation Offload) support; fix printing invalid
94        cases as invalid, not truncated; use ND_ICHECKMSG_ZU() to test the
95        header length.
96      IPv6: Fix printing invalid cases as invalid, not truncated; use
97        ND_ICHECKMSG_U() to print an invalid version.
98      IPv6: Fix invalid 32-bit versus 64-bit printouts of fragment headers.
99      ISAKMP: Fix printing Delete payload SPI when size is zero.
100      Kerberos: Print the protocol name, remove a redundant bounds check.
101      lwres: Fix an undefined behavior in pointer arithmetic.
102      OpenFlow 1.0: Fix indentation of PORT_MOD, improve handling of
103          some lengths, and fix handling of snapend.
104      TCP: Test ports < 1024 in port order to select the printer.
105      UDP: Move source port equal BCM_LI_PORT to bottom of long if else chain.
106      UDP: Test ports < 1024 in port order to select the printer.
107      LDP: Add missing fields of the Common Session Parameters TLV and fix the
108        offset for the A&D bits.
109      NFLOG: Use correct AF code points on all OSes.
110      NFS: Avoid printing non-ASCII characters.
111      OSPF: Pad TLVs in LS_OPAQUE_TYPE_RI to multiples of 4 bytes.
112      OSPF: Update LS-Ack printing not to run off the end of the packet.
113      OSPF6: Fix an undefined behavior.
114      pflog: Use nd_ types in struct pfloghdr.
115      PPP: Check if there is some data to hexdump.
116      PPP: Remove an extra colon before LCP Callback Operation.
117      Use the buffer stack for de-escaping PPP; fixes CVE-2024-2397;
118        Note: This problem does not affect any tcpdump release.
119      PTP: Fix spelling of type SIGNALING, Parse major and minor version
120        correctly, Print majorSdoId field instead of just the first bit.
121      RIP: Make a couple trivial protocol updates.
122      RPKI-Router: Refine length and bounds checks.
123      RX: Use the "%Y-%m-%d" date format.
124      smbutil.c: Use the "%Y-%m-%d" date format.
125      SNMP: Fix two undefined behaviors.
126      Text protocols: Fix printing truncation if it is not the case.
127      ZEP: Use the "%Y-%m-%d" date format.
128      ZMTP: Replace custom code with bittok2str().
129    User interface:
130      Print the supported time stamp types (-J) to stdout instead of stderr.
131      Print the list of data link types (-L) to stdout instead of stderr.
132      Use symmetrical quotation characters in error messages.
133      Update --version option to print 32/64-bit build and time_t size.
134      Improve error messages for invalid interface indexes specified
135        with -i.
136      Support "3des" as an alias for "des_ede3_cbc" even if the crypto
137        library doesn't support adding aliases.
138    Source code:
139      tcpdump: Fix a memory leak.
140      child_cleanup: reap as many child processes as possible.
141      Ignore failures when setting the default "any" device DLL to LINUX_SLL2.
142      Fix for backends which doesn't support capsicum.
143      Update ND_BYTES_BETWEEN() macro for better accuracy.
144      Update ND_BYTES_AVAILABLE_AFTER() macro for better accuracy.
145      Introduce new ND_ICHECK*() macros to deduplicate more code.
146      Skip privilege dropping when using -Z root on --with-user builds.
147      Add a nd_printjn() function.
148      Make nd_trunc_longjmp() not static inline.
149      Include <time.h> from netdissect.h.
150      Remove init_crc10_table() and the entourage.
151      Initialize tzcode early.
152      Capsicum support: Fix a 'not defined' macro error.
153      Update the "Error converting time" tests for packet times.
154      Fix warnings when building for 32-bit and defining _TIME_BITS=64.
155      Free interface list just before exiting where it wasn't being
156        freed.
157    Building and testing:
158      Add a configure option to help debugging (--enable-instrument-functions).
159      At build time require a proof of suitable snprintf(3) implementation in
160        libc (and document Solaris 9 as unsupported because of that).
161      Makefile.in: Add two "touch .devel" commands in the releasecheck target.
162      Autoconf: Get --with-user and --with-chroot right.
163      Autoconf: Fix --static-pcap-only test on Solaris 10.
164      Autoconf: Add some warning flags for clang 13 or newer.
165      Autoconf: Update config.{guess,sub}, timestamps 2024-01-01.
166      Autoconf: Add autogen.sh, remove configure and config.h.in and put
167        these generated files in the release tarball.
168      Autoconf: Update the install-sh script to the 2020-11-14.01 version.
169      configure: Apply autoupdate 2.69.
170      CMake: improve the comment before project(tcpdump C).
171      Do not require vsnprintf().
172      tests: Use the -tttt option, by default, for the tests.
173      Autoconf, CMake: Get the size of a void * and a time_t.
174      Fix propagation of cc_werr_cflags() output.
175      Makefile.in: Fix the depend target.
176      mkdep: Exit with a non-zero status if a command fails.
177      Autoconf: use V_INCLS to update the list of include search paths.
178      Autoconf: don't put anything before -I and -L flags for local libpcap.
179      Autoconf, CMake: work around an Xcode 15+ issue.
180      Autoconf, CMake: use pkg-config and Homebrew when looking for
181        libcrypto.
182      Fix Sun C invocation from CMake.
183      mkdep: Use TMPDIR if it is set and not null.
184      Add initial support for building with TinyCC.
185      Makefile.in: Use the variable MAKE instead of the make command.
186      Makefile.in: Add instrumentation configuration in releasecheck target.
187      Make various improvements to the TESTrun script.
188      Untangle detection of pcap_findalldevs().
189      Autoconf: don't use egrep, use $EGREP.
190      Autoconf: check for gethostbyaddr(), not gethostbyname().
191      Autoconf, CMake: search for gethostbyaddr() in libnetwork.
192      Make illumos build warning-free.
193    Documentation:
194      Fixed errors in doc/README.Win32.md and renamed it to README.windows.md.
195      Make various improvements to the man page.
196      Add initial README file for Haiku.
197      Make various improvements to CONTRIBUTING.md.
198      man: Clarify the "any" pseudo-interface further.
199
200Friday, April 7, 2023 / The Tcpdump Group
201  Summary for 4.99.4 tcpdump release
202    Source code:
203      Fix spaces before tabs in indentation.
204    Updated printers:
205      LSP ping: Fix "Unused value" warnings from Coverity.
206      CVE-2023-1801: Fix an out-of-bounds write in the SMB printer.
207      DNS: sync resource types with IANA.
208      ICMPv6: Update the output to show a RPL DAO field name.
209      Geneve: Fix the Geneve UDP port test.
210    Building and testing:
211      Require at least autoconf 2.69.
212      Don't check for strftime(), as it's in C90 and beyond.
213      Update config.{guess,sub}, timestamps 2023-01-01,2023-01-21.
214    Documentation:
215      man: Document TCP flag names better.
216
217Thursday, January 12, 2023 / The Tcpdump Group
218  Summary for 4.99.3 tcpdump release
219    Updated printers:
220      PTP: Use the proper values for the control field and print un-allocated
221        values for the message field as "Reserved" instead of "none".
222    Source code:
223      smbutil.c: Replace obsolete function call (asctime)
224    Building and testing:
225      cmake: Update the minimum required version to 2.8.12 (except Windows).
226      CI: Introduce and use TCPDUMP_CMAKE_TAINTED.
227      Makefile.in: Add the releasecheck target.
228      Makefile.in: Add "make -s install" in the releasecheck target.
229      Cirrus CI: Run the "make releasecheck" command in the Linux task.
230      Makefile.in: Add the whitespacecheck target.
231      Cirrus CI: Run the "make whitespacecheck" command in the Linux task.
232      Address all shellcheck warnings in update-test.sh.
233      Makefile.in: Get rid of a remain of gnuc.h.
234    Documentation:
235      Reformat the installation notes (INSTALL.txt) in Markdown.
236      Convert CONTRIBUTING to Markdown.
237      CONTRIBUTING.md: Document the use of "protocol: " in a commit summary.
238      Add a README file for NetBSD.
239      Fix CMake build to set man page section numbers in tcpdump.1
240
241Saturday, December 31, 2022 / The Tcpdump Group
242  Summary for 4.99.2 tcpdump release
243    Updated printers:
244      BGP: Update cease notification decoding to RFC 9003.
245      BGP: decode BGP link-bandwidth extended community properly.
246      BGP: Fix parsing the AIGP attribute
247      BGP: make sure the path attributes don't go past the end of the packet.
248      BGP: Shutdown message can be up to 255 bytes length according to rfc9003
249      DSA: correctly determine VID.
250      EAP: fix some length checks and output issues.
251      802.11: Fix the misleading comment regarding "From DS", "To DS" Frame
252        Control Flags.
253      802.11: Fetch the CF and TIM IEs a field at a time.
254      802.15.4, BGP, LISP: fix some length checks, compiler warnings,
255        and undefined behavior warnings.
256      PFLOG: Handle LINKTYPE_PFLOG/DLT_PFLOG files from all OSes on all
257        OSes.
258      RRCP: support more Realtek protocols than just RRCP.
259      MPLS: show the EXP field as TC, as per RFC 5462.
260      ICMP: redo MPLS Extension code as general ICMP Extension code.
261      VQP: Do not print unknown error codes twice.
262      Juniper: Add some bounds checks.
263      Juniper: Don't treat known DLT_ types as "Unknown".
264      lwres: Fix a length check, update a variable type.
265      EAP: Fix some undefined behaviors at runtime.
266      Ethernet: Rework the length checks, add a length check.
267      IPX: Add two length checks.
268      Zephyr: Avoid printing non-ASCII characters.
269      VRRP: Print the protocol name before any GET_().
270      DCCP: Get rid of trailing commas in lists.
271      Juniper: Report invalid packets as invalid, not truncated.
272      IPv6: Remove an obsolete code in an always-false #if wrapper.
273      ISAKMP: Use GET_U_1() to replace a direct dereference.
274      RADIUS: Use GET_U_1() to replace a direct dereference.
275      TCP: Fix an invalid check.
276      RESP: Fix an invalid check.
277      RESP: Remove an unnecessary test.
278      Arista: Refine the output format and print HwInfo.
279      sFlow: add support for IPv6 agent, add a length check.
280      VRRP: add support for IPv6.
281      OSPF: Update to match the Router Properties registry.
282      OSPF: Remove two unnecessary dereferences.
283      OSPF: Add support bit Nt RFC3101.
284      OSPFv3: Remove two unnecessary dereferences.
285      ICMPv6: Fix output for Router Renumbering messages.
286      ICMPv6: Fix the Node Information flags.
287      ICMPv6: Remove an unused macro and extra blank lines.
288      ICMPv6: Add a length check in the rpl_dio_print() function.
289      ICMPv6: Use GET_IP6ADDR_STRING() in the rpl_dio_print() function.
290      IPv6: Add some checks for the Hop-by-Hop Options header
291      IPv6: Add a check for the Jumbo Payload Hop-by-Hop option.
292      NFS: Fix the format for printing an unsigned int
293      PTP: fix printing of the correction fields
294      PTP: Use ND_LCHECK_U for checking invalid length.
295      WHOIS: Add its own printer source file and printer function
296      MPTCP: print length before subtype inside MPTCP options
297      ESP: Add a workaround to a "use-of-uninitialized-value".
298      PPP: Add tests to avoid incorrectly re-entering ppp_hdlc().
299      PPP: Don't process further if protocol is unknown (-e option).
300      PPP: Change the pointer to packet data.
301      ZEP: Add three length checks.
302      Add some const qualifiers.
303    Building and testing:
304      Update config.guess and config.sub.
305      Use AS_HELP_STRING macro instead of AC_HELP_STRING.
306      Handle some Autoconf/make errors better.
307      Fix an error when cross-compiling.
308      Use "git archive" for the "make releasetar" process.
309      Remove the release candidate rcX targets.
310      Mend "make check" on Solaris 9 with Autoconf.
311      Address assorted compiler warnings.
312      Fix auto-enabling of Capsicum on FreeBSD with Autoconf.
313      Treat "msys" as Windows for test exit statuses.
314      Clean up some help messages in configure.
315      Use unified diff by default.
316      Remove awk code from mkdep.
317      Fix configure test errors with Clang 15
318      CMake: Prevent stripping of the RPATH on installation.
319      AppVeyor CI: update Npcap site, update to 1.12 SDK.
320      Cirrus CI: Use the same configuration as for the main branch.
321      CI: Add back running tcpdump -J/-L and capture, now with Cirrus VMs.
322      Remove four test files (They are now in the libpcap tests directory).
323      On Solaris, for 64-bit builds, use the 64-bit pcap-config.
324      Tell CMake not to check for a C++ compiler.
325      CMake: Add a way to request -Werror and equivalents.
326      configure: Special-case macOS /usr/bin/pcap-config as we do in CMake.
327      configure: Use pcap-config --static-pcap-only if available.
328      configure: Use ac_c_werror_flag to force unknown compiler flags to fail.
329      configure: Use AC_COMPILE_IFELSE() and AC_LANG_SOURCE() for testing
330        flags.
331      Run the test that fails on OpenBSD only if we're not on OpenBSD.
332    Source code:
333      Fix some snapend-changing routines to protect against pointer
334        underflow.
335      Use __func__ from C99 in some function calls.
336      Memory allocator: Update nd_add_alloc_list() to a static function.
337      addrtoname.c: Fix two invalid tests.
338      Use more S_SUCCESS and S_ERR_HOST_PROGRAM in main().
339      Add some comments about "don't use GET_IP6ADDR_STRING()".
340      Assign ndo->ndo_packetp in pretty_print_packet().
341      Add ND_LCHECKMSG_U, ND_LCHECK_U, ND_LCHECKMSG_ZU and ND_LCHECK_ZU macros.
342      Update tok2strbuf() to a static function.
343      netdissect.h: Keep the link-layer dissectors names sorted.
344      setsignal(): Set SA_RESTART on non-lethal signals (REQ_INFO, FLUSH_PCAP)
345        to avoid corrupting binary pcap output.
346      Use __builtin_unreachable().
347      Fail if nd_push_buffer() or nd_push_snaplen() fails.
348      Improve code style and fix many typos.
349    Documentation:
350      Some man page cleanups.
351      Update the print interface for the packet count to stdout.
352      Note that we require compilers to support at least some of C99.
353      Update AIX and Solaris-related specifics.
354      INSTALL.txt: Add doc/README.*, delete the deleted win32 directory.
355      Update README.md and README.Win32.md.
356      Update some comments with new RFC numbers.
357
358Wednesday, June 9, 2021 by gharris
359  Summary for 4.99.1 tcpdump release
360    Source code:
361      Squelch some compiler warnings
362      ICMP: Update the snapend for some nested IP packets.
363      MACsec: Update the snapend thus the ICV field is not payload
364        for the caller.
365      EIGRP: Fix packet header fields
366      SMB: Disable printer by default in CMake builds
367      OLSR: Print the protocol name even if the packet is invalid
368      MSDP: Print ": " before the protocol name
369      ESP: Remove padding, padding length and next header from the buffer
370      DHCPv6: Update the snapend for nested DHCPv6 packets
371      OpenFlow 1.0: Get snapend right for nested frames.
372      TCP: Update the snapend before decoding a MPTCP option
373      Ethernet, IEEE 802.15.4, IP, L2TP, TCP, ZEP: Add bounds checks
374      ForCES: Refine SPARSEDATA-TLV length check.
375      ASCII/hex: Use nd_trunc_longjmp() in truncation cases
376      GeoNet: Add a ND_TCHECK_LEN() call
377      Replace ND_TCHECK_/memcpy() pairs with GET_CPY_BYTES().
378      BGP: Fix overwrites of global 'astostr' temporary buffer
379      ARP: fix overwrites of static buffer in q922_string().
380      Frame Relay: have q922_string() handle errors better.
381    Building and testing:
382      Rebuild configure script when building release
383      Fix "make clean" for out-of-tree autotools builds
384      CMake: add stuff from CMAKE_PREFIX_PATH to PKG_CONFIG_PATH.
385    Documentation:
386      man: Update a reference as www.cifs.org is gone.
387      man: Update DNS sections
388    Solaris:
389      Fix a compile error with Sun C
390
391Wednesday, December 30, 2020, by mcr@sandelman.ca, denis and fxl.
392  Summary for 4.99.0 tcpdump release
393    CVE-2018-16301: For the -F option handle large input files safely.
394    Improve the contents, wording and formatting of the man page.
395    Print unsupported link-layer protocol packets in hex.
396    Add support for new network protocols and DLTs: Arista, Autosar SOME/IP,
397      Broadcom LI and Ethernet switches tag, IEEE 802.15.9, IP-over-InfiniBand
398      (IPoIB), Linux SLL2, Linux vsockmon, MACsec, Marvell Distributed Switch
399      Architecture, OpenFlow 1.3, Precision Time Protocol (PTP), SSH, WHOIS,
400      ZigBee Encapsulation Protocol (ZEP).
401    Make protocol-specific updates for: AH, DHCP, DNS, ESP, FRF.16, HNCP,
402      ICMP6, IEEE 802.15.4, IPv6, IS-IS, Linux SLL, LLDP, LSP ping, MPTCP, NFS,
403      NSH, NTP, OSPF, OSPF6, PGM, PIM, PPTP, RADIUS, RSVP, Rx, SMB, UDLD,
404      VXLAN-GPE.
405    User interface:
406      Make SLL2 the default for Linux "any" pseudo-device.
407      Add --micro and --nano shorthands.
408      Add --count to print a counter only instead of decoding.
409      Add --print, to cause packet printing even with -w.
410      Add support for remote capture if libpcap supports it.
411      Display the "wireless" flag and connection status.
412      Flush the output packet buffer on a SIGUSR2.
413      Add the snapshot length to the "reading from file ..." message.
414      Fix local time printing (DST offset in timestamps).
415      Allow -C arguments > 2^31-1 GB if they can fit into a long.
416      Handle very large -f files by rejecting them.
417      Report periodic stats only when safe to do so.
418      Print the number of packets captured only as often as necessary.
419      With no -s, or with -s 0, don't specify the snapshot length with newer
420        versions of libpcap.
421      Improve version and usage message printing.
422    Building and testing:
423      Install into bindir, not sbindir.
424      autoconf: replace --with-system-libpcap with --disable-local-libpcap.
425      Require the compiler to support C99.
426      Better detect and use various C compilers and their features.
427      Add CMake as the second build system.
428      Make out-of-tree builds more reliable.
429      Use pkg-config to detect libpcap if available.
430      Improve Windows support.
431      Add more tests and improve the scripts that run them.
432      Test both with "normal" and "x87" floating-point.
433      Eliminate dependency on libdnet.
434    FreeBSD:
435      Print a proper error message about monitor mode VAP.
436      Use libcasper if available.
437      Fix failure to capture on RDMA device.
438      Include the correct capsicum header.
439    Source code:
440      Start the transition to longjmp() for packet truncation handling.
441      Introduce new helper functions, including GET_*(), nd_print_protocol(),
442        nd_print_invalid(), nd_print_trunc(), nd_trunc_longjmp() and others.
443      Put integer signedness right in many cases.
444      Introduce nd_uint*, nd_mac_addr, nd_ipv4 and nd_ipv6 types to fix
445        alignment issues, especially on SPARC.
446      Fix many C compiler, Coverity, UBSan and cppcheck warnings.
447      Fix issues detected with AddressSanitizer.
448      Remove many workarounds for older compilers and OSes.
449      Add a sanity check on packet header length.
450      Add and remove plenty of bounds checks.
451      Clean up pcap_findalldevs() call to find the first interface.
452      Use a short timeout, rather than immediate mode, for text output.
453      Handle DLT_ENC files *not* written on the same OS and byte-order host.
454      Add, and use, macros to do locale-independent case mapping.
455      Use a table instead of getprotobynumber().
456      Get rid of ND_UNALIGNED and ND_TCHECK().
457      Make roundup2() generally available.
458      Resync SMI list against Wireshark.
459      Fix many typos.
460
461Friday, September 20, 2019, by mcr@sandelman.ca
462  A huge thank you to Denis, Francois-Xavier and Guy who did much of the heavy lifting.
463  Summary for 4.9.3 tcpdump release
464    Fix buffer overflow/overread vulnerabilities:
465      CVE-2017-16808 (AoE)
466      CVE-2018-14468 (FrameRelay)
467      CVE-2018-14469 (IKEv1)
468      CVE-2018-14470 (BABEL)
469      CVE-2018-14466 (AFS/RX)
470      CVE-2018-14461 (LDP)
471      CVE-2018-14462 (ICMP)
472      CVE-2018-14465 (RSVP)
473      CVE-2018-14881 (BGP)
474      CVE-2018-14464 (LMP)
475      CVE-2018-14463 (VRRP)
476      CVE-2018-14467 (BGP)
477      CVE-2018-10103 (SMB - partially fixed, but SMB printing disabled)
478      CVE-2018-10105 (SMB - too unreliably reproduced, SMB printing disabled)
479      CVE-2018-14880 (OSPF6)
480      CVE-2018-16451 (SMB)
481      CVE-2018-14882 (RPL)
482      CVE-2018-16227 (802.11)
483      CVE-2018-16229 (DCCP)
484      CVE-2018-16230 (BGP)
485      CVE-2018-16452 (SMB)
486      CVE-2018-16300 (BGP)
487      CVE-2018-16228 (HNCP)
488      CVE-2019-15166 (LMP)
489      CVE-2019-15167 (VRRP)
490    Fix for cmdline argument/local issues:
491      CVE-2018-14879 (tcpdump -V)
492
493Sunday September 3, 2017 denis@ovsienko.info
494  Summary for 4.9.2 tcpdump release
495    Do not use getprotobynumber() for protocol name resolution.  Do not do
496      any protocol name resolution if -n is specified.
497    Improve errors detection in the test scripts.
498    Fix a segfault with OpenSSL 1.1 and improve OpenSSL usage.
499    Clean up IS-IS printing.
500    Fix buffer overflow vulnerabilities:
501      CVE-2017-11543 (SLIP)
502      CVE-2017-13011 (bittok2str_internal)
503    Fix infinite loop vulnerabilities:
504      CVE-2017-12989 (RESP)
505      CVE-2017-12990 (ISAKMP)
506      CVE-2017-12995 (DNS)
507      CVE-2017-12997 (LLDP)
508    Fix buffer over-read vulnerabilities:
509      CVE-2017-11541 (safeputs)
510      CVE-2017-11542 (PIMv1)
511      CVE-2017-12893 (SMB/CIFS)
512      CVE-2017-12894 (lookup_bytestring)
513      CVE-2017-12895 (ICMP)
514      CVE-2017-12896 (ISAKMP)
515      CVE-2017-12897 (ISO CLNS)
516      CVE-2017-12898 (NFS)
517      CVE-2017-12899 (DECnet)
518      CVE-2017-12900 (tok2strbuf)
519      CVE-2017-12901 (EIGRP)
520      CVE-2017-12902 (Zephyr)
521      CVE-2017-12985 (IPv6)
522      CVE-2017-12986 (IPv6 routing headers)
523      CVE-2017-12987 (IEEE 802.11)
524      CVE-2017-12988 (telnet)
525      CVE-2017-12991 (BGP)
526      CVE-2017-12992 (RIPng)
527      CVE-2017-12993 (Juniper)
528      CVE-2017-12994 (BGP)
529      CVE-2017-12996 (PIMv2)
530      CVE-2017-12998 (ISO IS-IS)
531      CVE-2017-12999 (ISO IS-IS)
532      CVE-2017-13000 (IEEE 802.15.4)
533      CVE-2017-13001 (NFS)
534      CVE-2017-13002 (AODV)
535      CVE-2017-13003 (LMP)
536      CVE-2017-13004 (Juniper)
537      CVE-2017-13005 (NFS)
538      CVE-2017-13006 (L2TP)
539      CVE-2017-13007 (Apple PKTAP)
540      CVE-2017-13008 (IEEE 802.11)
541      CVE-2017-13009 (IPv6 mobility)
542      CVE-2017-13010 (BEEP)
543      CVE-2017-13012 (ICMP)
544      CVE-2017-13013 (ARP)
545      CVE-2017-13014 (White Board)
546      CVE-2017-13015 (EAP)
547      CVE-2017-11543 (SLIP)
548      CVE-2017-13016 (ISO ES-IS)
549      CVE-2017-13017 (DHCPv6)
550      CVE-2017-13018 (PGM)
551      CVE-2017-13019 (PGM)
552      CVE-2017-13020 (VTP)
553      CVE-2017-13021 (ICMPv6)
554      CVE-2017-13022 (IP)
555      CVE-2017-13023 (IPv6 mobility)
556      CVE-2017-13024 (IPv6 mobility)
557      CVE-2017-13025 (IPv6 mobility)
558      CVE-2017-13026 (ISO IS-IS)
559      CVE-2017-13027 (LLDP)
560      CVE-2017-13028 (BOOTP)
561      CVE-2017-13029 (PPP)
562      CVE-2017-13030 (PIM)
563      CVE-2017-13031 (IPv6 fragmentation header)
564      CVE-2017-13032 (RADIUS)
565      CVE-2017-13033 (VTP)
566      CVE-2017-13034 (PGM)
567      CVE-2017-13035 (ISO IS-IS)
568      CVE-2017-13036 (OSPFv3)
569      CVE-2017-13037 (IP)
570      CVE-2017-13038 (PPP)
571      CVE-2017-13039 (ISAKMP)
572      CVE-2017-13040 (MPTCP)
573      CVE-2017-13041 (ICMPv6)
574      CVE-2017-13042 (HNCP)
575      CVE-2017-13043 (BGP)
576      CVE-2017-13044 (HNCP)
577      CVE-2017-13045 (VQP)
578      CVE-2017-13046 (BGP)
579      CVE-2017-13047 (ISO ES-IS)
580      CVE-2017-13048 (RSVP)
581      CVE-2017-13049 (Rx)
582      CVE-2017-13050 (RPKI-Router)
583      CVE-2017-13051 (RSVP)
584      CVE-2017-13052 (CFM)
585      CVE-2017-13053 (BGP)
586      CVE-2017-13054 (LLDP)
587      CVE-2017-13055 (ISO IS-IS)
588      CVE-2017-13687 (Cisco HDLC)
589      CVE-2017-13688 (OLSR)
590      CVE-2017-13689 (IKEv1)
591      CVE-2017-13690 (IKEv2)
592      CVE-2017-13725 (IPv6 routing headers)
593
594Sunday July 23, 2017 denis@ovsienko.info
595  Summary for 4.9.1 tcpdump release
596    CVE-2017-11108/Fix bounds checking for STP.
597    Make assorted documentation updates and fix a few typos in tcpdump output.
598    Fixup -C for file size >2GB (GH #488).
599    Show AddressSanitizer presence in version output.
600    Fix a bug in test scripts (exposed in GH #613).
601    On FreeBSD adjust Capsicum capabilities for netmap.
602    On Linux fix a use-after-free when the requested interface does not exist.
603
604Wednesday January 18, 2017 devel.fx.lebail@orange.fr
605  Summary for 4.9.0 tcpdump release
606    General updates:
607    Fix some heap overflows found with American Fuzzy Lop by Hanno Boeck and others
608        (More information in the log with CVE-2016-* and CVE-2017-*)
609    Change the way protocols print link-layer addresses (Fix heap overflows
610        in CALM-FAST and GeoNetworking printers)
611    Pass correct caplen value to ether_print() and some other functions
612    Fix lookup_nsap() to match what isonsap_string() expects
613    Clean up relative time stamp printing (Fix an array overflow)
614    Fix some alignment issues with GCC on Solaris 10 SPARC
615    Add some ND_TTEST_/ND_TCHECK_ macros to simplify writing bounds checks
616    Add a fn_printztn() which returns the number of bytes processed
617    Add nd_init() and nd_cleanup() functions. Improve libsmi support
618    Add CONTRIBUTING file
619    Add a summary comment in all printers
620    Compile with more warning options in devel mode if supported (-Wcast-qual, ...)
621    Fix some leaks found by Valgrind/Memcheck
622    Fix a bunch of de-constifications
623    Squelch some Coverity warnings and some compiler warnings
624    Update Coverity and Travis-CI setup
625    Update Visual Studio files
626
627    Frontend:
628    Fix capsicum support to work with zerocopy buffers in bpf
629    Try opening interfaces by name first, then by name-as-index
630    Work around pcap_create() failures fetching time stamp type lists
631    Fix a segmentation fault with 'tcpdump -J'
632    Improve addrtostr6() bounds checking
633    Add exit_tcpdump() function
634    Don't drop CAP_SYS_CHROOT before chrooting
635    Fixes issue where statistics not reported when -G and -W options used
636
637    Updated printers:
638    802.11: Beginnings of 11ac radiotap support
639    802.11: Check the Protected bit for management frames
640    802.11: Do bounds checking on last_presentp before dereferencing it (Fix a heap overflow)
641    802.11: Fix the radiotap printer to handle the special bits correctly
642    802.11: If we have the MCS field, it's 11n
643    802.11: Only print unknown frame type or subtype messages once
644    802.11: Radiotap dBm values get printed as dB; Update a test output accordingly
645    802.11: Source and destination addresses were backwards
646    AH: Add a bounds check
647    AH: Report to our caller that dissection failed if a bounds check fails
648    AP1394: Print src > dst, not dst > src
649    ARP: Don't assume the target hardware address is <= 6 octets long (Fix a heap overflow)
650    ATALK: Add bounds and length checks (Fix heap overflows)
651    ATM: Add some bounds checks (Fix a heap overflow)
652    ATM: Fix an incorrect bounds check
653    BFD: Update specification from draft to RFC 5880
654    BFD: Update to print optional authentication field
655    BGP: Add support for the AIGP attribute (RFC7311)
656    BGP: Print LARGE_COMMUNITY Path Attribute
657    BGP: Update BGP numbers from IANA; Print minor values for FSM notification
658    BOOTP: Add a bounds check
659    Babel: Add decoder for source-specific extension
660    CDP: Filter out non-printable characters
661    CFM: Fixes to match the IEEE standard, additional bounds and length checks
662    CSLIP: Add more bounds checks (Fix a heap overflow)
663    ClassicalIPoATM: Add a bounds check on LLC+SNAP header (Fix a heap overflow)
664    DHCP: Fix MUDURL and TZ options
665    DHCPv6: Process MUDURL and TZ options
666    DHCPv6: Update Status Codes with RFCs/IANA names
667    DNS: Represent the "DNSSEC OK" bit as "DO" instead of "OK". Add a test case
668    DTP: Improve packet integrity checks
669    EGP: Fix bounds checks
670    ESP: Don't use OpenSSL_add_all_algorithms() in OpenSSL 1.1.0 or later
671    Ethernet: Add some bounds checking before calling isoclns_print (Fix a heap overflow)
672    Ethernet: Print the Length/Type field as length when needed
673    FDDI: Fix -e output for FDDI
674    FR: Add some packet-length checks and improve Q.933 printing (Fix heap overflows)
675    GRE: Add some bounds checks (Fix heap overflows)
676    Geneve: Fix error message with invalid option length; Update list option classes
677    HNCP: Fix incorrect time interval format. Fix handling of IPv4 prefixes
678    ICMP6: Fetch a 32-bit big-endian quantity with EXTRACT_32BITS()
679    IGMP: Add a length check
680    IP: Add a bounds check (Fix a heap overflow)
681    IP: Check before fetching the protocol version (Fix a heap overflow)
682    IP: Don't try to dissect if IP version != 4 (Fix a heap overflow)
683    IP: Stop processing IPPROTO_ values once we hit IPPROTO_IPCOMP
684    IPComp: Check whether we have the CPI before we fetch it (Fix a heap overflow)
685    IPoFC: Fix -e output (IP-over-Fibre Channel)
686    IPv6: Don't overwrite the destination IPv6 address for routing headers
687    IPv6: Fix header printing
688    IPv6: Stop processing IPPROTO_ values once we hit IPPROTO_IPCOMP
689    ISAKMP: Clean up parsing of IKEv2 Security Associations
690    ISOCLNS/IS-IS: Add support for Purge Originator Identifier (RFC6232) and test cases
691    ISOCLNS/IS-IS: Don't overwrite packet data when checking the signature
692    ISOCLNS/IS-IS: Filter out non-printable characters
693    ISOCLNS/IS-IS: Fix segmentation faults
694    ISOCLNS/IS-IS: Have signature_verify() do the copying and clearing
695    ISOCLNS: Add some bounds checks
696    Juniper: Make sure a Juniper header TLV isn't bigger than what's left in the packet (Fix a heap overflow)
697    LLC/SNAP: With -e, print the LLC header before the SNAP header; without it, cut the SNAP header
698    LLC: Add a bounds check (Fix a heap overflow)
699    LLC: Clean up printing of LLC packets
700    LLC: Fix the printing of RFC 948-style IP packets
701    LLC: Skip the LLC and SNAP headers with -x for 802.11 and some other protocols
702    LLDP: Implement IANA OUI and LLDP MUD option
703    MPLS LSP ping: Update printing for RFC 4379, bug fixes, more bounds checks
704    MPLS: "length" is now the *remaining* packet length
705    MPLS: Add bounds and length checks (Fix a heap overflow)
706    NFS: Don't assume the ONC RPC header is nicely aligned
707    NFS: Don't overflow the Opaque_Handle buffer (Fix a segmentation fault)
708    NFS: Don't run past the end of an NFSv3 file handle
709    OLSR: Add a test to cover a HNA sgw case
710    OLSR: Fix 'Advertised networks' count
711    OLSR: Fix printing of smart-gateway HNAs in IPv4
712    OSPF: Add a bounds check for the Hello packet options
713    OSPF: Do more bounds checking
714    OSPF: Fix a segmentation fault
715    OSPF: Fix printing 'ospf_topology_values' default
716    OTV: Add missing bounds checks
717    PGM: Print the formatted IP address, not the raw binary address, as a string
718    PIM: Add some bounds checking (Fix a heap overflow)
719    PIMv2: Fix checksumming of Register messages
720    PPP: Add some bounds checks (Fix a heap overflow)
721    PPP: Report invalid PAP AACK/ANAK packets
722    Q.933: Add a missing bounds check
723    RADIUS: Add Value 13 "VLAN" to Tunnel-Type attribute
724    RADIUS: Filter out non-printable characters
725    RADIUS: Translate UDP/1700 as RADIUS
726    RESP: Do better checking of RESP packets
727    RPKI-RTR: Add a return value check for "fn_printn" call
728    RPKI-RTR: Remove printing when truncated condition already detected
729    RPL: Fix 'Consistency Check' control code
730    RPL: Fix suboption print
731    RSVP: An INTEGRITY object in a submessage covers only the submessage
732    RSVP: Fix an infinite loop; Add bounds and length checks
733    RSVP: Fix some if statements missing brackets
734    RSVP: Have signature_verify() do the copying and clearing
735    RTCP: Add some bounds checks
736    RTP: Add some bounds checks, fix two segmentation faults
737    SCTP: Do more bounds checking
738    SFLOW: Fix bounds checking
739    SLOW: Fix bugs, add checks
740    SMB: Before fetching the flags2 field, make sure we have it
741    SMB: Do bounds checks on NBNS resource types and resource data lengths
742    SNMP: Clean up the "have libsmi but no modules loaded" case
743    SNMP: Clean up the object abbreviation list and fix the code to match them
744    SNMP: Do bounds checks when printing character and octet strings
745    SNMP: Improve ASN.1 bounds checks
746    SNMP: More bounds and length checks
747    STP: Add a bunch of bounds checks, and fix some printing (Fix heap overflows)
748    STP: Filter out non-printable characters
749    TCP: Add bounds and length checks for packets with TCP option 20
750    TCP: Correct TCP option Kind value for TCP Auth and add SCPS-TP
751    TCP: Fix two bounds checks (Fix heap overflows)
752    TCP: Make sure we have the data offset field before fetching it (Fix a heap overflow)
753    TCP: Put TCP-AO option decoding right
754    TFTP: Don't use strchr() to scan packet data (Fix a heap overflow)
755    Telnet: Add some bounds checks
756    TokenRing: Fix -e output
757    UDLD: Fix an infinite loop
758    UDP: Add a bounds check (Fix a heap overflow)
759    UDP: Check against the packet length first
760    VAT: Add some bounds checks
761    VTP: Add a test on Mgmt Domain Name length
762    VTP: Add bounds checks and filter out non-printable characters
763    VXLAN: Add a bound check and a test case
764    ZeroMQ: Fix an infinite loop
765
766Tuesday October 25, 2016 mcr@sandelman.ca
767  Summary for 4.8.1 tcpdump release
768	Fix "-x" for Apple PKTAP and PPI packets
769        Improve separation frontend/backend (tcpdump/libnetdissect)
770        Fix display of timestamps with -tt, -ttt and -ttttt options
771        Add support for the Marvell Extended Distributed Switch Architecture header
772        Use PRIx64 to print a 64-bit number in hex.
773        Printer for HNCP (RFCs 7787 and 7788).
774        dagid is always an IPv6 address, not an opaque 128-bit string, and other fixes to RPL printer.
775        RSVP: Add bounds and length checks
776        OSPF: Do more bounds checking
777        Handle OpenSSL 1.1.x.
778        Initial support for the REdis Serialization Protocol known as RESP.
779        Add printing function for Generic Protocol Extension for VXLAN
780            draft-ietf-nvo3-vxlan-gpe-01
781        Network Service Header: draft-ietf-sfc-nsh-01
782        Don't recompile the filter if the new file has the same DLT.
783        Pass an adjusted struct pcap_pkthdr to the sub-printer.
784        Add three test cases for already fixed CVEs
785           CVE-2014-8767: OLSR
786           CVE-2014-8768: Geonet
787           CVE-2014-8769: AODV
788        Don't do the DDP-over-UDP heuristic first: GitHub issue #499.
789        Use the new debugging routines in libpcap.
790        Harmonize TCP source or destination ports tests with UDP ones
791        Introduce data types to use for integral values in packet structures.
792        RSVP: Fix an infinite loop
793        Support of Type 3 and Type 4 LISP packets.
794        Don't require IPv6 library support in order to support IPv6 addresses.
795        Many many changes to support libnetdissect usage.
796        Add a test that makes unaligned accesses: GitHub issue #478.
797        add a DNSSEC test case: GH #445 and GH #467.
798        BGP: add decoding of ADD-PATH capability
799        fixes to LLC header printing, and RFC948-style IP packets
800
801Friday April 10, 2015 guy@alum.mit.edu
802  Summary for 4.7.4 tcpdump release
803	RPKI to Router Protocol: Fix Segmentation Faults and other problems
804	RPKI to Router Protocol: print strings with fn_printn()
805	wb: fix some bounds checks
806
807Wednesday March 11, 2015 mcr@sandelman.ca
808  Summary for 4.7.3 tcpdump release
809	Capsicum fixes for FreeBSD 10
810
811Tuesday March 10, 2015 mcr@sandelman.ca
812  Summary for 4.7.2 tcpdump release
813	DCCP: update Packet Types with RFC4340/IANA names
814        fixes for CVE-2015-0261: IPv6 mobility header check issue
815        fixes for CVE-2015-2153, 2154, 2155: kday packets
816
817Friday Nov. 12, 2014 guy@alum.mit.edu
818  Summary for 4.7.0 tcpdump release
819        changes to hex printing of CDP packets
820	Fix PPI printing
821	Radius: update Packet Type Codes and Attribute Types with RFC/IANA names
822	Add a routine to print "text protocols", and add FTP/HTTP/SMTP/RTSP support.
823	improvements to telnet printer, even if not -v
824	omit length for bcp, print-tcp uses it
825	formatting fixes for a bunch of protocols
826	new bounds checks for a number of protocols
827	split netflow 1,6, and 6 dissector up.
828	added geneve dissector
829        CVE-2014-9140 PPP dissector fixed.
830
831Tuesday  Sep.  2, 2014 mcr@sandelman.ca
832  Summary for 4.6.2 tcpdump release
833	fix out-of-source-tree builds: find libpcap that is out of source
834	better configure check for libsmi
835
836Saturday Jul. 19, 2014 mcr@sandelman.ca
837  Summary for 4.6.1 tcpdump release
838	added FreeBSD capsicum
839	add a short option '#', same as long option '--number'
840
841Wednesday Jul. 2, 2014 mcr@sandelman.ca
842  Summary for 4.6.0 tcpdump release
843        all of tcpdump is now using the new "NDO" code base (Thanks Denis!)
844        nflog, mobile, forces, pptp, AODV, AHCP, IPv6, OSPFv4, RPL, DHCPv6 enhancements/fixes
845        M3UA decode added.
846        many new test cases: 82 in 4.5.1 to 133 in 4.6.0
847        many improvements to travis continuous integration system: OSX, and Coverity options
848        cleaned up some unnecessary header files
849        Added bittok2str().
850        a number of unaligned access faults fixed
851        -A flag does not consider CR to be printable anymore
852        fx.lebail took over coverity baby sitting
853        default snapshot size increased to 256K for accommodate USB captures
854        WARNING: this release contains a lot of very worthwhile code churn.
855
856Wednesday Jan. 15, 2014 guy@alum.mit.edu
857  Summary for 4.5.2 tcpdump release
858	Man page fix
859	Fix crashes on SPARC
860
861Monday Nov. 11, 2013 mcr@sandelman.ca
862  Summary for 4.5.1 tcpdump release
863	CREDITS file fixes
864
865Thursday Nov. 7, 2013  mcr@sandelman.ca and guy@alum.mit.edu.
866  Summary for 4.5.0 tcpdump release
867        some NFSv4 fixes for printing
868        fix printing of unknown TCP options, and tcp fast-open
869        fixes for syslog parser
870        some gcc-version-specific flag tuning
871        adopt MacOS deprecation workarounds for openssl
872        improvements to babel printing
873        add OpenFlow 1.0 (no SSL) and test cases
874        GeoNet printer.
875        added STBC Rx support
876        improvements to DHCPv6 decoder
877        clarify which autoconf is needed
878	Point users to the the-tcpdump-group repository on GitHub rather
879	    than the mcr repository
880	Add MSDP printer.
881	Fixed IPv6 check on Solaris and other OSes requiring extra
882	    networking libraries.
883	Add support for VXLAN (draft-mahalingam-dutt-dcops-vxlan-03),
884	    and add "vxlan" as an option for -T.
885	Add support for OTV (draft-hasmit-otv-04).
886        fixes for DLT_IEEE802_11_RADIO datalink types
887        added MPTCP decoder
888
889Saturday April 6, 2013 guy@alum.mit.edu.
890  Summary for 4.4.0 tcpdump release
891	RPKI-RTR (RFC6810) is now official (TCP Port 323)
892	Fix detection of OpenSSL libcrypto.
893	Add DNSSL (RFC6106) support.
894	Add "radius" as an option for -T.
895	Update Action codes for handle_action function according to
896	    802.11s amendment.
897	Decode DHCPv6 AFTR-Name option (RFC6334).
898	Updates for Babel.
899	Fix printing of infinite lifetime in ICMPv6.
900	Added support for SPB, SPBM Service Identifier, and Unicast
901	    Address sub-TLV in ISIS.
902	Decode RIPv2 authentication up to RFC4822.
903	Fix RIP Request/full table decoding issues.
904	On Linux systems with cap-ng.h, drop root privileges
905	    using Linux Capabilities.
906	Add support for reading multiple files.
907	Add MS NLB heartbeat printer.
908	Separate multiple nexthops in BGP.
909
910Wednesday  November 28, 2012 guy@alum.mit.edu.
911  Summary for 4.3.1 tcpdump release
912	Print "LLDP, length N" for LLDP packets even when not in verbose
913	    mode, so something is printed even if only the timestamp is
914	    present
915	Document "-T carp"
916	Print NTP poll interval correctly (it's an exponent, so print
917	    both its raw value and 2^value)
918	Document that "-e" is used to get MAC addresses
919	More clearly document that you need to escape or quote
920	    backslashes in filter expressions on the command line
921	Fix some "the the" in the man page
922	Use the right maximum path length
923	Don't treat 192_1_2, when passed to -i, as an interface number
924
925Friday  April 3, 2012.  mcr@sandelman.ca.
926  Summary for 4.3.0 tcpdump release
927        fixes for forces: SPARSE data (per RFC 5810)
928        some more test cases added
929        updates to documentation on -l, -U and -w flags.
930        Fix printing of BGP optional headers.
931        Tried to include DLT_PFSYNC support, failed due to headers required.
932        added TIPC support.
933        Fix LLDP Network Policy bit definitions.
934        fixes for IGMPv3's Max Response Time: it is in units of 0.1 second.
935        SIGUSR1 can be used rather than SIGINFO for stats
936        permit -n flag to affect print-ip for protocol numbers
937        ND_OPT_ADVINTERVAL is in milliseconds, not seconds
938        Teach PPPoE parser about RFC 4638
939
940
941Friday  December 9, 2011.  guy@alum.mit.edu.
942  Summary for 4.2.1 tcpdump release
943	Only build the Babel printer if IPv6 is enabled.
944	Support Babel on port 6696 as well as 6697.
945	Include ppi.h in release tarball.
946	Include all the test files in the release tarball, and don't
947	 "include" test files that no longer exist.
948	Don't assume we have <rpc/rpc.h> - check for it.
949	Support "-T carp" as a way of dissecting IP protocol 112 as CARP
950	 rather than VRRP.
951	Support Hilscher NetAnalyzer link-layer header format.
952	Constify some pointers and fix compiler warnings.
953	Get rid of never-true test.
954	Fix an unintended fall-through in a case statement in the ARP
955	 printer.
956	Fix several cases where sizeof(sizeof(XXX)) was used when just
957	 sizeof(XXX) was intended.
958	Make stricter sanity checks in the ES-IS printer.
959	Get rid of some GCCisms that caused builds to fai with compilers
960	 that don't support them.
961	Fix typo in man page.
962	Added length checks to Babel printer.
963
964Sunday  July 24, 2011.  mcr@sandelman.ca.
965  Summary for 4.2.+
966	merged 802.15.4 decoder from Dmitry Eremin-Solenikov <dbaryshkov
967	  at gmail dot com>
968        updates to forces for new port numbers
969        Use "-H", not "-h", for the 802.11s option. (-h always help)
970        Better ICMPv6 checksum handling.
971        add support for the RPKI/Router Protocol, per -ietf-sidr-rpki-rtr-12
972        get rid of uuencoded pcap test files, git can do binary.
973        sFlow changes for 64-bit counters.
974        fixes for PPI packet header handling and printing.
975        Add DCB Exchange protocol (DCBX) version 1.01.
976        Babel dissector, from Juliusz Chroboczek and Grégoire Henry.
977        improvements to radiotap for rate values > 127.
978        Many improvements to ForCES decode, including fix SCTP TML port
979        updated RPL type code to RPL-17 draft
980        Improve printout of DHCPv6 options.
981        added support and test case for QinQ (802.1q VLAN) packets
982        Handle DLT_IEEE802_15_4_NOFCS like DLT_IEEE802_15_4.
983        Build fixes for Sparc and other machines with alignment restrictions.
984        Merged changes from Debian package.
985        PGM: Add ACK decoding and add PGMCC DATA and FEEDBACK options.
986        Build fixes for OSX (Snow Leopard and others)
987        Add support for IEEE 802.15.4 packets
988
989Tue.    July 20, 2010.  guy@alum.mit.edu.
990  Summary for 4.1.2 tcpdump release
991	If -U is specified, flush the file after creating it, so it's
992	  not zero-length
993	Fix TCP flags output description, and some typos, in the man
994	  page
995	Add a -h flag, and only attempt to recognize 802.11s mesh
996	  headers if it's set
997	When printing the link-layer type list, send *all* output to
998	  stderr
999	Include the CFLAGS setting when configure was run in the
1000	  compiler flags
1001
1002Thu.	April 1, 2010.  guy@alum.mit.edu.
1003  Summary for 4.1.1 tcpdump release
1004	Fix build on systems with PF, such as FreeBSD and OpenBSD.
1005	Don't blow up if a zero-length link-layer address is passed to
1006	  linkaddr_string().
1007
1008Thu.	March 11, 2010.  ken@netfunctional.ca/guy@alum.mit.edu.
1009  Summary for 4.1.0 tcpdump release
1010	Fix printing of MAC addresses for VLAN frames with a length
1011	  field
1012	Add some additional bounds checks and use the EXTRACT_ macros
1013	  more
1014	Add a -b flag to print the AS number in BGP packets in ASDOT
1015	  notation rather than ASPLAIN notation
1016	Add ICMPv6 RFC 5006 support
1017	Decode the access flags in NFS access requests
1018	Handle the new DLT_ for memory-mapped USB captures on Linux
1019	Make the default snapshot (-s) the maximum
1020	Print name of device (when -L is used)
1021	Support for OpenSolaris (and SXCE build 125 and later)
1022	Print new TCP flags
1023	Add support for RPL DIO
1024	Add support for TCP User Timeout (UTO)
1025	Add support for non-standard Ethertypes used by 3com PPPoE gear
1026	Add support for 802.11n and 802.11s
1027	Add support for Transparent Ethernet Bridge ethertype in GRE
1028	Add 4 byte AS support for BGP printer
1029	Add support for the MDT SAFI 66 BG printer
1030	Add basic IPv6 support to print-olsr
1031	Add USB printer
1032	Add printer for ForCES
1033	Handle frames with an FCS
1034	Handle 802.11n Control Wrapper, Block Acq Req and Block Ack frames
1035	Fix TCP sequence number printing
1036	Report 802.2 packets as 802.2 instead of 802.3
1037	Don't include -L/usr/lib in LDFLAGS
1038	On x86_64 Linux, look in lib64 directory too
1039	Lots of code clean ups
1040	Autoconf clean ups
1041	Update testcases to make output changes
1042	Fix compiling with/out smi (--with{,out}-smi)
1043	Fix compiling without IPv6 support (--disable-ipv6)
1044
1045Mon.    October 27, 2008.  ken@netfunctional.ca.  Summary for 4.0.0 tcpdump release
1046        Add support for Bluetooth Sniffing
1047        Add support for Realtek Remote Control Protocol (openrrcp.org.ru)
1048        Add support for 802.11 AVS
1049        Add support for SMB over TCP
1050        Add support for 4 byte BGP AS printing
1051        Add support for compiling on case-insensitive file systems
1052        Add support for ikev2 printing
1053        Update support for decoding AFS
1054        Update DHCPv6 printer
1055        Use newer libpcap API's (allows -B option on all platforms)
1056        Add -I to turn on monitor mode
1057        Bugfixes in lldp, lspping, dccp, ESP, NFS printers
1058        Cleanup unused files and various cruft
1059
1060Mon.    September 10, 2007.  ken@xelerance.com.  Summary for 3.9.8 tcpdump release
1061        Rework ARP printer
1062        Rework OSPFv3 printer
1063        Add support for Frame-Relay ARP
1064        Decode DHCP Option 121 (RFC 3442 Classless Static Route)
1065        Decode DHCP Option 249 (MS Classless Static Route) the same as Option 121
1066        TLV: Add support for Juniper .pcap extensions
1067        Print EGP header in new-world-order style
1068        Converted print-isakmp.c to NETDISSECT
1069        Moved AF specific stuff into af.h
1070        Test subsystem now table driven, and saves outputs and diffs to one place
1071        Require <net/pfvar.h> for pf definitions - allows reading of pflog formatted
1072         libpcap files on an OS other than where the file was generated
1073
1074
1075Wed.	July 23, 2007.  mcr@xelerance.com.  Summary for 3.9.7 libpcap release
1076
1077	NFS: Print unsigned values as such.
1078	RX: parse safely.
1079	BGP: fixes for IPv6-less builds.
1080	801.1ag: use standard codepoint.
1081	use /dev/bpf on systems with such a device.
1082	802.11: print QoS data, avoid dissect of no-data frame, ignore padding.
1083	smb: make sure that we haven't gone past the end of the captured data.
1084	smb: squelch an uninitialized complaint from coverity.
1085	NFS: from NetBSD; don't interpret the reply as a possible NFS reply
1086		if it got MSG_DENIED.
1087	BGP: don't print TLV values that didn't fit, from www.digit-labs.org.
1088	revised INSTALL.txt about libpcap dependency.
1089
1090Wed.	April 25, 2007. ken@xelerance.com.  Summary for 3.9.6 tcpdump release
1091	Update man page to reflect changes to libpcap
1092	Changes to both TCP and IP Printer Output
1093	Fix a potential buffer overflow in the 802.11 printer
1094	Print basic info about a few more Cisco LAN protocols.
1095	mDNS cleanup
1096	ICMP MPLS rework of the extension code
1097	bugfix: use the correct codepoint for the OSPF simple text auth token
1098	 entry, and use safeputs to print the password.
1099	Add support in pflog for additional values
1100	Add support for OIF RSVP Extensions UNI 1.0 Rev. 2 and additional RSVP objects
1101	Add support for the Message-id NACK c-type.
1102	Add support for 802.3ah loopback ctrl msg
1103	Add support for Multiple-STP as per 802.1s
1104	Add support for rapid-SPT as per 802.1w
1105	Add support for CFM Link-trace msg, Link-trace-Reply msg,
1106	 Sender-ID tlv, private tlv, port, interface status
1107	Add support for unidirectional link detection as per
1108	 https://tools.ietf.org/id/draft-foschiano-udld-02.txt
1109	Add support for the olsr protocol as per RFC 3626 plus the LQ
1110	 extensions from olsr.org
1111	Add support for variable-length checksum in DCCP, as per section 9 of
1112	 RFC 4340.
1113	Add support for per-VLAN spanning tree and per-VLAN rapid spanning tree
1114	Add support for Multiple-STP as per 802.1s
1115	Add support for the cisco proprietary 'dynamic trunking protocol'
1116	Add support for the cisco proprietary VTP protocol
1117	Update dhcp6 options table as per IETF standardization activities
1118
1119
1120Tue.	September 19, 2006. ken@xelerance.com. Summary for 3.9.5 tcpdump release
1121
1122	Fix compiling on AIX (, at end of ENUM)
1123	Updated list of DNS RR typecodes
1124	Use local Ethernet defs on WIN32
1125	Add support for Frame-Relay ARP
1126	Fixes for compiling under MSVC++
1127	Add support for parsing Juniper .pcap files
1128	Add support for FRF.16 Multilink Frame-Relay (DLT_MFR)
1129	Rework the OSPFv3 printer
1130	Fix printing for 4.4BSD/NetBSD NFS Filehandles
1131	Add support for Cisco style NLPID encapsulation
1132	Add cisco prop. eigrp related, extended communities
1133	Add support for BGP signaled VPLS
1134	Cleanup the bootp printer
1135	Add support for PPP over Frame-Relay
1136	Add some bounds checking to the IP options code, and clean up
1137	 the options output a bit.
1138	Add additional modp groups to ISAKMP printer
1139	Add support for Address-Withdraw and Label-Withdraw Msgs
1140	Add support for the BFD Discriminator TLV
1141	Fixes for 64bit compiling
1142	Add support for PIMv2 checksum verification
1143	Add support for further dissection of the IPCP Compression Option
1144	Add support for Cisco's proposed VQP protocol
1145	Add basic support for keyed authentication TCP option
1146	Lots of minor cosmetic changes to output printers
1147
1148
1149Mon.	September 19, 2005.  ken@xelerance.com. Summary for 3.9.4 tcpdump release
1150	Decoder support for more Juniper link-layer types
1151	Fix a potential buffer overflow (although it can't occur in
1152		practice).
1153	Fix the handling of unknown management frame types in the 802.11
1154		printer.
1155	Add FRF.16 support, fix various Frame Relay bugs.
1156	Add support for RSVP integrity objects, update fast-reroute
1157		object printer to latest spec.
1158	Clean up documentation of vlan filter expression, document mpls
1159		filter expression.
1160	Document new pppoed and pppoes filter expressions.
1161	Update diffserver-TE codepoints as per RFC 4124.
1162	Spelling fixes in ICMPv6.
1163	Don't require any fields other than flags to be present in IS-IS
1164		restart signaling TLVs, and only print the system ID in
1165		those TLVs as system IDs, not as node IDs.
1166	Support for DCCP.
1167
1168Tue.	July 5, 2005.  ken@xelerance.com. Summary for 3.9.3 tcpdump release
1169
1170	Option to chroot() when dropping privs
1171	Fixes for compiling on nearly every platform,
1172		including improved 64bit support
1173	Many new testcases
1174	Support for sending packets
1175	Many compilation fixes on most platforms
1176	Fixes for recent version of GCC to eliminate warnings
1177	Improved Unicode support
1178
1179	Decoders & DLT Changes, Updates and New:
1180		AES ESP support
1181		Juniper ATM, FRF.15, FRF.16, PPPoE,
1182			ML-FR, ML-PIC, ML-PPP, PL-PPP, LS-PIC
1183			GGSN,ES,MONITOR,SERVICES
1184		L2VPN
1185		Axent Raptor/Symantec Firewall
1186		TCP-MD5 (RFC 2385)
1187		ESP-in-UDP (RFC 3948)
1188		ATM OAM
1189		LMP, LMP Service Discovery
1190		IP over FC
1191		IP over IEEE 1394
1192		BACnet MS/TP
1193		SS7
1194		LDP over TCP
1195		LACP, MARKER as per 802.3ad
1196		PGM (RFC 3208)
1197		LSP-PING
1198		G.7041/Y.1303 Generic Framing Procedure
1199		EIGRP-IP, EIGRP-IPX
1200		ICMP6
1201		Radio - via radiotap
1202		DHCPv6
1203		HDLC over PPP
1204
1205Tue.   March 30, 2004. mcr@sandelman.ottawa.on.ca. Summary for 3.8.3 release
1206
1207	No changes from 3.8.2. Version bumped only to maintain consistency
1208	with libpcap 0.8.3.
1209
1210Mon.   March 29, 2004. mcr@sandelman.ottawa.on.ca. Summary for 3.8.2 release
1211
1212	Fixes for print-isakmp.c      CVE:    CAN-2004-0183, CAN-2004-0184
1213	https://web.archive.org/web/20160328035955/https://www.rapid7.com/resources/advisories/R7-0017.jsp
1214	IP-over-IEEE1394 printing.
1215	some MINGW32 changes.
1216	updates for autoconf 2.5
1217	fixes for print-aodv.c - check for too short packets
1218	formatting changes to print-ascii for hex output.
1219	check for too short packets: print-bgp.c, print-bootp.c, print-cdp.c,
1220		print-chdlc.c, print-domain.c, print-icmp.c, print-icmp6.c,
1221		print-ip.c, print-lwres.c, print-ospf.c, print-pim.c,
1222		print-ppp.c,print-pppoe.c, print-rsvp.c, print-wb.c
1223	print-ether.c - better handling of unknown types.
1224	print-isoclns.c - additional decoding of types.
1225	print-llc.c - strings for LLC names added.
1226	print-pfloc.c - various enhancements
1227	print-radius.c - better decoding to strings.
1228
1229Wed.   November 12, 2003. mcr@sandelman.ottawa.on.ca. Summary for 3.8 release
1230
1231	changed syntax of -E argument so that multiple SAs can be decrypted
1232	fixes for Digital Unix headers and Documentation
1233	__attribute__ fixes
1234	CDP changes from Terry Kennedy <terry@tmk.com>.
1235	IPv6 mobility updates from Kazushi Sugyo <sugyo@pb.jp.nec.com>
1236	Fixes for ASN.1 decoder for 2.100.3 forms.
1237	Added a count of packets received and processed to clarify numbers.
1238	Incorporated WinDUMP patches for Win32 builds.
1239	PPPoE payload length headers.
1240	Fixes for HP C compiler builds.
1241	Use new pcap_breakloop() and pcap_findalldevs() if we can.
1242	BGP output split into multiple lines.
1243	Fixes to 802.11 decoding.
1244	Fixes to PIM decoder.
1245	SuperH is a CPU that can't handle unaligned access. Many fixes for
1246		unaligned access work.
1247	Fixes to Frame-Relay decoder for Q.933/922 frames.
1248	Clarified when Solaris can do captures as non-root.
1249	Added tests/ subdir for examples/regression tests.
1250	New -U flag.	-flush stdout after every packet
1251	New -A flag	-print ascii only
1252	support for decoding IS-IS inside Cisco HDLC Frames
1253	more verbosity for tftp decoder
1254	mDNS decoder
1255	new BFD decoder
1256	cross compilation patches
1257	RFC 3561 AODV support.
1258	UDP/TCP pseudo-checksum properly for source-route options.
1259	sanitized all files to modified BSD license
1260	Add support for RFC 2625 IP-over-Fibre Channel.
1261	fixes for DECnet support.
1262	Support RFC 2684 bridging of Ethernet, 802.5 Token Ring, and FDDI.
1263	RFC 2684 encapsulation of BPDUs.
1264
1265Tuesday, February 25, 2003. fenner@research.att.com.  3.7.2 release
1266
1267	Fixed infinite loop when parsing invalid isakmp packets.
1268	 (reported by iDefense; already fixed in CVS)
1269	Fixed infinite loop when parsing invalid BGP packets.
1270	Fixed buffer overflow with certain invalid NFS packets.
1271	Pretty-print unprintable network names in 802.11 printer.
1272	Handle truncated nbp (appletalk) packets.
1273	Updated DHCPv6 printer to match draft-ietf-dhc-dhcpv6-22.txt
1274	Print IP protocol name even if we don't have a printer for it.
1275	Print IP protocol name or number for fragments.
1276	Print the whole MPLS label stack, not just the top label.
1277	Print request header and file handle for NFS v3 FSINFO and PATHCONF
1278	 requests.
1279	Fix NFS packet truncation checks.
1280	Handle "old" DR-Priority and Bidir-Capable PIM HELLO options.
1281	Handle unknown RADIUS attributes properly.
1282	Fix an ASN.1 parsing error that would cause e.g. the OID
1283	 2.100.3 to be misrepresented as 4.20.3 .
1284
1285Monday, January 21, 2002. mcr@sandelman.ottawa.on.ca. Summary for 3.7 release
1286	keyword "ipx" added.
1287	Better OSI/802.2 support on Linux.
1288	IEEE 802.11 support, from clenahan@fortresstech.com, achirica@ttd.net.
1289	LLC SAP support for FDDI/token ring/RFC-1483 style ATM
1290	BXXP protocol was replaced by the BEEP protocol;
1291	improvements to SNAP demux.
1292	Changes to "any" interface documentation.
1293	Documentation on pcap_stats() counters.
1294	Fix a memory leak found by Miklos Szeredi - pcap_ether_aton().
1295	Added MPLS encapsulation decoding per RFC3032.
1296	DNS dissector handles TKEY, TSIG and IXFR.
1297	adaptive SLIP interface patch from Igor Khristophorov <igor@atdot.org>
1298	SMB printing has much improved bounds checks
1299	OUI 0x0000f8 decoded as encapsulated ethernet for Cisco-custom bridging
1300	Zephyr support, from Nickolai Zeldovich <kolya@MIT.EDU>.
1301	Solaris - devices with digits in them. Stefan Hudson <hudson@mbay.net>
1302	IPX socket 0x85be is for Cisco EIGRP over IPX.
1303	Improvements to fragmented ESP handling.
1304	SCTP support from Armando L. Caro Jr. <acaro@mail.eecis.udel.edu>
1305	Linux ARPHDR_ATM support fixed.
1306	Added a "netbeui" keyword, which selects NetBEUI packets.
1307	IPv6 ND improvements, MobileIP dissector, 2292bis-02 for RA option.
1308	Handle ARPHDR_HDLC from Marcus Felipe Pereira <marcus@task.com.br>.
1309	Handle IPX socket 0x553 -> NetBIOS-over-IPX socket, "nwlink-dgm"
1310	Better Linux libc5 compat.
1311	BIND9 lwres dissector added.
1312	MIPS and SPARC get strict alignment macros (affects print-bgp.c)
1313	Apple LocalTalk LINKTYPE_ reserved.
1314	New time stamp formats documented.
1315	DHCP6 updated to draft-22.txt spec.
1316	ICMP types/codes now accept symbolic names.
1317	Add SIGINFO handler from LBL
1318	encrypted CIPE tunnels in IRIX, from Franz Schaefer <schaefer@mond.at>.
1319	now we are -Wstrict-prototype clean.
1320	NetBSD DLT_PPP_ETHER; adapted from Martin Husemann <martin@netbsd.org>.
1321	PPPoE dissector cleaned up.
1322	Support for LocalTalk hardware, from Uns Lider <unslider@miranda.org>.
1323	In dissector, now the caller prints the IP addresses rather than proto.
1324	cjclark@alum.mit.edu: print the IP proto for non-initial fragments.
1325	LLC frames with a DSAP and LSAP of 0xe0 are IPX frames.
1326	Linux cooked frames with a type value of LINUX_SLL_P_802_3 are IPX.
1327	captures on the "any" device won't be done in promiscuous mode
1328	Token Ring support on DLPI - Onno van der Linden <onno@simplex.nl>
1329	ARCNet support, from NetBSD.
1330	HSRP dissector, from Julian Cowley <julian@lava.net>.
1331	Handle (GRE-encapsulated) PPTP
1332	added -C option to rotate save file every optarg * 1,000,000 bytes.
1333	support for "vrrp" name - NetBSD, by Klaus Klein <kleink@netbsd.org>.
1334	PPTP support, from Motonori Shindo <mshindo@mshindo.net>.
1335	IS-IS over PPP support, from Hannes Gredler <hannes@juniper.net>.
1336	CNFP support for IPv6,format. Harry Raaymakers <harryr@connect.com.au>.
1337	ESP printing updated to RFC2406.
1338	HP-UX can now handle large number of PPAs.
1339	MSDP printer added.
1340	L2TP dissector improvements from Motonori Shindo.
1341
1342Tuesday January 9, 2001. mcr@sandelman.ottawa.on.ca. Summary for 3.6 release
1343	Cleaned up documentation.
1344	Promisc mode fixes for Linux
1345	IPsec changes/cleanups.
1346	Alignment fixes for picky architectures
1347
1348	Removed dependency on native headers for packet dissectors.
1349	Removed Linux specific headers that were shipped
1350
1351	libpcap changes provide for exchanging capture files between
1352	  systems. Save files now have well known PACKET_ values instead of
1353	  depending upon system dependent mappings of DLT_* types.
1354
1355	Support for computing/checking IP and UDP/TCP checksums.
1356
1357	Updated autoconf stock files.
1358
1359	IPv6 improvements: dhcp (draft-15), mobile-ip6, ppp, ospf6,
1360
1361	Added dissector support for: ISOCLNS, Token Ring, IGMPv3, bxxp,
1362		timed, vrrp, radius, chdlc, cnfp, cdp, IEEE802.1d, raw-AppleTalk
1363
1364	Added filtering support for: VLANs, ESIS, ISIS
1365
1366	Improvements to: print-telnet, IPTalk, bootp/dhcp, ECN, PPP,
1367		L2TP, PPPoE
1368
1369	HP-UX 11.0 -- find the right dlpi device.
1370	Solaris 8 - IPv6 works
1371	Linux - Added support for an "any" device to capture on all interfaces
1372
1373	Security fixes: buffer overrun audit done. Strcpy replaced with
1374		strlcpy, sprintf replaced with snprintf.
1375	Look for lex problems, and warn about them.
1376
1377
1378v3.5 Fri Jan 28 18:00:00 PST 2000
1379
1380Bill Fenner <fenner@research.att.com>
1381- switch to config.h for autoconf
1382- unify RCSID strings
1383- Updated PIMv1, PIMv2, DVMRP, IGMP parsers, add Cisco Auto-RP parser
1384- Really fix the RIP printer
1385- Fix MAC address -> name translation.
1386- some -Wall -Wformat fixes
1387- update makemib to parse much of SMIv2
1388- Print TCP sequence # with -vv even if you normally wouldn't
1389- Print as much of IP/TCP/UDP headers as possible even if truncated.
1390
1391itojun@iijlab.net
1392- -X will make a ascii dump.  from netbsd.
1393- telnet command sequence decoder (ff xx xx).  from netbsd.
1394- print-bgp.c: improve options printing.  ugly code exists for
1395  unaligned option parsing (need some fix).
1396- const poisoning in SMB decoder.
1397- -Wall -Werror clean checks.
1398- bring in KAME IPv6/IPsec decoding code.
1399
1400Assar Westerlund  <assar@sics.se>
1401- SNMPv2 and SNMPv3 printer
1402- If compiled with libsmi, tcpdump can load MIBs on the fly to decode
1403  SNMP packets.
1404- Incorporate NFS parsing code from NetBSD.  Adds support for nfsv3.
1405- portability fixes
1406- permit building in different directories.
1407
1408Ken Hornstein <kenh@cmf.nrl.navy.mil>
1409- bring in code at
1410  /afs/transarc.com/public/afs-contrib/tools/tcpdump for parsing
1411  AFS3 packets
1412
1413Andrew Tridgell <tridge@linuxcare.com>
1414- SMB printing code
1415
1416Love <lha@stacken.kth.se>
1417- print-rx.c: add code for printing MakeDir and StoreStatus.  Also
1418  change date format to the right one.
1419
1420Michael C. Richardson  <mcr@sandelman.ottawa.on.ca>
1421- Created tcpdump.org repository
1422
1423v3.4 Sat Jul 25 12:40:55 PDT 1998
1424
1425- Hardwire Linux slip support since it's too hard to detect.
1426
1427- Redo configuration of "network" libraries (-lsocket and -lnsl) to
1428  deal with IRIX. Thanks to John Hawkinson (jhawk@mit.edu)
1429
1430- Added -a which tries to translate network and broadcast addresses to
1431  names. Suggested by Rob van Nieuwkerk (robn@verdi.et.tudelft.nl)
1432
1433- Added a configure option to disable gcc.
1434
1435- Added a "raw" packet printer.
1436
1437- Not having an interface address is no longer fatal. Requested by John
1438  Hawkinson.
1439
1440- Rework signal setup to accommodate Linux.
1441
1442- OSPF truncation check fix. Also display the type of OSPF packets
1443  using MD5 authentication. Thanks to Brian Wellington
1444  (bwelling@tis.com)
1445
1446- Fix truncation check bugs in the Kerberos printer. Reported by Ezra
1447  Peisach (epeisach@mit.edu)
1448
1449- Don't catch SIGHUP when invoked with nohup(1). Thanks to Dave Plonka
1450  (plonka@mfa.com)
1451
1452- Specify full install target as a way of detecting if install
1453  directory does not exist. Thanks to Dave Plonka.
1454
1455- Bit-swap FDDI addresses for BSD/OS too. Thanks to Paul Vixie
1456  (paul@vix.com)
1457
1458- Fix off-by-one bug when testing size of ethernet packets. Thanks to
1459  Marty Leisner (leisner@sdsp.mc.xerox.com)
1460
1461- Add a local autoconf macro to check for routines in libraries; the
1462  autoconf version is broken (it only puts the library name in the
1463  cache variable name). Thanks to John Hawkinson.
1464
1465- Add a local autoconf macro to check for types; the autoconf version
1466  is broken (it uses grep instead of actually compiling a code fragment).
1467
1468- Modified to support the new BSD/OS 2.1 PPP and SLIP link layer header
1469  formats.
1470
1471- Extend OSF ip header workaround to versions 1 and 2.
1472
1473- Fix some signed problems in the nfs printer. As reported by David
1474  Sacerdote (davids@silence.secnet.com)
1475
1476- Detect group wheel and use it as the default since BSD/OS' install
1477  can't hack numeric groups. Reported by David Sacerdote.
1478
1479- AIX needs special loader options. Thanks to Jonathan I. Kamens
1480  (jik@cam.ov.com)
1481
1482- Fixed the nfs printer to print port numbers in decimal. Thanks to
1483  Kent Vander Velden (graphix@iastate.edu)
1484
1485- Find installed libpcap in /usr/local/lib when not using gcc.
1486
1487- Disallow network masks with non-network bits set.
1488
1489- Attempt to detect "egcs" versions of gcc.
1490
1491- Add missing closing double quotes when displaying bootp strings.
1492  Reported by Viet-Trung Luu (vluu@picard.math.uwaterloo.ca)
1493
1494v3.3 Sat Nov 30 20:56:27 PST 1996
1495
1496- Added Linux support.
1497
1498- GRE encapsulated packet printer thanks to John Hawkinson
1499  (jhawk@mit.edu)
1500
1501- Rewrite gmt2local() to avoid problematic os dependencies.
1502
1503- Suppress nfs truncation message on errors.
1504
1505- Add missing m4 quoting in AC_LBL_UNALIGNED_ACCESS autoconf macro.
1506  Reported by Joachim Ott (ott@ardala.han.de)
1507
1508- Enable "ip_hl vs. ip_vhl" workaround for OSF4 too.
1509
1510- Print arp hardware type in host order. Thanks to Onno van der Linden
1511  (onno@simplex.nl)
1512
1513- Avoid solaris compiler warnings. Thanks to Bruce Barnett
1514  (barnett@grymoire.crd.ge.com)
1515
1516- Fix rip printer to not print one more route than is actually in the
1517  packet. Thanks to Jean-Luc Richier (Jean-Luc.Richier@imag.fr) and
1518  Bill Fenner (fenner@parc.xerox.com)
1519
1520- Use autoconf endian detection since BYTE_ORDER isn't defined on all systems.
1521
1522- Fix dvmrp printer truncation checks and add a dvmrp probe printer.
1523  Thanks to Danny J. Mitzel (mitzel@ipsilon.com)
1524
1525- Rewrite ospf printer to improve truncation checks.
1526
1527- Don't parse tcp options past the EOL. As noted by David Sacerdote
1528  (davids@secnet.com). Also, check tcp options to make sure they ar
1529  actually in the tcp header (in addition to the normal truncation
1530  checks). Fix the SACK code to print the N blocks (instead of the
1531  first block N times).
1532
1533- Don't say really small UDP packets are truncated just because they
1534  aren't big enough to be a RPC. As noted by David Sacerdote.
1535
1536v3.2.1 Sun Jul 14 03:02:26 PDT 1996
1537
1538- Added rfc1716 icmp codes as suggested by Martin Fredriksson
1539  (martin@msp.se)
1540
1541- Print mtu for icmp unreach need frag packets. Thanks to John
1542  Hawkinson (jhawk@mit.edu)
1543
1544- Decode icmp router discovery messages. Thanks to Jeffrey Honig
1545  (jch@bsdi.com)
1546
1547- Added a printer entry for DLT_IEEE802 as suggested by Tak Kushida
1548  (kushida@trl.ibm.co.jp)
1549
1550- Check igmp checksum if possible. Thanks to John Hawkinson.
1551
1552- Made changes for SINIX. Thanks to Andrej Borsenkow
1553  (borsenkow.msk@sni.de)
1554
1555- Use autoconf's idea of the top level directory in install targets.
1556  Thanks to John Hawkinson.
1557
1558- Avoid infinite loop in tcp options printing code. Thanks to Jeffrey
1559  Mogul (mogul@pa.dec.com)
1560
1561- Avoid using -lsocket in IRIX 5.2 and earlier since it breaks snoop.
1562  Thanks to John Hawkinson.
1563
1564- Added some more packet truncation checks.
1565
1566- On systems that have it, use sigset() instead of signal() since
1567  signal() has different semantics on these systems.
1568
1569- Fixed some more alignment problems on the alpha.
1570
1571- Add code to massage unprintable characters in the domain and ipx
1572  printers. Thanks to John Hawkinson.
1573
1574- Added explicit netmask support. Thanks to Steve Nuchia
1575  (steve@research.oknet.com)
1576
1577- Add "sca" keyword (for DEC cluster services) as suggested by Terry
1578  Kennedy (terry@spcvxa.spc.edu)
1579
1580- Add "atalk" keyword as suggested by John Hawkinson.
1581
1582- Added an igrp printer. Thanks to Francis Dupont
1583  (francis.dupont@inria.fr)
1584
1585- Print IPX net numbers in hex a la Novell Netware. Thanks to Terry
1586  Kennedy (terry@spcvxa.spc.edu)
1587
1588- Fixed snmp extended tag field parsing bug. Thanks to Pascal Hennequin
1589  (pascal.hennequin@hugo.int-evry.fr)
1590
1591- Added some ETHERTYPEs missing on some systems.
1592
1593- Added truncated packet macros and various checks.
1594
1595- Fixed endian problems with the DECnet printer.
1596
1597- Use $CC when checking gcc version. Thanks to Carl Lindberg
1598  (carl_lindberg@blacksmith.com)
1599
1600- Fixes for AIX (although this system is not yet supported). Thanks to
1601  John Hawkinson.
1602
1603- Fix bugs in the autoconf misaligned accesses code fragment.
1604
1605- Include sys/param.h to get BYTE_ORDER in a few places. Thanks to
1606  Pavlin Ivanov Radoslavov (pavlin@cs.titech.ac.jp)
1607
1608v3.2 Sun Jun 23 02:28:10 PDT 1996
1609
1610- Print new icmp unreachable codes as suggested by Martin Fredriksson
1611  (martin@msp.se). Also print code value when unknown for icmp redirect
1612  and time exceeded.
1613
1614- Fix an alignment endian bug in getname(). Thanks to John Hawkinson.
1615
1616- Define "new" domain record types if not found in arpa/nameserv.h.
1617  Resulted from a suggestion from John Hawkinson (jhawk@mit.edu). Also
1618  fixed an endian bug when printing mx record and added some new record
1619  types.
1620
1621- Added RIP V2 support. Thanks to Jeffrey Honig (jch@bsdi.com)
1622
1623- Added T/TCP options printing. As suggested by Richard Stevens
1624  (rstevens@noao.edu)
1625
1626- Use autoconf to detect architectures that can't handle misaligned
1627  accesses.
1628
1629v3.1 Thu Jun 13 20:59:32 PDT 1996
1630
1631- Changed u_int32/int32 to u_int32_t/int32_t to be consistent with bsd
1632  and bind (as suggested by Charles Hannum).
1633
1634- Port to GNU autoconf.
1635
1636- Add support for printing DVMRP and PIM traffic thanks to
1637  Havard Eidnes (Havard.Eidnes@runit.sintef.no).
1638
1639- Fix AppleTalk, IPX and DECnet byte order problems due to wrong endian
1640  define being referenced. Reported by Terry Kennedy.
1641
1642- Minor fixes to the man page thanks to Mark Andrews.
1643
1644- Endian fixes to RTP and vat packet dumpers, thanks to Bruce Mah
1645  (bmah@cs.berkeley.edu).
1646
1647- Added support for new dns types, thanks to Rainer Orth.
1648
1649- Fixed tftp_print() to print the block number for ACKs.
1650
1651- Document -dd and -ddd. Resulted from a bug report from Charlie Slater
1652  (cslater@imatek.com).
1653
1654- Check return status from malloc/calloc/etc.
1655
1656- Check return status from pcap_loop() so we can print an error and
1657  exit with a bad status if there were problems.
1658
1659- Bail if ip option length is <= 0. Resulted from a bug report from
1660  Darren Reed (darrenr@vitruvius.arbld.unimelb.edu.au).
1661
1662- Print out a little more information for sun rpc packets.
1663
1664- Add support for Kerberos 4 thanks to John Hawkinson (jhawk@mit.edu).
1665
1666- Fixed the Fix EXTRACT_SHORT() and EXTRACT_LONG() macros (which were
1667  wrong on little endian machines).
1668
1669- Fixed alignment bug in ipx_decode(). Thanks to Matt Crawford
1670  (crawdad@fnal.gov).
1671
1672- Fix ntp_print() to not print garbage when the stratum is
1673  "unspecified." Thanks to Deus Ex Machina (root@belle.bork.com).
1674
1675- Rewrote tcp options printer code to check for truncation. Added
1676  selective acknowledgment case.
1677
1678- Fixed an endian bug in the ospf printer. Thanks to Jeffrey C Honig
1679  (jch@bsdi.com)
1680
1681- Fix rip printer to handle 4.4 BSD sockaddr struct which only uses one
1682  octet for the sa_family member. Thanks to Yoshitaka Tokugawa
1683  (toku@dit.co.jp)
1684
1685- Don't checksum ip header if we don't have all of it. Thanks to John
1686  Hawkinson (jhawk@mit.edu).
1687
1688- Print out hostnames if possible in egp printer. Thanks to Jeffrey
1689  Honig (jhc@bsdi.com)
1690
1691
1692v3.1a1 Wed May  3 19:21:11 PDT 1995
1693
1694- Include time.h when SVR4 is defined to avoid problems under Solaris
1695  2.3.
1696
1697- Fix etheraddr_string() in the ETHER_SERVICE to return the saved
1698  strings, not the local buffer. Thanks to Stefan Petri
1699  (petri@ibr.cs.tu-bs.de).
1700
1701- Detect when pcap raises the snaplen (e.g. with snit). Print a warning
1702  that the selected value was not used. Thanks to Pascal Hennequin
1703  (Pascal.Hennequin@hugo.int-evry.fr).
1704
1705- Add a truncated packet test to print-nfs.c. Thanks to Pascal Hennequin.
1706
1707- BYTEORDER -> BYTE_ORDER Thanks to Terry Kennedy (terry@spcvxa.spc.edu).
1708
1709v3.0.3 Sun Oct  1 18:35:00 GMT 1995
1710
1711- Although there never was a 3.0.3 release, the linux boys cleverly
1712  "released" one in late 1995.
1713
1714v3.0.2 Thu Apr 20 21:28:16 PDT 1995
1715
1716- Change configuration to not use gcc v2 flags with gcc v1.
1717
1718- Redo gmt2local() so that it works under BSDI (which seems to return
1719  an empty timezone struct from gettimeofday()). Based on report from
1720  Terry Kennedy (terry@spcvxa.spc.edu).
1721
1722- Change configure to recognize IP[0-9]* as "mips" SGI hardware. Based
1723  on report from Mark Andrews (mandrews@alias.com).
1724
1725- Don't pass cc flags to gcc. Resulted from a bug report from Rainer
1726  Orth (ro@techfak.uni-bielefeld.de).
1727
1728- Fixed printout of connection id for uncompressed tcp slip packets.
1729  Resulted from a bug report from Richard Stevens (rstevens@noao.edu).
1730
1731- Hack around deficiency in Ultrix's make.
1732
1733- Add ETHERTYPE_TRAIL define which is missing from irix5.
1734
1735v3.0.1 Wed Aug 31 22:42:26 PDT 1994
1736
1737- Fix problems with gcc2 vs. malloc() and read() prototypes under SunOS 4.
1738
1739v3.0 Mon Jun 20 19:23:27 PDT 1994
1740
1741- Added support for printing tcp option timestamps thanks to
1742  Mark Andrews (mandrews@alias.com).
1743
1744- Reorganize protocol dumpers to take const pointers to packets so they
1745  never change the contents (i.e., they used to do endian conversions
1746  in place).  Previously, whenever more than one pass was taken over
1747  the packet, the packet contents would be dumped incorrectly (i.e.,
1748  the output form -x would be wrong on little endian machines because
1749  the protocol dumpers would modify the data).  Thanks to Charles Hannum
1750  (mycroft@gnu.ai.mit.edu) for reporting this problem.
1751
1752- Added support for decnet protocol dumping thanks to Jeff Mogul
1753  (mogul@pa.dec.com).
1754
1755- Fix bug that caused length of packet to be incorrectly printed
1756  (off by ether header size) for unknown ethernet types thanks
1757  to Greg Miller (gmiller@kayak.mitre.org).
1758
1759- Added support for IPX protocol dumping thanks to Brad Parker
1760  (brad@fcr.com).
1761
1762- Added check to verify IP header checksum under -v thanks to
1763  Brad Parker (brad@fcr.com).
1764
1765- Move packet capture code to new libpcap library (which is
1766  packaged separately).
1767
1768- Prototype everything and assume an ansi compiler.
1769
1770- print-arp.c: Print hardware ethernet addresses if they're not
1771  what we expect.
1772
1773- print-bootp.c: Decode the cmu vendor field. Add RFC1497 tags.
1774  Many helpful suggestions from Gordon Ross (gwr@jericho.mc.com).
1775
1776- print-fddi.c: Improvements. Thanks to Jeffrey Mogul
1777  (mogul@pa.dec.com).
1778
1779- print-icmp.c: Byte swap netmask before printing. Thanks to
1780  Richard Stevens (rstevens@noao.edu). Print icmp type when unknown.
1781
1782- print-ip.c: Print the inner ip datagram of ip-in-ip encapsulated packets.
1783  By default, only the inner packet is dumped, appended with the token
1784  "(encap)".  Under -v, both the inner and output packets are dumped
1785  (on the same line).  Note that the filter applies to the original packet,
1786  not the encapsulated packet.  So if you run tcpdump on a net with an
1787  IP Multicast tunnel, you cannot filter out the datagrams using the
1788  conventional syntax.  (You can filter away all the ip-in-ip traffic
1789  with "not ip proto 4".)
1790
1791- print-nfs.c: Keep pending rpc's in circular table. Add generic
1792  nfs header and remove os dependences. Thanks to Jeffrey Mogul.
1793
1794- print-ospf.c: Improvements. Thanks to Jeffrey Mogul.
1795
1796- tcpdump.c: Add -T flag allows interpretation of "vat", "wb", "rpc"
1797  (sunrpc) and rtp packets. Added "inbound" and "outbound" keywords
1798  Add && and || operators
1799
1800v2.2.1 Tue Jun 6 17:57:22 PDT 1992
1801
1802- Fix bug with -c flag.
1803
1804v2.2 Fri May 22 17:19:41 PDT 1992
1805
1806- savefile.c: Remove hack that shouldn't have been exported. Add
1807  truncate checks.
1808
1809- Added the 'icmp' keyword.  For example, 'icmp[0] != 8 and icmp[0] != 0'
1810  matches non-echo/reply ICMP packets.
1811
1812- Many improvements to filter code optimizer.
1813
1814- Added 'multicast' keyword and extended the 'broadcast' keyword can now be
1815  so that protocol qualifications are allowed. For example, "ip broadcast"
1816  and "ether multicast" are valid filters.
1817
1818- Added support for monitoring the loopback interface (i.e. 'tcpdump -i lo').
1819  Jeffrey Honig (jch@MITCHELL.CIT.CORNELL.EDU) contributed the kernel
1820  patches to netinet/if_loop.c.
1821
1822- Added support for the Ungermann-Bass Ethernet on IBM/PC-RTs running AOS.
1823  Contact Jeffrey Honig (jch@MITCHELL.CIT.CORNELL.EDU) for the diffs.
1824
1825- Added EGP and OSPF printers, thanks to Jeffrey Honig.
1826
1827v2.1 Tue Jan 28 11:00:14 PST 1992
1828
1829- Internal release (never publicly exported).
1830
1831v2.0.1 Sun Jan 26 21:10:10 PDT
1832
1833- Various byte ordering fixes.
1834
1835- Add truncation checks.
1836
1837- inet.c: Support BSD style SIOCGIFCONF.
1838
1839- nametoaddr.c: Handle multi addresses for single host.
1840
1841- optimize.c: Rewritten.
1842
1843- pcap-bpf.c: don't choke when we get ptraced. only set promiscuous
1844  for broadcast nets.
1845
1846- print-atal.c: Fix an alignment bug (thanks to
1847  stanonik@nprdc.navy.mil) Add missing printf() argument.
1848
1849- print-bootp.c: First attempt at decoding the vendor buffer.
1850
1851- print-domain.c: Fix truncation checks.
1852
1853- print-icmp.c: Calculate length of packets from the ip header.
1854
1855- print-ip.c: Print frag id in decimal (so it's easier to match up
1856  with non-frags). Add support for ospf, egp and igmp.
1857
1858- print-nfs.c: Lots of changes.
1859
1860- print-ntp.c: Make some verbose output depend on -v.
1861
1862- print-snmp.c: New version from John LoVerso.
1863
1864- print-tcp.c: Print rfc1072 tcp options.
1865
1866- tcpdump.c: Print "0x" prefix for %x formats. Always print 6 digits
1867  (microseconds) worth of precision. Fix uid bugs.
1868
1869- A packet dumper has been added (thanks to Jeff Mogul of DECWRL).
1870  With this option, you can create an architecture independent binary
1871  trace file in real time, without the overhead of the packet printer.
1872  At a later time, the packets can be filtered (again) and printed.
1873
1874- BSD is supported.  You must have BPF in your kernel.
1875  Since the filtering is now done in the kernel, fewer packets are
1876  dropped.  In fact, with BPF and the packet dumper option, a measly
1877  Sun 3/50 can keep up with a busy network.
1878
1879- Compressed SLIP packets can now be dumped, provided you use our
1880  SLIP software and BPF.  These packets are dumped as any other IP
1881  packet; the compressed headers are dumped with the '-e' option.
1882
1883- Machines with little-endian byte ordering are supported (thanks to
1884  Jeff Mogul).
1885
1886- Ultrix 4.0 is supported (also thanks to Jeff Mogul).
1887
1888- IBM RT and Stanford Enetfilter support has been added by
1889  Rayan Zachariassen <rayan@canet.ca>.  tcpdump has been tested under
1890  both the vanilla Enetfilter interface, and the extended interface
1891  (#ifdef'd by IBMRTPC) present in the MERIT version of the Enetfilter.
1892
1893- TFTP packets are now printed (requests only).
1894
1895- BOOTP packets are now printed.
1896
1897- SNMP packets are now printed. (thanks to John LoVerso of Xylogics).
1898
1899- Sparc architectures, including the Sparcstation-1, are now
1900  supported thanks to Steve McCanne and Craig Leres.
1901
1902- SunOS 4 is now supported thanks to Micky Liu of Columbia
1903  University (micky@cunixc.cc.columbia.edu).
1904
1905- IP options are now printed.
1906
1907- RIP packets are now printed.
1908
1909- There's a -v flag that prints out more information than the
1910  default (e.g., it will enable printing of IP ttl, tos and id)
1911  and -q flag that prints out less (e.g., it will disable
1912  interpretation of AppleTalk-in-UDP).
1913
1914- The grammar has undergone substantial changes (if you have an
1915  earlier version of tcpdump, you should re-read the manual
1916  entry).
1917
1918  The most useful change is the addition of an expression
1919  syntax that lets you filter on arbitrary fields or values in the
1920  packet.  E.g., "ip[0] > 0x45" would print only packets with IP
1921  options, "tcp[13] & 3 != 0" would print only TCP SYN and FIN
1922  packets.
1923
1924  The most painful change is that concatenation no longer means
1925  "and" -- e.g., you have to say "host foo and port bar" instead
1926  of "host foo port bar".  The up side to this down is that
1927  repeated qualifiers can be omitted, making most filter
1928  expressions shorter.  E.g., you can now say "ip host foo and
1929  (bar or baz)" to look at ip traffic between hosts foo and bar or
1930  between hosts foo and baz.  [The old way of saying this was "ip
1931  host foo and (ip host bar or ip host baz)".]
1932
1933v2.0 Sun Jan 13 12:20:40 PST 1991
1934
1935- Initial public release.
1936