Commit Graph

662 Commits

Author SHA1 Message Date
Guy Harris b1f5853f41 Daniel Ryde's patch to show the IP flags as 4 bits, rather than showing
the full octet containing the flags and the upper 4 bits of the fragment
offset.

svn path=/trunk/; revision=678
1999-09-14 08:18:24 +00:00
Guy Harris f4ac555e90 Peter Torvals' Internet Cache Protocol dissector.
svn path=/trunk/; revision=677
1999-09-14 08:06:47 +00:00
Guy Harris abd34aca5a Have a progress bar for "File/Print".
svn path=/trunk/; revision=676
1999-09-13 23:45:22 +00:00
Gerald Combs 9275703fc5 Added support for Lucent/Ascend "wdd" output.
svn path=/trunk/; revision=675
1999-09-13 03:52:53 +00:00
Gerald Combs d47f988543 Updated documentation with Lucent/Ascend information.
svn path=/trunk/; revision=674
1999-09-13 03:51:09 +00:00
Gerald Combs f4f6b71d0c Add support for "wdd" trace output.
svn path=/trunk/; revision=673
1999-09-13 03:49:04 +00:00
Guy Harris f5e3d82e50 Make "Expand all levels" and "Print as displayed" radio
buttons insensitive if "Print summary" is selected, and make them
sensitive if "Print detail" is selected, as they apply only to the
"print detail" output.

svn path=/trunk/; revision=672
1999-09-12 23:54:09 +00:00
Guy Harris 3823ab23be Add a "Expand all levels"/"Print as displayed" pair of radio buttons to
the "File/Print" dialog box; "Expand all levels" means that all levels
of the protocol tree should be printed, while "Print as displayed" means
that only those levels shown in the display should be printed.

Free the table of column widths once printing is done.

svn path=/trunk/; revision=671
1999-09-12 20:23:43 +00:00
Guy Harris 7b2ff4bfe9 Use "dissect_data()" to put in the raw HTTP data, rather than doing it
ourselves; that means we don't have to duplicate the stuff
"dissect_data()" does (including saying "1 byte" rather than "1 bytes" -
"dissect_data()" does that, but we weren't doing that), and also means
that when you print a packet, the data gets dumped.

svn path=/trunk/; revision=670
1999-09-12 18:46:57 +00:00
Guy Harris 50e5ee8302 Patch from Olivier Abad:
packet-lapb.c :
	check the validity of the first byte in the frame.

	packet-x25.c :
	- in get_x25_pkt_len() : check that we are not reading after the end of
	the captured data
	- in dissect_x25() : various checks to avoid reading after the end of
	the captured data

	- in dissect_x25() : use offset (and not 2) as the length of the
	underlying protocol header.

	Olivier

svn path=/trunk/; revision=669
1999-09-12 18:37:01 +00:00
Laurent Deniel 35d5e37a82 Some old CPP or tools that take C code in input do
not like #preprocessor_macros that do not start at
the first column.

So write:

#ifdef FOO
#  include <dummy1.h>
#  define DUMMY 1
#else
#  include <dummy2.h>
#  define DUMMY 2
#endif

instead of

#ifdef FOO
  #include <dummy1.h>
  #define DUMMY 1
#else
  #include <dummy2.h>
  #define DUMMY 2
#endif

svn path=/trunk/; revision=668
1999-09-12 14:34:36 +00:00
Laurent Deniel a8dc5a1a0c Replace wrong '}' with ')' in #ifdef code
svn path=/trunk/; revision=667
1999-09-12 14:10:00 +00:00
Guy Harris 55dff94484 Add summary-vs-detail radio buttons to the print dialog box; detail
prints the protocol tree, and summary prints the fields in the summary
clist, with a header line at the beginning of the printout.

Print only packets selected by the current packet filter.

Just have "ARP" and "RARP" in the "Protocol" field for ARP packets;
whether it's a request or a reply can be seen in the "Info" field.

Add to the "Frame" section of the protocol tree the time between the
current packet and the previous displayed packet, and the packet number.
Have FT_RELATIVE_TIME fields be a "struct timeval", and display them as
seconds and fractional seconds (we didn't have any fields of that type,
and that type of time fits the delta time above).

Add an FT_DOUBLE field type (although we don't yet have anything using
it).

svn path=/trunk/; revision=666
1999-09-12 06:11:51 +00:00
Gerald Combs 0041a76bfc Added filter items for PPP Multilink's fragemnt flags and session number.
svn path=/trunk/; revision=665
1999-09-11 22:40:30 +00:00
Gerald Combs feda83f7e0 Added Guy's patch to use the pseudo header facility to pass up the Ascend
metadata.

Also added filter items for the session and task number.

svn path=/trunk/; revision=664
1999-09-11 22:36:38 +00:00
Guy Harris 4ac044cc3e Get rid of an unused variable.
svn path=/trunk/; revision=663
1999-09-11 20:30:34 +00:00
Laurent Deniel d7ce8a7805 Register cotp and clnp instead of simply osi to allow
display filtering on those protocols and future
enhancements (other OSI protocols decoding).

svn path=/trunk/; revision=662
1999-09-11 16:41:19 +00:00
Laurent Deniel ee582f4f90 Collapse/Expand All protocol tree added in Display menu.
Remove "experimental feature" warning in -S option description.

Should we remove -F option ?

svn path=/trunk/; revision=661
1999-09-11 15:47:38 +00:00
Laurent Deniel e466de51ad Collapse/Expand All protocol tree added in Display menu.
svn path=/trunk/; revision=660
1999-09-11 12:38:18 +00:00
Guy Harris b32b29be35 "ascend_seek()" isn't used outside "ascend.c", so make it static to
"ascend.c".

svn path=/trunk/; revision=659
1999-09-11 07:07:41 +00:00
Guy Harris 0a4912e1d8 Include <string.h> to declare "memmove()".
svn path=/trunk/; revision=658
1999-09-11 06:51:28 +00:00
Guy Harris bac7494ff0 "ascend_read()" is local to "ascend.c" - declare it there, not in
"ascend.h".

svn path=/trunk/; revision=657
1999-09-11 06:49:42 +00:00
Guy Harris de7081f8ff Include "ascend.h" to declare "ascend_seek_read()".
"wtap_seek_read()" should return the value of "ascend_seek_read()" or
"wtap_def_seek_read()".

svn path=/trunk/; revision=656
1999-09-11 06:48:33 +00:00
Guy Harris 4c6f416754 "capture.c" doesn't do socket "ioctl"s any more - the code to do that is
now in "gtk/capture_dlg.c" - so it doesn't need to include
<sys/sockio.h> on, for example, Solaris...

...but "gtk/capture_dlg.c" does need to include it.

"gtk/capture_dlg.c" also may need to include "snprintf.h", as it uses
"snprintf()".

svn path=/trunk/; revision=655
1999-09-11 06:23:28 +00:00
Gerald Combs 72a668a88a Oops - forgot to commit the Ascend header decoder..
svn path=/trunk/; revision=654
1999-09-11 05:32:33 +00:00
Gerald Combs 70481fcc84 Add in ascend.c, ascend.h, ascend-grammar.y and ascend-scanner.l. These
read and parse the Lucent/Ascend trace output.

svn path=/trunk/; revision=653
1999-09-11 04:53:26 +00:00
Gerald Combs 9386f23fee Added support for Lucent/Ascend packet traces. The MAX and Pipeline router
family has a set of debug commands that allow you to log the traffic on a
WAN or dialup connection as text, e.g.

RECV-iguana:241:(task: B04E12C0, time: 1975358.50) 15 octets @ 8003D634
  [0000]: FF 03 00 3D C0 06 C9 96 2D 04 C1 72 00 05 B8

Created wtap_seek_read() which parses the textual data for and Ascend
trace, and does a normal fseek() and fread() for any other file type.
The fseek()/fread() pairs in file.c were replaced with the new function.

svn path=/trunk/; revision=652
1999-09-11 04:50:44 +00:00
Gerald Combs 078f9a67b9 Added support for PPP Multilink Protocol (MP). Modified dissect_ppp_stuff
to recognize and handle protocol field compression.

svn path=/trunk/; revision=651
1999-09-11 04:19:26 +00:00
Gilbert Ramirez 7a37324e12 Added ip, tcp, and udp to randpkt.
svn path=/trunk/; revision=650
1999-09-10 15:38:58 +00:00
Guy Harris dc298db578 Give "globals.h" an RCS ID and copyright/GPL notice.
Move some defines that would be used even by a non-GTK+-based Ethereal
from "gtk/main.h" to "globals.h".

Remove the byte-order #defines from "packet.h", as they're now in
"globals.h" (having been moved there from "gtk/main.h").

Fix up some files that use those #defines to include "globals.h".

"resolv.c" doesn't use any GTK stuff, so it needn't include <gtk/gtk.h>
nor "gtk/main.h" - it only did so to get the byte-order #defines for the
benefit of "packet-ipv6.h", and "packet-ipv6.h" now includes them
itself.

svn path=/trunk/; revision=649
1999-09-10 07:19:51 +00:00
Guy Harris f9f2bf9a28 Fix a comment, to reflect the demise of "ethereal.h".
svn path=/trunk/; revision=648
1999-09-10 07:09:35 +00:00
Guy Harris 046c060f98 We need to catch a "window delete" event for the preferences dialog box
- that event happens if, say, you nuke the dialog box from a window
manager - and call "delete" routines for each of the preferences tabs,
so that, for preferences tabs that include list widgets, we can set a
flag on the preferences tab widget telling the selection callback for
the list widget that the buttons it would normally set the sensitivity
of, based on whether any row in the list is selected or not, have Joined
the Choir Invisible, and therefore that we shouldn't change their
sensitivity because GTK+ will whine at us if we do, just as is the case
if we press the "OK" or "Cancel" button (which also cause the window to
go away).

Can we just do this in the "window delete" handler?  I.e., does that get
called if we explicitly destroy the widget?  Or should we catch a
"destroy" event instead?

(There must be a better way to do this....)

svn path=/trunk/; revision=647
1999-09-10 06:53:32 +00:00
Guy Harris 7e1ce9e122 Make stuff used only in "filter_prefs.c" static to it.
svn path=/trunk/; revision=646
1999-09-10 06:01:02 +00:00
Gilbert Ramirez c2bf152b01 Added random packet generator.
svn path=/trunk/; revision=645
1999-09-10 05:15:17 +00:00
Guy Harris e425e372ca Have "fddifc_to_str()" return "Unknown frame type" for a frame type it
doesn't know about, and eliminate the check in "dissect_fddi()" where we
check if its return value was NULL and, if so, print "Unknown frame
type".

svn path=/trunk/; revision=644
1999-09-10 04:53:14 +00:00
Gilbert Ramirez b0bd01b53f Changed default return value of fddifc_to_str from NULL to "". The value
is passed to col_add_str, which is then passed to strncpy, which, at least
in glibc 2.1, doesn't like NULL pointers passed to it in lieu of empty
strings.

svn path=/trunk/; revision=643
1999-09-10 03:16:08 +00:00
Guy Harris 92c4f1d830 Expand the message printed if "configure" can't find "net/bpf.h" to
remind you that if you've installed "libpcap" from source, you have to
do "make install-incl" as well.

svn path=/trunk/; revision=642
1999-09-09 21:29:58 +00:00
Gilbert Ramirez ca61d69c63 Removed two cases where protocol decoding assumed that the data in the
packets were correct. Bad packets could cause segfaults.

svn path=/trunk/; revision=641
1999-09-09 04:47:17 +00:00
Guy Harris d32b5f829f Put RCS IDs (and a copyright notice and GPL notice) in several files,
and fix up the introductory comment on some other files.

svn path=/trunk/; revision=640
1999-09-09 04:25:49 +00:00
Guy Harris 338f3ff2ad Put in an RCS ID (and a copyright notice and GPL notice; unfortunately,
this causes "Makefile.in" to have two GPL notices - "Makefile.in" and
the "Makefile" generated from it are generated files, so maybe that's
OK).

svn path=/trunk/; revision=639
1999-09-09 03:55:49 +00:00
Guy Harris cb2428cc6c Put in an RCS ID (and a copyright notice and GPL notice; unfortunately,
this causes "Makefile.in" to have two GPL notices - "Makefile.in" and
the "Makefile" generated from it are generated files, so maybe that's
OK).

svn path=/trunk/; revision=638
1999-09-09 03:45:57 +00:00
Gilbert Ramirez fee5f126ff I forgot to include this file move in my last commit.
svn path=/trunk/; revision=637
1999-09-09 03:35:32 +00:00
Gilbert Ramirez 8617c58f3c More shuffling of GTK-related routines to gtk subdirectory.
svn path=/trunk/; revision=636
1999-09-09 03:32:03 +00:00
Gilbert Ramirez 3c49e45cf7 More shuffling of GTK-related files to gtk subdirectory.
svn path=/trunk/; revision=635
1999-09-09 02:42:40 +00:00
Guy Harris 28009b86d2 Don't include in the list of interfaces offered by the "capture" dialog
box interfaces we can't open; this filters out loopback interfaces on
e.g. Solaris (which you can't get at with a DLPI device, so you can't
capture traffic on them), and also means we don't report *any*
interfaces if you don't have permission to open any (which means you
don't have permission to capture packets).

If we don't find any interfaces, pop up a message box saying so.

Free up the interface "ioctl" buffer, and close the socket we were
using, before returning from "get_interface_list()".

If "get_interface_list()" returns a null pointer (meaning it failed),
don't pop up the "capture" dialog box.

svn path=/trunk/; revision=634
1999-09-08 05:41:25 +00:00
Guy Harris cde9b4699c Add in a bunch of changes based on the IBM specification for the NetBIOS
Frame protocol (that being what this dissects).

If you're cutting up something into bitfields, the bitfield dissection
returned by "dissect_bitfield_XXX()" should be the first text on the
line - if not, then if the text items that come before the various
bitfields aren't all the same length, the bits don't line up.

Cope with packets from one of Gilbert's captures, where the sender
"name" in some NBF datagrams isn't a NetBIOS name, it's 10 octets of 0
followed by a MAC address!

The "name type" in the "Data2" field of NBF frames is 0x00 for unique
names and 0x01 for group names, not a "16th character of a NetBIOS name"
name type.

Fix up various other things.

svn path=/trunk/; revision=633
1999-09-03 07:20:15 +00:00
Guy Harris 37af231761 Add in a pile of additional packet formats from
http://ourworld.compuserve.com/homepages/TimothyDEvans/contents.htm

Assorted minor cleanups.

svn path=/trunk/; revision=632
1999-09-03 04:37:11 +00:00
Guy Harris fdc29358f3 Stuff to IPX socket 0x0455 (NetBIOS), and to sockets 0x0551 and 0x0553
(NWLink), are sufficiently different that they should be handled in
different routines.

Change the decode to match NetMon a bit more.

svn path=/trunk/; revision=631
1999-09-03 03:22:19 +00:00
Guy Harris 27c0d2d022 Use "process_netbios_name()", rather than "canonicalize_netbios_name()",
to turn NetBIOS names into a nice printable form.

Put the description of NetBIOS name types into places where it fits;
have "packet-netbios.c" export a routine to interpret them.

svn path=/trunk/; revision=630
1999-09-03 01:43:09 +00:00
Guy Harris dec805ba0d Dissect the name type flag in NBIPX name service packets (at least
according to what NetMon thinks the bits are).

svn path=/trunk/; revision=629
1999-09-03 00:38:50 +00:00