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