1@(#) $Header: CHANGES,v 1.54 98/07/25 12:41:06 leres Exp $ (LBL) 2 3v3.4 Sat Jul 25 12:40:55 PDT 1998 4 5- Hardwire Linux slip support since it's too hard to detect. 6 7- Redo configuration of "network" libraries (-lsocket and -lnsl) to 8 deal with IRIX. Thanks to John Hawkinson (jhawk@mit.edu) 9 10- Added -a which tries to translate network and broadcast addresses to 11 names. Suggested by Rob van Nieuwkerk (robn@verdi.et.tudelft.nl) 12 13- Added a configure option to disable gcc. 14 15- Added a "raw" packet printer. 16 17- Not having an interface address is no longer fatal. Requested by John 18 Hawkinson. 19 20- Rework signal setup to accommodate Linux. 21 22- OSPF truncation check fix. Also display the type of OSPF packets 23 using MD5 authentication. Thanks to Brian Wellington 24 (bwelling@tis.com) 25 26- Fix truncation check bugs in the Kerberos printer. Reported by Ezra 27 Peisach (epeisach@mit.edu) 28 29- Don't catch SIGHUP when invoked with nohup(1). Thanks to Dave Plonka 30 (plonka@mfa.com) 31 32- Specify full install target as a way of detecting if install 33 directory does not exist. Thanks to Dave Plonka. 34 35- Bit-swap FDDI addresses for BSD/OS too. Thanks to Paul Vixie 36 (paul@vix.com) 37 38- Fix off-by-one bug when testing size of ethernet packets. Thanks to 39 Marty Leisner (leisner@sdsp.mc.xerox.com) 40 41- Add a local autoconf macro to check for routines in libraries; the 42 autoconf version is broken (it only puts the library name in the 43 cache variable name). Thanks to John Hawkinson. 44 45- Add a local autoconf macro to check for types; the autoconf version 46 is broken (it uses grep instead of actually compiling a code fragment). 47 48- Modified to support the new BSD/OS 2.1 PPP and SLIP link layer header 49 formats. 50 51- Extend OSF ip header workaround to versions 1 and 2. 52 53- Fix some signed problems in the nfs printer. As reported by David 54 Sacerdote (davids@silence.secnet.com) 55 56- Detect group wheel and use it as the default since BSD/OS' install 57 can't hack numeric groups. Reported by David Sacerdote. 58 59- AIX needs special loader options. Thanks to Jonathan I. Kamens 60 (jik@cam.ov.com) 61 62- Fixed the nfs printer to print port numbers in decimal. Thanks to 63 Kent Vander Velden (graphix@iastate.edu) 64 65- Find installed libpcap in /usr/local/lib when not using gcc. 66 67- Disallow network masks with non-network bits set. 68 69- Attempt to detect "egcs" versions of gcc. 70 71- Add missing closing double quotes when displaying bootp strings. 72 Reported by Viet-Trung Luu (vluu@picard.math.uwaterloo.ca) 73 74v3.3 Sat Nov 30 20:56:27 PST 1996 75 76- Added Linux support. 77 78- GRE encapsulated packet printer thanks to John Hawkinson 79 (jhawk@mit.edu) 80 81- Rewrite gmt2local() to avoid problematic os dependencies. 82 83- Suppress nfs truncation message on errors. 84 85- Add missing m4 quoting in AC_LBL_UNALIGNED_ACCESS autoconf macro. 86 Reported by Joachim Ott (ott@ardala.han.de) 87 88- Enable "ip_hl vs. ip_vhl" workaround for OSF4 too. 89 90- Print arp hardware type in host order. Thanks to Onno van der Linden 91 (onno@simplex.nl) 92 93- Avoid solaris compiler warnings. Thanks to Bruce Barnett 94 (barnett@grymoire.crd.ge.com) 95 96- Fix rip printer to not print one more route than is actually in the 97 packet. Thanks to Jean-Luc Richier (Jean-Luc.Richier@imag.fr) and 98 Bill Fenner (fenner@parc.xerox.com) 99 100- Use autoconf endian detection since BYTE_ORDER isn't defined on all systems. 101 102- Fix dvmrp printer truncation checks and add a dvmrp probe printer. 103 Thanks to Danny J. Mitzel (mitzel@ipsilon.com) 104 105- Rewrite ospf printer to improve truncation checks. 106 107- Don't parse tcp options past the EOL. As noted by David Sacerdote 108 (davids@secnet.com). Also, check tcp options to make sure they ar 109 actually in the tcp header (in addition to the normal truncation 110 checks). Fix the SACK code to print the N blocks (instead of the 111 first block N times). 112 113- Don't say really small UDP packets are truncated just because they 114 aren't big enough to be a RPC. As noted by David Sacerdote. 115 116v3.2.1 Sun Jul 14 03:02:26 PDT 1996 117 118- Added rfc1716 icmp codes as suggested by Martin Fredriksson 119 (martin@msp.se) 120 121- Print mtu for icmp unreach need frag packets. Thanks to John 122 Hawkinson (jhawk@mit.edu) 123 124- Decode icmp router discovery messages. Thanks to Jeffrey Honig 125 (jch@bsdi.com) 126 127- Added a printer entry for DLT_IEEE802 as suggested by Tak Kushida 128 (kushida@trl.ibm.co.jp) 129 130- Check igmp checksum if possible. Thanks to John Hawkinson. 131 132- Made changes for SINIX. Thanks to Andrej Borsenkow 133 (borsenkow.msk@sni.de) 134 135- Use autoconf's idea of the top level directory in install targets. 136 Thanks to John Hawkinson. 137 138- Avoid infinite loop in tcp options printing code. Thanks to Jeffrey 139 Mogul (mogul@pa.dec.com) 140 141- Avoid using -lsocket in IRIX 5.2 and earlier since it breaks snoop. 142 Thanks to John Hawkinson. 143 144- Added some more packet truncation checks. 145 146- On systems that have it, use sigset() instead of signal() since 147 signal() has different semantics on these systems. 148 149- Fixed some more alignment problems on the alpha. 150 151- Add code to massage unprintable characters in the domain and ipx 152 printers. Thanks to John Hawkinson. 153 154- Added explicit netmask support. Thanks to Steve Nuchia 155 (steve@research.oknet.com) 156 157- Add "sca" keyword (for DEC cluster services) as suggested by Terry 158 Kennedy (terry@spcvxa.spc.edu) 159 160- Add "atalk" keyword as suggested by John Hawkinson. 161 162- Added an igrp printer. Thanks to Francis Dupont 163 (francis.dupont@inria.fr) 164 165- Print IPX net numbers in hex a la Novell Netware. Thanks to Terry 166 Kennedy (terry@spcvxa.spc.edu) 167 168- Fixed snmp extended tag field parsing bug. Thanks to Pascal Hennequin 169 (pascal.hennequin@hugo.int-evry.fr) 170 171- Added some ETHERTYPEs missing on some systems. 172 173- Added truncated packet macros and various checks. 174 175- Fixed endian problems with the DECnet printer. 176 177- Use $CC when checking gcc version. Thanks to Carl Lindberg 178 (carl_lindberg@blacksmith.com) 179 180- Fixes for AIX (although this system is not yet supported). Thanks to 181 John Hawkinson. 182 183- Fix bugs in the autoconf misaligned accesses code fragment. 184 185- Include sys/param.h to get BYTE_ORDER in a few places. Thanks to 186 Pavlin Ivanov Radoslavov (pavlin@cs.titech.ac.jp) 187 188v3.2 Sun Jun 23 02:28:10 PDT 1996 189 190- Print new icmp unreachable codes as suggested by Martin Fredriksson 191 (martin@msp.se). Also print code value when unknown for icmp redirect 192 and time exceeded. 193 194- Fix an alignment endian bug in getname(). Thanks to John Hawkinson. 195 196- Define "new" domain record types if not found in arpa/nameserv.h. 197 Resulted from a suggestion from John Hawkinson (jhawk@mit.edu). Also 198 fixed an endian bug when printing mx record and added some new record 199 types. 200 201- Added RIP V2 support. Thanks to Jeffrey Honig (jch@bsdi.com) 202 203- Added T/TCP options printing. As suggested by Richard Stevens 204 (rstevens@noao.edu) 205 206- Use autoconf to detect architectures that can't handle misaligned 207 accesses. 208 209v3.1 Thu Jun 13 20:59:32 PDT 1996 210 211- Changed u_int32/int32 to u_int32_t/int32_t to be consistent with bsd 212 and bind (as suggested by Charles Hannum). 213 214- Port to GNU autoconf. 215 216- Add support for printing DVMRP and PIM traffic thanks to 217 Havard Eidnes (Havard.Eidnes@runit.sintef.no). 218 219- Fix AppleTalk, IPX and DECnet byte order problems due to wrong endian 220 define being referenced. Reported by Terry Kennedy. 221 222- Minor fixes to the man page thanks to Mark Andrews. 223 224- Endian fixes to RTP and vat packet dumpers, thanks to Bruce Mah 225 (bmah@cs.berkeley.edu). 226 227- Added support for new dns types, thanks to Rainer Orth. 228 229- Fixed tftp_print() to print the block number for ACKs. 230 231- Document -dd and -ddd. Resulted from a bug report from Charlie Slater 232 (cslater@imatek.com). 233 234- Check return status from malloc/calloc/etc. 235 236- Check return status from pcap_loop() so we can print an error and 237 exit with a bad status if there were problems. 238 239- Bail if ip option length is <= 0. Resulted from a bug report from 240 Darren Reed (darrenr@vitruvius.arbld.unimelb.edu.au). 241 242- Print out a little more information for sun rpc packets. 243 244- Add suport for Kerberos 4 thanks to John Hawkinson (jhawk@mit.edu). 245 246- Fixed the Fix EXTRACT_SHORT() and EXTRACT_LONG() macros (which were 247 wrong on little endian machines). 248 249- Fixed alignment bug in ipx_decode(). Thanks to Matt Crawford 250 (crawdad@fnal.gov). 251 252- Fix ntp_print() to not print garbage when the stratum is 253 "unspecified." Thanks to Deus Ex Machina (root@belle.bork.com). 254 255- Rewrote tcp options printer code to check for truncation. Added 256 selective acknowledgment case. 257 258- Fixed an endian bug in the ospf printer. Thanks to Jeffrey C Honig 259 (jch@bsdi.com) 260 261- Fix rip printer to handle 4.4 BSD sockaddr struct which only uses one 262 octet for the sa_family member. Thanks to Yoshitaka Tokugawa 263 (toku@dit.co.jp) 264 265- Don't checksum ip header if we don't have all of it. Thanks to John 266 Hawkinson (jhawk@mit.edu). 267 268- Print out hostnames if possible in egp printer. Thanks to Jeffrey 269 Honig (jhc@bsdi.com) 270 271 272v3.1a1 Wed May 3 19:21:11 PDT 1995 273 274- Include time.h when SVR4 is defined to avoid problems under Solaris 275 2.3. 276 277- Fix etheraddr_string() in the ETHER_SERVICE to return the saved 278 strings, not the local buffer. Thanks to Stefan Petri 279 (petri@ibr.cs.tu-bs.de). 280 281- Detect when pcap raises the snaplen (e.g. with snit). Print a warning 282 that the selected value was not used. Thanks to Pascal Hennequin 283 (Pascal.Hennequin@hugo.int-evry.fr). 284 285- Add a truncated packet test to print-nfs.c. Thanks to Pascal Hennequin. 286 287- BYTEORDER -> BYTE_ORDER Thanks to Terry Kennedy (terry@spcvxa.spc.edu). 288 289v3.0.3 Sun Oct 1 18:35:00 GMT 1995 290 291- Although there never was a 3.0.3 release, the linux boys cleverly 292 "released" one in late 1995. 293 294v3.0.2 Thu Apr 20 21:28:16 PDT 1995 295 296- Change configuration to not use gcc v2 flags with gcc v1. 297 298- Redo gmt2local() so that it works under BSDI (which seems to return 299 an empty timezone struct from gettimeofday()). Based on report from 300 Terry Kennedy (terry@spcvxa.spc.edu). 301 302- Change configure to recognize IP[0-9]* as "mips" SGI hardware. Based 303 on report from Mark Andrews (mandrews@alias.com). 304 305- Don't pass cc flags to gcc. Resulted from a bug report from Rainer 306 Orth (ro@techfak.uni-bielefeld.de). 307 308- Fixed printout of connection id for uncompressed tcp slip packets. 309 Resulted from a bug report from Richard Stevens (rstevens@noao.edu). 310 311- Hack around deficiency in Ultrix's make. 312 313- Add ETHERTYPE_TRAIL define which is missing from irix5. 314 315v3.0.1 Wed Aug 31 22:42:26 PDT 1994 316 317- Fix problems with gcc2 vs. malloc() and read() prototypes under SunOS 4. 318 319v3.0 Mon Jun 20 19:23:27 PDT 1994 320 321- Added support for printing tcp option timestamps thanks to 322 Mark Andrews (mandrews@alias.com). 323 324- Reorganize protocol dumpers to take const pointers to packets so they 325 never change the contents (i.e., they used to do endian conversions 326 in place). Previously, whenever more than one pass was taken over 327 the packet, the packet contents would be dumped incorrectly (i.e., 328 the output form -x would be wrong on little endian machines because 329 the protocol dumpers would modify the data). Thanks to Charles Hannum 330 (mycroft@gnu.ai.mit.edu) for reporting this problem. 331 332- Added support for decnet protocol dumping thanks to Jeff Mogul 333 (mogul@pa.dec.com). 334 335- Fix bug that caused length of packet to be incorrectly printed 336 (off by ether header size) for unknown ethernet types thanks 337 to Greg Miller (gmiller@kayak.mitre.org). 338 339- Added support for IPX protocol dumping thanks to Brad Parker 340 (brad@fcr.com). 341 342- Added check to verify IP header checksum under -v thanks to 343 Brad Parker (brad@fcr.com). 344 345- Move packet capture code to new libpcap library (which is 346 packaged separately). 347 348- Prototype everything and assume an ansi compiler. 349 350- print-arp.c: Print hardware ethernet addresses if they're not 351 what we expect. 352 353- print-bootp.c: Decode the cmu vendor field. Add RFC1497 tags. 354 Many helpful suggestions from Gordon Ross (gwr@jericho.mc.com). 355 356- print-fddi.c: Improvements. Thanks to Jeffrey Mogul 357 (mogul@pa.dec.com). 358 359- print-icmp.c: Byte swap netmask before printing. Thanks to 360 Richard Stevens (rstevens@noao.edu). Print icmp type when unknown. 361 362- print-ip.c: Print the inner ip datagram of ip-in-ip encapsulated packets. 363 By default, only the inner packet is dumped, appended with the token 364 "(encap)". Under -v, both the inner and output packets are dumped 365 (on the same line). Note that the filter applies to the original packet, 366 not the encapsulated packet. So if you run tcpdump on a net with an 367 IP Multicast tunnel, you cannot filter out the datagrams using the 368 conventional syntax. (You can filter away all the ip-in-ip traffic 369 with "not ip proto 4".) 370 371- print-nfs.c: Keep pending rpc's in circular table. Add generic 372 nfs header and remove os dependences. Thanks to Jeffrey Mogul. 373 374- print-ospf.c: Improvements. Thanks to Jeffrey Mogul. 375 376- tcpdump.c: Add -T flag allows interpretation of "vat", "wb", "rpc" 377 (sunrpc) and rtp packets. Added "inbound" and "outbound" keywords 378 Add && and || operators 379 380v2.2.1 Tue Jun 6 17:57:22 PDT 1992 381 382- Fix bug with -c flag. 383 384v2.2 Fri May 22 17:19:41 PDT 1992 385 386- savefile.c: Remove hack that shouldn't have been exported. Add 387 truncate checks. 388 389- Added the 'icmp' keyword. For example, 'icmp[0] != 8 and icmp[0] != 0' 390 matches non-echo/reply ICMP packets. 391 392- Many improvements to filter code optimizer. 393 394- Added 'multicast' keyword and extended the 'broadcast' keyword can now be 395 so that protocol qualifications are allowed. For example, "ip broadcast" 396 and "ether multicast" are valid filters. 397 398- Added support for monitoring the loopback interface (i.e. 'tcpdump -i lo'). 399 Jeffrey Honig (jch@MITCHELL.CIT.CORNELL.EDU) contributed the kernel 400 patches to netinet/if_loop.c. 401 402- Added support for the Ungermann-Bass Ethernet on IBM/PC-RTs running AOS. 403 Contact Jeffrey Honig (jch@MITCHELL.CIT.CORNELL.EDU) for the diffs. 404 405- Added EGP and OSPF printers, thanks to Jeffrey Honig. 406 407v2.1 Tue Jan 28 11:00:14 PST 1992 408 409- Internal release (never publically exported). 410 411v2.0.1 Sun Jan 26 21:10:10 PDT 412 413- Various byte ordering fixes. 414 415- Add truncation checks. 416 417- inet.c: Support BSD style SIOCGIFCONF. 418 419- nametoaddr.c: Handle multi addresses for single host. 420 421- optimize.c: Rewritten. 422 423- pcap-bpf.c: don't choke when we get ptraced. only set promiscuous 424 for broadcast nets. 425 426- print-atal.c: Fix an alignment bug (thanks to 427 stanonik@nprdc.navy.mil) Add missing printf() argument. 428 429- print-bootp.c: First attempt at decoding the vendor buffer. 430 431- print-domain.c: Fix truncation checks. 432 433- print-icmp.c: Calculate length of packets from the ip header. 434 435- print-ip.c: Print frag id in decimal (so it's easier to match up 436 with non-frags). Add support for ospf, egp and igmp. 437 438- print-nfs.c: Lots of changes. 439 440- print-ntp.c: Make some verbose output depend on -v. 441 442- print-snmp.c: New version from John LoVerso. 443 444- print-tcp.c: Print rfc1072 tcp options. 445 446- tcpdump.c: Print "0x" prefix for %x formats. Always print 6 digits 447 (microseconds) worth of precision. Fix uid bugs. 448 449- A packet dumper has been added (thanks to Jeff Mogul of DECWRL). 450 With this option, you can create an architecture independent binary 451 trace file in real time, without the overhead of the packet printer. 452 At a later time, the packets can be filtered (again) and printed. 453 454- BSD is supported. You must have BPF in your kernel. 455 Since the filtering is now done in the kernel, fewer packets are 456 dropped. In fact, with BPF and the packet dumper option, a measly 457 Sun 3/50 can keep up with a busy network. 458 459- Compressed SLIP packets can now be dumped, provided you use our 460 SLIP software and BPF. These packets are dumped as any other IP 461 packet; the compressed headers are dumped with the '-e' option. 462 463- Machines with little-endian byte ordering are supported (thanks to 464 Jeff Mogul). 465 466- Ultrix 4.0 is supported (also thanks to Jeff Mogul). 467 468- IBM RT and Stanford Enetfilter support has been added by 469 Rayan Zachariassen <rayan@canet.ca>. Tcpdump has been tested under 470 both the vanilla Enetfilter interface, and the extended interface 471 (#ifdef'd by IBMRTPC) present in the MERIT version of the Enetfilter. 472 473- TFTP packets are now printed (requests only). 474 475- BOOTP packets are now printed. 476 477- SNMP packets are now printed. (thanks to John LoVerso of Xylogics). 478 479- Sparc architectures, including the Sparcstation-1, are now 480 supported thanks to Steve McCanne and Craig Leres. 481 482- SunOS 4 is now supported thanks to Micky Liu of Columbia 483 University (micky@cunixc.cc.columbia.edu). 484 485- IP options are now printed. 486 487- RIP packets are now printed. 488 489- There's a -v flag that prints out more information than the 490 default (e.g., it will enable printing of IP ttl, tos and id) 491 and -q flag that prints out less (e.g., it will disable 492 interpretation of AppleTalk-in-UDP). 493 494- The grammar has undergone substantial changes (if you have an 495 earlier version of tcpdump, you should re-read the manual 496 entry). 497 498 The most useful change is the addition of an expression 499 syntax that lets you filter on arbitrary fields or values in the 500 packet. E.g., "ip[0] > 0x45" would print only packets with IP 501 options, "tcp[13] & 3 != 0" would print only TCP SYN and FIN 502 packets. 503 504 The most painful change is that concatenation no longer means 505 "and" -- e.g., you have to say "host foo and port bar" instead 506 of "host foo port bar". The up side to this down is that 507 repeated qualifiers can be omitted, making most filter 508 expressions shorter. E.g., you can now say "ip host foo and 509 (bar or baz)" to look at ip traffic between hosts foo and bar or 510 between hosts foo and baz. [The old way of saying this was "ip 511 host foo and (ip host bar or ip host baz)".] 512 513v2.0 Sun Jan 13 12:20:40 PST 1991 514 515- Initial public release. 516