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