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