Commit Graph

621 Commits

Author SHA1 Message Date
Guy Harris 68924359db Initial Skinny Client Control Protocol support, from Joerg Mayer.
svn path=/trunk/; revision=4016
2001-10-11 16:01:10 +00:00
Guy Harris bebcff62d7 UCP support, from Tom Uijldert.
svn path=/trunk/; revision=4009
2001-10-08 17:30:23 +00:00
Guy Harris 0102e0c783 Start the process of tvbuffifying the SMB dissector - give it a
tvbuffified heuristic-dissector interface, but have it immediately turn
its arguments into an old-style buffer pointer and offset.

Register the SMB dissector as a heuristic NetBIOS dissector, and have
"dissect_netbios_payload()" just try the heuristics, as it no longer has
to call the SMB dissector explicitly.

svn path=/trunk/; revision=3973
2001-09-29 01:19:01 +00:00
Guy Harris 4325d41fbd MMSE support, from Tom Uijldert.
svn path=/trunk/; revision=3954
2001-09-25 21:32:41 +00:00
Gilbert Ramirez 6ea1d075c1 Distribute the make-manuf and manuf.tmpl files in the source tarball.
svn path=/trunk/; revision=3945
2001-09-18 21:29:56 +00:00
Guy Harris dcb2bdf420 Generate "idl2eth" from "idl2eth.sh", filling in the pathname for the
shell.  (This also arranges that the source to "idl2eth" - which is now
"idl2eth.sh" - not be deleted by "make clean").

Add "doc/idl2eth.pod" to the list of files in a source tarball.

svn path=/trunk/; revision=3940
2001-09-15 23:01:12 +00:00
Guy Harris de14d757d1 From Frank Singleton: install idl2eth in "/usr/local/bin".
svn path=/trunk/; revision=3916
2001-09-10 22:06:33 +00:00
Guy Harris 2bd9e2c314 Changes from Frank Singleton to add entries for "packet-coseventcomm" to
the lists of source and generated files for plugins.

While we're at it, make all those lists show the files in the same
order.

svn path=/trunk/; revision=3888
2001-08-31 19:46:14 +00:00
Olivier Abad e76642f9c7 Patches from Frank Singleton :
- update idl2eth man page , now that "unions" are implemented ;
- support for idl2eth man page installation.

svn path=/trunk/; revision=3885
2001-08-30 19:25:39 +00:00
Guy Harris 71aaaa1819 ICAP support, from Simharajan Srishylam.
svn path=/trunk/; revision=3846
2001-08-18 04:27:08 +00:00
Guy Harris 26a68c20fc idl2eth man page, from Frank Singleton.
Update Makefile.am and Makefile.nmake files to build it (although it's
not currently built by default; you have to do "make idl2eth.1" on UNIX,
and something similar on Windows.

Put a full copyright notice into "doc/Makefile.nmake", along with a
comment explaining why stuff depends on "../config.h".  Also, add
"clean" rules to it to get rid of generated files for mergecap and
text2pcap documentation.

svn path=/trunk/; revision=3801
2001-07-30 21:40:13 +00:00
Guy Harris ae251f8426 MacOS support changes, from Michael Tuexen (with some modifications):
replace "--with-plugindir" with "--with-plugins", and have the
	plugin directory optional - this allows plugins to be disabled;

	add "--traditional-cpp" on MacOS X/Darwin (Apple's "cc" compiler
	requires it, for some annoying reason, even though it is, as far
	as I know, GCC-based, and other GCC's don't require it);

	on MacOS X, don't use "pcap_version[]", as, for some annoying
	reason, libpcap on MacOS X doesn't define it.

Clean up some whitespace in the help messages for the configure script.

Move the AM_CONDITIONAL for SETUID_INSTALL after the point at which
"enable_setuid_install" is set, as it tests "enable_setuid_install".

svn path=/trunk/; revision=3788
2001-07-26 07:25:49 +00:00
Gilbert Ramirez d9a11864cf Add mergecap.rc.in to list of distributed files.
svn path=/trunk/; revision=3782
2001-07-23 18:29:32 +00:00
Guy Harris c12060d8cc GMRP dissector, from Markus Seehofer.
Throw a very small caltrop in the way of spam-harvesters, by replacing
"@" in e-mail addresses in the AUTHORS file and Ethereal man page with
"[AT]" (although I wouldn't be surprised to find that some of those
harvesters already know about that trick and "fix" those addresses so
you, too, can receive Valuable Information about Viagra, can-fail
Internet investment opportunities and stuff-envelopes-at-home jobs, and
cable descramblers).

Add a couple of items from the AUTHORS file to the Ethereal man page.

svn path=/trunk/; revision=3781
2001-07-23 18:21:32 +00:00
Uwe Girlich 93e99b0ec9 new file packet-quake3.c added
svn path=/trunk/; revision=3768
2001-07-22 18:56:37 +00:00
Guy Harris 681f73adb7 There is really no need to have the BGP dissector and the LDP dissector
have two independent "value_string" tables mapping RFC 1700 address
family numbers to names, nor is there any need to have the BGP dissector
and the PIM dissector have two independent sets of #defines for RFC 1700
address family numbers; put a single "value_string" table in "afn.c" and
put a declaration of it, and #defines for the address family numbers,
into "afn.h", and have the dissectors use that.

Move the #define for PGM into "ipproto.h", and add an entry for it in
the "value_string" table in "ipproto.c".

Have the PGM dissector use the standard Ethereal mechanisms for
resolving addresses, and have it use "value_string" tables for mapping
option types, the OPX bits, and packet types to strings.  Use
"bytes_to_str()" to turn byte arrays into strings of hex digits.  Pass
the packet type string to "dissect_pgmopts()" as an argument, rather
than making it a global.  Don't use "proto_tree_add_XXX_format" routines
if you can possibly just use "proto_tree_add_XXX"; give various fields
the correct radix and type, and VALS() strings if necessary, to make
that happen (and to make filtering on them more pleasant).  Put the
type, length, and total length of the options into the protocol tree as
separate fields.  Don't have separate type, length, and OPX fields for
every type of option; one field will suffice.  Don't format a string
with "sprintf()" and then pass that string to "col_add_fstr()" with a
format of "%s" and the string as an argument - "col_add_fstr()" can
format strings itself (that's what the "f" stands for).  Don't byte-swap
and then un-byte-swap IPv4 address fields in the header, just leave them
network byte order to start with.  Use the correct fields for
"proto_tree_add_XXX", rather than using the same field multiple times.
Quit early if an address family identifier isn't AFNUM_INET, as that
means the structure we use to dissect the header doesn't match the
actual header.

svn path=/trunk/; revision=3761
2001-07-21 10:27:13 +00:00
Ed Warnicke 6b533f5366 Simplified the process of adding plugins to the toplevel
Makefile.am.  Updated doc/README.plugins to reflect the change.

svn path=/trunk/; revision=3741
2001-07-20 02:40:42 +00:00
Guy Harris 28ca6b4a93 GIOP CosNaming support, from Frank Singleton.
svn path=/trunk/; revision=3740
2001-07-19 21:30:17 +00:00
Guy Harris e55d1a4489 Put "doc/Makefile.nmake", "doc/README.design", and "doc/README.plugins"
in the list of files in the distribution.

Make "doc" one of the subdirectories; this lets us remove
"doc/Makefile.in" from EXTRA_DIST, and might also ensure that stuff gets
rebuilt in that directory when it changes (for example, I don't know
whether "make dist" would have automatically rebuilt "doc/Makefile.in"
without "doc" being in the SUBDIRS list; if not, that might explain why
"doc/Makefile.in" didn't include rules for the mergecap man page in the
0.8.19 tarball).

svn path=/trunk/; revision=3735
2001-07-16 21:04:12 +00:00
Guy Harris e2a238b16b Add a new "cleanbld.bat" script, for Windows; it removes "config.h"
files that might be left over from a UNIX build, so that they'll be
reconstructed from the "config.h.win32" files on a Windows build.
(If you have "config.h" files left over from a UNIX build, the Windows
build will fail.)

Update "README.win32" to mention "cleanbld.bat", and to correctly list
the files generated using tools that don't come with Windows or MSVC++.
Also note that some of them can't be built on UNIX systems.

svn path=/trunk/; revision=3713
2001-07-13 08:14:03 +00:00
Guy Harris 23b15f991f PGM (Pragmatic General Multicast - RFC 2705) support, from Steve Dickson.
svn path=/trunk/; revision=3702
2001-07-12 20:16:29 +00:00
Guy Harris e9d00f4a4f Mergecap utility for merging capture files, from Scott Renfro.
svn path=/trunk/; revision=3701
2001-07-12 19:59:41 +00:00
Guy Harris 318682adca SSL/TLS support, from Scott Renfro.
svn path=/trunk/; revision=3692
2001-07-11 18:19:16 +00:00
Guy Harris f7ca532ae7 Put some missing header files into noinst_HEADERS, so they are made part
of the source tarball.

svn path=/trunk/; revision=3686
2001-07-11 05:23:08 +00:00
Guy Harris 317a2651f9 Support for dissectors of protocols running atop DCE RPC registering
themselves with the DCE RPC dissector, and support for some of the
protocols atop DCE RPC that are part of DCE RPC, from Todd Sabin.

svn path=/trunk/; revision=3681
2001-07-11 01:25:45 +00:00
Guy Harris 08b6ae0306 MSDP support, from Heikki Vatiainen.
svn path=/trunk/; revision=3680
2001-07-11 00:59:50 +00:00
Ed Warnicke 1d4c6365c0 Small cleanup.
svn path=/trunk/; revision=3674
2001-07-10 01:20:56 +00:00
Ed Warnicke de98ec2efa Fixed the {tethereal,ethereal}_static targets so that the
static binaries have the dissectors provided in the plugins available.

svn path=/trunk/; revision=3665
2001-07-08 21:51:34 +00:00
Uwe Girlich 67cadc1ced The Perl script process-x11-fields.pl is in the $(srcdir) and not in the
current directory.
The x11-fields file is in the $(srcdir) and not in the current directory.

svn path=/trunk/; revision=3650
2001-07-04 06:25:03 +00:00
Ed Warnicke 6d05dbfffd Added "-all-static" take to _LDADD for ethereal_static and tethereal_static
so that the static targets will link correctly using libtool.

svn path=/trunk/; revision=3649
2001-07-03 23:39:55 +00:00
Guy Harris 7aef6b2932 Add PIMv1 support.
svn path=/trunk/; revision=3634
2001-07-02 09:23:02 +00:00
Guy Harris ec281bdf71 MSNIP support, from Ronnie Sahlberg.
svn path=/trunk/; revision=3622
2001-06-29 18:55:50 +00:00
Guy Harris db974f9b06 MRDISC support, from Ronnie Sahlberg.
svn path=/trunk/; revision=3614
2001-06-27 20:19:19 +00:00
Guy Harris 81a6c19ccf M2PA support, from Jeff Morriss.
svn path=/trunk/; revision=3596
2001-06-21 22:25:53 +00:00
Uwe Girlich 83c16fabb0 new source files packet-quakeworld.c and packet-quake2.c added
svn path=/trunk/; revision=3594
2001-06-21 15:16:43 +00:00
Guy Harris 995f8522b3 Support for protocols running atop GIOP, from Frank Singleton.
svn path=/trunk/; revision=3563
2001-06-18 05:27:18 +00:00
Guy Harris 278d0dcf90 RFC 2250 MPEG1 support, from Francisco Javier Cabello.
svn path=/trunk/; revision=3544
2001-06-14 09:25:25 +00:00
Guy Harris b0e7d0029d DVMRP support, from Ronnie Sahlberg.
Give "packet-igmp.c" an RCS ID.

svn path=/trunk/; revision=3539
2001-06-12 06:21:55 +00:00
Guy Harris c9da803a08 Move the fragment reassembly code into "reassemble.c" and
"reassemble.h", and remove IPv4 dependencies from it.

Use it for OSI CLNP segment reassembly as well.

svn path=/trunk/; revision=3525
2001-06-08 06:27:16 +00:00
Guy Harris 9ec529ef4d Gnutella support, from B. Johannessen.
svn path=/trunk/; revision=3520
2001-06-06 01:30:30 +00:00
Guy Harris 2851b7ef76 Enable "Match Selected" only if there's a field selected *and* we can do
a "Match Selected" on it - we can't do a "Match Selected" if the field
has no value (e.g., FT_NULL) and has a length of 0.

If we unselect the current packet, we don't have a protocol tree, so we
don't have a currently selected field - clear the "Match Selected" menu
item and the display in the status line of information about the
currently selected field.

Move the low-level statusbar manipulation into "gtk/main.c", in routines
whose API doesn't expose anything GTK+-ish.

"close_cap_file()" calls one of those routines to clear out the status
bar, so it doesn't need to take a pointer to the statusbar widget as an
argument.

"clear_tree_and_hex_views()" is purely a display-manipulating routine;
move it to "gtk/proto_draw.c".

Extract from "tree_view_unselect_row_cb()" an "unselect_field()" routine
to do all the work that needs to be done if the currently selected
protocol tree row is unselected, and call it if the currently selected
packet list row is unselected (if it's unselected, there *is* no
protocol tree, so no row can be selected), as well as from
"tree_view_unselect_row_cb()".

Before pushing a new field-description message onto the statusbar, pop
the old one off.

Get rid of an unused variable (set, but not used).

svn path=/trunk/; revision=3513
2001-06-05 07:39:31 +00:00
Guy Harris 14ab278788 Windows and the MSVC++ 6.0 library don't have "strptime()", so pull in
the glibc "strptime()" (modified so it doesn't require the rest of
glibc), set up the configure script to check for it, and set up
Makefile.am and Makefile.nmake to use it.

Get rid of NEED_MKSTEMP - nothing uses it.

svn path=/trunk/; revision=3500
2001-06-02 06:21:14 +00:00
Guy Harris 714c10a91c iSCSI support, from Mark Burton.
svn path=/trunk/; revision=3482
2001-05-30 18:52:38 +00:00
Guy Harris ddec2eb25b Call the H.261 dissector through a handle.
Set the reported length of the tvbuff we hand to the H.261 dissector.

svn path=/trunk/; revision=3464
2001-05-27 07:37:46 +00:00
Guy Harris db6ad22e40 Call the Q.2931 dissector through a handle.
Update Gerald's e-mail address.

svn path=/trunk/; revision=3460
2001-05-27 07:15:26 +00:00
Guy Harris aa5d59b735 Call the GVRP dissector through a handle.
Update Gerald's e-mail address.

svn path=/trunk/; revision=3459
2001-05-27 07:07:34 +00:00
Guy Harris 0dac81e312 Call the SSCOP dissector through a handle. That lets us get rid of the
CHECK_DISPLAY_AS_DATA call and code to set "pinfo->current_proto", as
"call_dissector()" does that for us.

svn path=/trunk/; revision=3457
2001-05-27 04:50:51 +00:00
Guy Harris c7595d9a42 ISUP support, from Martina Obermeier.
svn path=/trunk/; revision=3450
2001-05-25 16:17:45 +00:00
Guy Harris 8743489efa Appletalk Data Stream Interface (used by AFP-over-TCP) support, from
Randy McEoin.

svn path=/trunk/; revision=3446
2001-05-24 20:25:25 +00:00
Guy Harris 3f6e57c5c2 MTP3 support, from Michael Tuexen.
svn path=/trunk/; revision=3444
2001-05-24 08:13:56 +00:00
Guy Harris 80e9795b71 Add resource stuff for text2pcap.
svn path=/trunk/; revision=3429
2001-05-21 05:04:49 +00:00
Guy Harris 724c494b70 Rewritten IGMP dissector, from Ronnie Sahlberg.
svn path=/trunk/; revision=3426
2001-05-20 22:20:33 +00:00
Ashok Narayanan e7fa2d44fa text2pcap.1 was not being installed due to an omission in Makefile.am. Fixed this.
svn path=/trunk/; revision=3422
2001-05-16 22:04:53 +00:00
Ashok Narayanan 2914e81177 Added 'text2pcap', a utility to convert text hexdumps into pcap
files. See text2pcap.1 (built from doc/text2pcap.pod) for details.

Changed 'tethereal -x' output to match hex dump format of text2pcap,
Ethereal and others.

svn path=/trunk/; revision=3421
2001-05-16 21:32:05 +00:00
Guy Harris e0c8b91868 Automake updates, from Nathan Neulinger, to handle the current CVS
version of automake (which will probably eventually become the next
release of automake) - it assumes variables that end with _SOURCES are
of the form "target_SOURCES", where "target" must be a target that the
Makefile builds.

Rename "DISSECTOR_SOURCES" to "DISSECTOR_SRC" in "Makefile.nmake", as
well, so that part of "Makefile.nmake" exactly matches that part of
"Makefile.am".

svn path=/trunk/; revision=3408
2001-05-11 00:39:57 +00:00
Guy Harris 4e6e4e047d NIS+ support, from Ronnie Sahlberg.
svn path=/trunk/; revision=3401
2001-05-07 20:49:48 +00:00
Guy Harris 20a79084a9 Modbus/TCP support, from Riaan Swart.
svn path=/trunk/; revision=3376
2001-04-24 19:29:14 +00:00
Guy Harris 82814e52ee RANAP support, from Martin Held.
svn path=/trunk/; revision=3375
2001-04-24 19:18:03 +00:00
Guy Harris 21f7cca50a SPRAY support, from Ronnie Sahlberg.
svn path=/trunk/; revision=3356
2001-04-21 07:57:23 +00:00
Guy Harris 6e6ee8ca04 Include "process-x11-fields.pl" and "x11-fields" in the source
distribution.

svn path=/trunk/; revision=3349
2001-04-20 21:29:02 +00:00
Guy Harris 5827d2e45b KLM support, from Ronnie Sahlberg.
svn path=/trunk/; revision=3345
2001-04-20 18:37:53 +00:00
Guy Harris 986bd7f261 Check in the file used to define fields for the X11 dissector, and the
Perl script that generates them, so that if we have to change those
fields we can do so more conveniently.

Remove the generated header files from CVS, and arrange that we generate
them when we do a build.

svn path=/trunk/; revision=3341
2001-04-20 04:16:19 +00:00
Guy Harris 88ba07d41b DCE RPC updates from Todd Sabin.
svn path=/trunk/; revision=3338
2001-04-19 23:39:27 +00:00
Guy Harris d9d0f31006 Include "image/Makefile.nmake" in the distribution tarball.
svn path=/trunk/; revision=3331
2001-04-19 01:05:19 +00:00
Guy Harris 41cb0c0df7 YPPASSWD support, from Ronnie Sahlberg.
svn path=/trunk/; revision=3329
2001-04-18 20:41:12 +00:00
Guy Harris c5aaac7823 Move the declaration of "ipprotostr()" out of "epan/packet.h" into a new
"ipproto.h" header file.

svn path=/trunk/; revision=3313
2001-04-17 06:29:14 +00:00
Gilbert Ramirez b0596cbcc4 Package the 3d logo, too.
svn path=/trunk/; revision=3293
2001-04-11 21:34:25 +00:00
Guy Harris 094dc29f19 The Software Porting And Archive Centre for HP-UX now has libpcap 0.6.2
binaries, so users only need to make sure they have that version
installed in order to have Ethereal (and tcpdump, and snort, and so on)
accept "lanN"-style names (i.e., names of the sort reported by lanscan
and handled by ifconfig), rather than "dlpiN".

Get rid of the patches to update libpcap, get rid of the discussion in
"README.hpux" of patching libpcap and just say "get 0.6.2", and make the
notes on HP-UX kernel patches to fix problems with capturing outgoing
packets a separate item in the list of items in "README.hpux".

Also update the error messages Ethereal and Tethereal display if they
can't open a device and the error is "can't find PPA for XXX" to say
"get 0.6.2" rather than "patch libpcap and recompile.

svn path=/trunk/; revision=3288
2001-04-11 05:24:08 +00:00
Gilbert Ramirez 7c145dc63e Fix automake packaging of win32-only files.
svn path=/trunk/; revision=3285
2001-04-10 16:19:34 +00:00
Guy Harris eb7e6cf594 RWALL dissector, from Ronnie Sahlberg.
svn path=/trunk/; revision=3269
2001-04-07 08:39:46 +00:00
Guy Harris f5e3edc132 GTP support, from Michal Melerowicz.
svn path=/trunk/; revision=3252
2001-04-04 01:00:19 +00:00
Gilbert Ramirez a817e97015 Now that WinPcap is a DLL, I can load it at run-time rather than load-time.
That means that I no longer need to distribute capture and non-capture
versions of Ethereal for Win32; one version (compiled with WinPcap headers)
can run on systems with or without WinPcap.

For systems that don't have WinPcap, instead of disabling the Capture
menu, Capture|Start brings up a dialogue informing the user that wpcap.dll
was not loadable, and gives a URL to the WinPcap home page.

svn path=/trunk/; revision=3249
2001-04-03 05:26:27 +00:00
Ed Warnicke 48421be1d2 Moved timestamp.h into epan.
svn path=/trunk/; revision=3228
2001-04-01 06:11:25 +00:00
Guy Harris 9c1502e3e0 BACNET support, from Hartmut Mueller.
svn path=/trunk/; revision=3214
2001-03-31 10:13:13 +00:00
Guy Harris a8cbb073d4 NLPID's of 0x08 and 0x09 should be labeled as Q.933 and LMI,
respectively, not Q.931 and Q.2931, in Frame Relay.

When dissecting Q.933-style multiprotocol encapsulated Frame Relay
frames, use the "osinl" dissector table to check for OSI network layer
protocols, include the NLPID in the tvbuff you hand to
"dissector_try_port()" with that dissector table, and put the NLPID into
the protocol tree as an invisible item - the NLPID is considered part of
the PDU for those protocols, so you have to include it in the tvbuff,
and the dissector will put it into the protocol tree.

Also, make sure the top-level entry for the Frame Relay protocol
includes all the bytes preceding the payload, and none of the payload
bytes.

Export a routine to do Q.933-style dissection, and have the WCP
dissector call it, rather than duplicating that code in the WCP
dissector.

Don't register OSI network layer protocols with the "fr.ietf" dissector
table; it's now sufficient to register them with the "osinl" dissector
table, as the Frame Relay dissector now checks that.

Get rid of unnecessary checks for protocols being enabled (if the
dissector is always called through handles or dissector tables, the
common code for handles and dissector tables will do the checks for
you).

Get rid of some unnecessary #includes.

svn path=/trunk/; revision=3211
2001-03-30 10:51:50 +00:00
Guy Harris 58369df4ef Give the code that computes protocol statistics a progress dialog box,
as, on a large capture, it could take a significant amount of time.

Let the user stop the computation and, if they do, don't pop up the
statistics dialog box.

Create a new header file declaring the routines to create, update, and
destroy progress dialog boxes; those routines' APIs don't depend on
GTK+, but others declared in "ui_util.h" do, and we don't want to oblige
a source file to depend on GTK+ headers unless it uses a GTK+ API or an
API that depends on GTK+.

svn path=/trunk/; revision=3179
2001-03-24 02:07:22 +00:00
Jeff Foster c400685ad6 Updated the frame relay dissector - dissect-fr.c
Added the LMI dissector for frame relay - dissect-lmi.c
Added Wellfleet compression dissector - dissect-wcp.c

svn path=/trunk/; revision=3168
2001-03-23 19:22:02 +00:00
Gilbert Ramirez 2218ce1220 Add a new tool which summarizes packet counts by protocols, but
organizes the protocols in the same hierarchical order in which
they are found in the packet.

The GUI needs some more refinement (placment of vertical
scrollbar, style of GtkCTree, initial sizing of window).

I need to add an option to honor/not honor the current display filter.

svn path=/trunk/; revision=3162
2001-03-22 23:54:47 +00:00
Guy Harris 7c8faf262f Move the declaration of routines exported from "packet-smb-browse.c"
into a "packet-smb-browse.h" header file, and have modules that import
those routines include "packet-smb-browse.h" rather than declaring the
routines themselves; do the same for routines exported from
"packet-smb-logon.c".

Make routines and arrays not exported static, and make routines that
return a true/false return value "gboolean" rather than "guint32".

svn path=/trunk/; revision=3147
2001-03-18 03:34:22 +00:00
Guy Harris b8289288e8 Correctly handle Interim responses to TRANSACTION requests.
Move the declaration of routines exported from "packet-smb-mailslot.c"
into a "packet-smb-mailslot.h" header file, and have modules that import
those routines include "packet-smb-mailslot.h" rather than declaring the
routines themselves; do the same for routines exported from
"packet-smb-pipe.c".  Make routines not exported static, and make
routines that return a true/false return value "gboolean" rather than
"guint32".

svn path=/trunk/; revision=3146
2001-03-18 03:23:30 +00:00
Guy Harris 212a090f0c DCE RPC support, from Todd Sabin.
svn path=/trunk/; revision=3144
2001-03-18 02:13:33 +00:00
Guy Harris cbfe322b03 Status monitor callback protocol support, from Ronnie Sahlberg.
svn path=/trunk/; revision=3140
2001-03-15 22:15:32 +00:00
Guy Harris 7ecac8fbd0 Add a new Wiretap encapsulation type for Cisco HDLC. Map the NetBSD
DLT_HDLC to it.

Make a separate dissector for Cisco HDLC, and add a dissector for Cisco
SLARP.  Have the PPP dissector call the Cisco HDLC dissector if the
address field is the Cisco HDLC unicast or multicast address.  Use the
Cisco HDLC dissector for the Cisco HDLC Wiretap encapsulation type.

Add a new dissector table "chdlctype", for Cisco HDLC packet types
(they're *almost* the same as Ethernet types, but 0x8035 is SLARP, not
Reverse ARP, and 0x2000 is the Cisco Discovery protocol, for example),
replacing "fr.chdlc".

Have a "chdlctype()" routine, similar to "ethertype()", used both by the
Cisco HDLC and Frame Relay dissectors.  Have a "chdlc_vals[]"
"value_string" table for Cisco HDLC types and protocol names.  Split the
packet type field in the Frame Relay dissector into separate SNAP and
Cisco HDLC fields, and give them the Ethernet type and Cisco HDLC type
"value_string" tables, respectively.

svn path=/trunk/; revision=3133
2001-03-15 09:11:03 +00:00
Guy Harris 3f31328941 CUPS browsing protocol support, from Charles Levert
<charles@comm.polymtl.ca>.

svn path=/trunk/; revision=3124
2001-03-11 02:08:32 +00:00
Gilbert Ramirez db4e6ae220 Actually *use* SSL_LIBS if found by configure.
From Henri Gomez.

svn path=/trunk/; revision=3116
2001-03-06 23:45:03 +00:00
Guy Harris ed665a1b50 Rquota support, from Mike Frisch.
svn path=/trunk/; revision=3082
2001-02-27 19:40:58 +00:00
Guy Harris e917aa9088 As "dissect_diameter()" is now static to "packet-diameter.c", there's no
need to declare it in "packet-diameter.h" - and no need for
"packet-diameter.h".

svn path=/trunk/; revision=3050
2001-02-19 23:16:36 +00:00
Guy Harris 35dfa54307 Updates from Neil Hunter.
svn path=/trunk/; revision=3026
2001-02-13 00:17:55 +00:00
Guy Harris 32a7b693f9 If you register more than one field with the same name, the dfilter code
can now handle that; this allows us to register both the modulo-8 and
the modulo-128 versions of various X.25 bitfields with "x.25.XXX" names,
which lets us get rid of the "ex.25" protocol stuff completely and use
"x.25" for both modulo-8 and modulo-128 X.25.  Do so.  (Also, fix up
some cases where we appeared to be using the modulo-8 fields when
dissecting modulo-128 X.25.)

This, in turn, allows us to register the X.25 dissector, as there's now
only one protocol with which it's associated, and make it static and
have it called only through a handle, and to, when registering it with
the "llc.dsap" dissector table, associate it with "proto_x25".

That, in turn, allows us to get rid of the "CHECK_DISPLAY_AS_DATA()"
calls, and the code to set "pinfo->current_proto", in the X.25
dissector.

The code for the display filter expression dialog would, if there are
two fields with the same name registered under a protocol, list both of
them; have it list only one of them - the fields should have the same
type, the same radix, and the same value_string/true_false_string table
if any (if they don't, they're really not the same field...).

svn path=/trunk/; revision=3023
2001-02-12 09:06:19 +00:00
Guy Harris 7f4a71ab8b Pull a lot of common code for handling 802.3 frames (i.e., frames with a
length field rather than an Ethernet type field) into a
"dissect_802_3()" routine.

In that routine, catch exceptions thrown by the IPX or LLC dissector or
dissectors under them, so that the trailer information is added to the
tree even if an exception is thrown (similar to what "ethertype()"
does).

svn path=/trunk/; revision=3002
2001-02-08 07:08:05 +00:00
Gilbert Ramirez 8f1fff2e6a Create a more modular type system for the FT_* types. Put them
into epan/ftypes.

Re-write display filter routines using Lemon parser instead of yacc.
Besides using a different tool, the new grammar is much simpler, while
the display filter engine itself is more powerful and more easily extended.

Add dftest executable, to test display filter "bytecode" generation.
Add option to "configure" to build dftest or randpkt, both of which are not
built by default.

Implement Ed Warnicke's ideas about dranges in the new display filter and
ftype code.

Remove type FT_TEXT_ONLY in favor of FT_NONE, and have protocols registered
as FT_PROTOCOL. Thus, FT_NONE is used only for simple labels in the proto tree,
while FT_PROTOCOL is used for protocols. This was necessary for being
able to make byte slices (ranges) out of protocols, like "frame[0:3]"

Win32 Makefile.nmake's will be added tonight.

svn path=/trunk/; revision=2967
2001-02-01 20:21:25 +00:00
Guy Harris c8639c08ee Pull the stuff to read and write the list of filter expressions up into
a file in the top-level directory.

svn path=/trunk/; revision=2946
2001-01-28 04:43:26 +00:00
Guy Harris 2865386fe4 HCLNFSD support, from Mike Frisch.
svn path=/trunk/; revision=2941
2001-01-27 20:33:01 +00:00
Guy Harris 971d19f2f1 SUA Light dissector, from Michael Tuexen.
svn path=/trunk/; revision=2933
2001-01-22 09:04:09 +00:00
Guy Harris 4cdc06a96b Automake is a jealous god. If, when sacrificing a goat to it, you do
not kill the goat with the *correct* sort of knife, on the *correct*
altar, and drink its blood from the *correct* goblet at the *correct*
temperature, he will wreak his revenge, perhaps, for example, causing
all your crops to sprout bearing bright green and pink polka-dots.

Add an extra 3 microns to the tip of the blade, so that the Automake God
will not be angry and fail to generate rules to install man pages.  (It
would have been nice had the sacred scrolls described that particular
incantation, but so it goes....)

While we're at it, get rid of "EXTRA_MANS"; it doesn't appear to be
necessary (but such hubris may, of course, bring down the wrath of the
Automake God upon me - you can't just get rid of EXTRA_PROGRAMS, for
example, as the Automake God then forgets how to handle "ethereal_LDADD"
and the like - although in a test run the generated Makefile.in didn't
*appear* to have anything missing other than a definition of EXTRA_MANS,
which it didn't use and so presumably wouldn't miss).

svn path=/trunk/; revision=2900
2001-01-15 08:55:30 +00:00
Guy Harris 914d1da71f Make GRE use a dissector table for its protocol types, and register
dissectors for protcools that can be encapsulated inside GRE in that
table.

Fix a bug in the handling of WCCPv2 IP encapsulation (it was
constructing the next tvbuff before, rather than after, advancing the
offset past the redirection header).

svn path=/trunk/; revision=2893
2001-01-13 07:47:49 +00:00
Gilbert Ramirez 73b6dadd24 Actually call capture_sll() from the capture loop.
svn path=/trunk/; revision=2889
2001-01-13 03:17:15 +00:00
Gilbert Ramirez 9e6d0e1717 Update the SCTP dissector, and add a dissector for
ISDN Q.921-User Adaptation Layer (IUA).
Both are from Michael.Tuexen@icn.siemens.de>

svn path=/trunk/; revision=2876
2001-01-11 16:46:21 +00:00
Gilbert Ramirez f9838e0b03 Add a python script which has the same functionality as the shell
script 'make-reg-dotc'. It is used only in the Win32 build because the
make-reg-dotc shell script is *so* sloooooooooow on Win32, due to the
multiple processes (grep, grep, sed) launched multiple times for each
source file. By putting all the text-mangling logic into a single Python
script, only one process is launched, and the source files are read
only once. It's *a lot* faster... seconds instead of minutes.

svn path=/trunk/; revision=2873
2001-01-11 07:21:35 +00:00
Guy Harris b7a0290c66 Provide a way by which protocols that run atop HTTP, such as IPP, can
register their port as being for XXX-over-HTTP; the HTTP dissector
registers that port in the "tcp.port" table as an HTTP port, and
registers it in its *own* table with the dissector and protocol provided
to it.

Parse the HTTP MIME headers regardless of whether we're building a
protocol tree or not; we have to do so in order to find the offset of
the payload, to hand to an XXX-over-HTTP dissector.

svn path=/trunk/; revision=2872
2001-01-11 06:30:54 +00:00
Guy Harris 918fb90728 "dissect_http()" doesn't need to be global any more; make it static.
svn path=/trunk/; revision=2870
2001-01-11 05:41:47 +00:00
Guy Harris 47b04baac4 M3UA (MTP3 User Adaptation layer) support, from Michael Tuexen.
svn path=/trunk/; revision=2855
2001-01-10 09:25:13 +00:00
Guy Harris 039bd984c0 Make the stuff to handle SNAP frames (OUI, PID, payload) a routine of
its own; it's used not only by LLC, but by Frame Relay with RFC 2427 and
ATM with RFC 2684.

Support for RFC 2427-encapsulation Frame Relay packets, from Paul
Ionescu.

Get rid of the CISCO_IP PPP protocol type - Cisco HDLC uses, in most
cases, Ethernet packet types, so use ETHERTYPE_IP instead (they're both
0x0800).

svn path=/trunk/; revision=2854
2001-01-10 09:07:35 +00:00
Guy Harris 6cc7a2e804 Frame Relay and Frame-Relay-over-GRE support, from Paul Ionescu.
Fix the GRE dissector to call subdissectors regardless of whether a full
protocol tree dissection is being done or not.

svn path=/trunk/; revision=2842
2001-01-07 22:08:31 +00:00
Guy Harris 499a830af6 DEC LANBridge Spanning Tree Protocol support, from Paul Ionescu.
Put "packet-lapbether.c" into "Makefile.nmake".

svn path=/trunk/; revision=2828
2001-01-05 19:00:37 +00:00
Guy Harris b151ddecbb Have the TR MAC and LLC dissectors register themselves, make them
static, and have other dissectors call them through handles.

svn path=/trunk/; revision=2816
2001-01-03 10:34:42 +00:00
Richard Sharpe d481cd7b3f Added a LAPBETHER dissector as per Guy's wishes ... :-)
Damn, took more than half an hour :-(

svn path=/trunk/; revision=2796
2000-12-29 01:06:24 +00:00
Guy Harris d13901155d Tvbuffify the CDP, CGMP, ISL, and VTP dissectors.
Add a new subdissector table in the LLC dissector for protocol IDs with
a Cisco OUI, and register the CDP, CGMP, and VTMP dissectors in that
table, rather than calling them via a switch statement.

Register the ISL dissector by name, and have the Ethernet dissector call
it via a handle.

Fix the handling of the checksum field in the CDP dissector.

The strings in CDP are counted, not null-terminated; treat them as such.

Fix the handling of the encapsulated frame CRC, and the encapsulated
frame, in the ISL dissector, at least for Ethernet frames; it may not be
correct for encapsulated Token Ring frames.

svn path=/trunk/; revision=2792
2000-12-28 09:49:09 +00:00
Guy Harris 11b24c6094 Tvbuffify the RIP and OSPF dissectors.
Change them to use facilities in Ethereal that were probably not present
when they were originally written, e.g. routines to fetch 24-bit
integers and to dump a bunch of raw bytes in hex.

Redo them to extract data from the packet as they dissect it, rather
than extracting an entire data structure at once; that way, it may be
able to dissect a structure not all of which is in the packet.

Dissect a bit more of the type-of-service metrics etc. in OSPF packets.

Make "tvb_length_remaining()" return a "gint", not a "guint"; it returns
-1 if the offset is past the end of the tvbuff.

Add a "tvb_reported_length_remaining()" routine, similar to
"tvb_length_remaining()".  Use it instead of just subtracting an offset
from "tvb_reported_length()".

svn path=/trunk/; revision=2787
2000-12-27 12:48:27 +00:00
Guy Harris 60f9476740 Rename "asn1_octet_string_value_decode()" to
"asn1_string_value_decode()", as it can be used for various character
string types as well.

Turn "asn1_octet_string_decode()" into "asn1_string_decode()", which
takes an additional argument giving the tag expected for the string in
question, and make "asn1_octet_string_decode()" a wrapper around it.

Clean up the ASN.1 dissection in the Kerberos dissector, making more use
of the code in "asn1.c", wrapping more operations up in macros, and
doing some more type checking.

Use "REP" rather than "RESP" in names and strings; "REP" is what the
Kerberos spec uses.

Make the routines in the Kerberos dissector not used outside that
dissector static.

Fix some problems with the dissection of strings in the Kerberos
dissector (it was extracting the data from the wrong place in the
packet).

In Kerberos V5, the "kvno" item in the EncryptedData type is optional;
treat it as such.

Treat integers as unsigned in the Kerberos dissector.

svn path=/trunk/; revision=2777
2000-12-24 09:10:12 +00:00
Guy Harris 039805843b Add support for the DLT_LINUX_SLL capture type in the current CVS
version of libpcap; that's used on Linux for captures on the "any"
device (which captures from all interfaces simultaneously) and for
captures on devices whose link-layer type libpcap doesn't (yet) support
natively.

The spanning tree code, when checking for GV{M,R,...}P packets, must
first check whether the link-layer destination address is, in fact, an
Ethernet-style address; on Linux cooked captures, there *is* no
destination address, so it's of type AT_NONE, not AT_ETHER.

svn path=/trunk/; revision=2772
2000-12-23 08:06:16 +00:00
Nathan Neulinger aa1cf7209e added tethereal_static target
svn path=/trunk/; revision=2769
2000-12-22 15:55:36 +00:00
Guy Harris b5b2fbe783 X.25 over TCP support, from Paul Ionescu.
Also, update his e-mail address.

svn path=/trunk/; revision=2765
2000-12-17 07:38:14 +00:00
Guy Harris 677a1c6dc2 Add code to check the checksums of TCP segments and UDP datagrams;
replace the existing checksummer with a modified version of the BSD
checksumming code.  Add a flag to the "packet_info" structure to
indicate that a packet is the first fragment of a fragmented datagram,
so that the checksummers won't try to checksum those.

(It doesn't seem to add a lot of CPU overhead, so we don't introduce a
flag to disable it, yet.  Further checks may be necessary to see whether
the overhead is just swamped by other overheads when scanning through a
capture dissecting all frames, or if it truly is negligible.)

Make the Boolean preference option controlling whether to make the
top-level protocol tree item for TCP display a packet summary static to
the TCP dissector (it doesn't need to be accessible outside the TCP
dissector).

svn path=/trunk/; revision=2751
2000-12-13 02:24:23 +00:00
Guy Harris 7a2cd91595 Register "dissect_nbipx()", and have the IPX dissector look up its
handle and call it through the handle.  Make it static; this renders
"packet-nbipx.h" unnecessary.

Get rid of the "tvb_compat()" call in the IPX dissector - it calls all
dissectors through handles or lookup tables, and thus any
backwards-compatibility stuff is done by the code in libethereal.

svn path=/trunk/; revision=2735
2000-12-03 09:18:20 +00:00
Guy Harris 60b1bed605 GVRP dissector, from Kevin Shi.
svn path=/trunk/; revision=2721
2000-11-30 09:31:52 +00:00
Richard Sharpe 88f954cfa2 Initial coding of the dissector for the Label Distribution Protocol.
It registers the same dissector for the LDP port for both TCP and UDP.

Still a lot of work to do, but we can see the header now.

svn path=/trunk/; revision=2714
2000-11-29 13:15:01 +00:00
Guy Harris d0177bb9b0 WCCP 2.0 support.
svn path=/trunk/; revision=2709
2000-11-29 06:17:34 +00:00
Gilbert Ramirez d673500082 Wrap the dissect_fddi() call (with a 4th argument) with
dissect_fddi_not_bitswapped() and dissect_fddi_bitswapped(), both of which
use the standard 3-argument tvbuffified-dissector argument list.

Add a dissector table called "wtap_encap" which is used to call dissectors
from dissect_frame(). The switch() statement from this top-level dissector
is removed.

The link-layer dissectors register themselves with the "wtap_encap"
dissector table. The dissectors are now static where possible.

svn path=/trunk/; revision=2708
2000-11-29 05:16:15 +00:00
Gilbert Ramirez 038774d586 Enable the building of any combination of ethereal, tethereal, and editcap.
If GTK+ is not detected, then ethereal is not built.

svn path=/trunk/; revision=2695
2000-11-22 04:03:22 +00:00
Guy Harris fcd119d834 Add a "color.h" file that declares a nominally-toolkit-independent
"color_t" structure to store color values (although currently it has all
the same fields that a GdkColor has; its currently advantage is that you
don't have to include any GTK/GDK stuff to declare it).

Add routines in the "gtk" directory to convert between "color_t" and
GdkColor values.

Define, in "prefs.h", all colors as "color_t" values rather than
GdkColor values.  "prefs.h" now no longer needs to include <gtk/gtk.h>,
so don't include it.

svn path=/trunk/; revision=2692
2000-11-21 23:54:10 +00:00
Guy Harris 6ed0c8ac68 Register the OSI transport dissector by name, and make it static.
"packet-clnp.h" no longer exports anything, so remove it.

Have the X.25 dissector call subdissectors through dissector handles
(now that all the dissectors it uses are registered by name).

svn path=/trunk/; revision=2668
2000-11-19 04:14:26 +00:00
Guy Harris d50abaf3f4 Give the "null" link-layer header dissector a dissector table, and put
the BSD AF_ type values it uses into an "aftypes.h" header file for
dissectors that register themselves in that dissector table include.

svn path=/trunk/; revision=2653
2000-11-17 06:02:21 +00:00
Guy Harris ee1b884ee9 Tvbuffify the STP dissector, have it register itself and have the LLC
dissector call it through a handle, and make it static.

Give "dissect_data()" an "offset" argument, so dissectors can use it to
dissect part of the packet without having to cook up a new tvbuff.

Go back to using "dissect_data()" to dissect the data in an IPP request.

svn path=/trunk/; revision=2651
2000-11-16 07:35:43 +00:00
Guy Harris b606de7ea3 Tvbuffify the IPP dissector, and have it register itself rather than
being a global function.

The HTTP dissector should set "pinfo->current_proto" to HTTP even if we
consider the packet to be IPP, so that if we run past the end of a
tvbuff while dissecting HTTP stuff it's reported as a problem with HTTP,
not IPP.

svn path=/trunk/; revision=2648
2000-11-15 08:27:14 +00:00
Guy Harris 77ad89b12d Add a mechanism by which a dissector can be registered by name, another
dissector can get a "handle" for that dissector by name and then call
that dissector through the handle.

This allows dissectors that can't be called through a port table or a
heuristic table to be called from other dissectors without directly
referring to the dissector function - dynamically-loaded modules, under
Windows, cannot directly call functions in the main program, and
non-plugin dissectors are in the main program and thus cannot be called
from plugin dissectors unless either

	1) a pointer to the dissector is put in the Big Transfer Vector

or

	2) some other mechanism for getting a pointer to the dissector
	   is provided.

This mechanism could also support registering old-style dissectors and
calling them from new-style dissectors without the new-style dissector
having to do the argument translation itself (I didn't add support for
registering old-style dissectors because I'd prefer to have people
tvbuffify their code if they have to register a dissector...).

It could also, in the future, perhaps support

	disabling of protocols;

	setting "pinfo->current_proto";

inside "call_dissector()" - and inside "{old_}dissector_try_port()" and
"{old_"dissector_try_heuristic()" - allowing a pile of stuff that
currently has to be done in every dissector be done by common code.
(I have some ideas about how to do this, by

	having "proto_register_protocol()" take an abbreviation - of the
	sort that would be put in, for example, "pinfo->current_proto" -
	as an argument;

	having the calls to register dissectors take an index returned
	by "proto_register_protocol()" as an argument.

The abbreviation could be used elsewhere as well, e.g. in the "Decoding"
tab of the "Edit->Protocols" dialog box, and in a GUI for constructing
protocol filters.  Watch this space.)

Make "dissect_sdp()" the first client of this mechanism; it's now static
to "packet-sdp.c", and all dissectors that call it - including the MGCP
plugin - now call it through a dissector handle fetched by
"find_dissector()".  (Next step - see if Ethereal can now compile on
Windows as a result of this.)

svn path=/trunk/; revision=2647
2000-11-15 07:07:52 +00:00
Guy Harris 7c3fcbac34 IEEE 802.11 support, from Johan Jorgensen of Axis Communications AB.
Add in stuff for a bunch of libpcap formats either in libpcap 0.5.2 or
in the current CVS version; we don't implement all of them in
Ethereal/Wiretap (those are "#if 0"ed out), but we do implement the IEEE
802.11 stuff (which isn't yet in libpcap or tcpdump, but the CVS version
of libpcap *does* reserve 105 as the encapsulation type number for
802.11).

svn path=/trunk/; revision=2646
2000-11-15 05:42:35 +00:00
Gilbert Ramirez 2cb9d54620 Add MGCP dissector plugin from Ed Warnicke <hagbard@physics.rutgers.edu>.
svn path=/trunk/; revision=2588
2000-11-09 10:04:48 +00:00
Nathan Neulinger 41281d38d5 forget to commit change w/ afs headers
svn path=/trunk/; revision=2576
2000-11-06 14:14:01 +00:00
Guy Harris 2d46c654d4 AIM/OSCAR dissector, from Ralf Holzer.
svn path=/trunk/; revision=2570
2000-11-05 23:45:59 +00:00
Guy Harris f123a86b70 SIP dissector, from Heikki Vatiainen.
svn path=/trunk/; revision=2562
2000-11-04 07:50:47 +00:00
Guy Harris 8c6db228bf WAP support, from Neil Hunter.
svn path=/trunk/; revision=2558
2000-11-04 03:30:41 +00:00
Guy Harris 058a7931fb Cisco IGRP support, from Paul Ionescu.
svn path=/trunk/; revision=2536
2000-10-26 09:14:28 +00:00
Guy Harris 86ceeff7db Wildcard matching is tricky - you have to try wildcarding both the
source *and* destination port and/or both the source *and* destination
address passed to "find_conversation()", because the packet for which
you're trying to find the conversation may be going in the opposite
direction to the packet for which the conversation was originally
created.

Create different hash tables for wildcarded conversations, to reduce the
number of "is this a wildcard?" tests done when doing hash lookups.

This is sufficient to allow the TFTP dissector to use conversations
rather than being special-cased in the UDP dissector, and may also be
sufficient to handle a similar problem with SMTP (request goes from
client IP X port Y to server IP Z's well-known port, reply comes back
from some other port on server Z to client IP X port Y), but further use
may reveal other changes that should be made.

svn path=/trunk/; revision=2525
2000-10-21 09:54:12 +00:00
Guy Harris c4e96b73e2 "tvbtest.c" is now in the "epan" subdirectory, so don't put it in
EXTRA_DIST in the top-level Makefile.am.

svn path=/trunk/; revision=2513
2000-10-19 07:17:38 +00:00
Guy Harris 3f8b7cd0fc Andreas Sikkema's new H.261 and TPKT dissectors, replacement RTCP and
RTP dissectors, and changes to the Q.931 dissector for use with H.323.

svn path=/trunk/; revision=2511
2000-10-19 06:45:11 +00:00
Gilbert Ramirez 3762a64fce Fix for inet*.[ch] move.
svn path=/trunk/; revision=2495
2000-10-14 05:11:11 +00:00
Gilbert Ramirez 26bda31ed9 Move inet_*.[ch] files to epan.
svn path=/trunk/; revision=2494
2000-10-14 04:31:26 +00:00
Gilbert Ramirez aff507ff0a While keeping the directory named 'epan' and the symbols in the library
starting with "epan_", change the name of the library from libepan.a to
libethereal.a, and from libepan.lib to ethereal.lib.

svn path=/trunk/; revision=2492
2000-10-14 03:53:25 +00:00
Gilbert Ramirez e69b5278aa Implement epan_dissect_new() and epan_dissect_free(). These are the
"top-level" dissectors that libepan-users call, instead of dissect_packet().
The epan_dissect_t holds the tvbuff after dissection so that the tvbuff's
memory is not cleared until after the proto_tree is freed. (I might stuff
the proto_tree into the epan_dissect_t, too).

What remains of dissect_packet() in packet.c handles the tvbuff initialiation.
The real meat of dissect_packet() is now in dissect_frame(), in packet-frame.c
This means that "packet.c" is no longer a dissector, os it is no longer
passed to make-reg-dotc.

Once dissect_fddi() gets two wrapper functions (dissect_fddi_swapped()
and dissect_fddi_nonswapped()), the a dissector handoff routine could
be used instead of the switch statement in dissect_frame(). I'd register
a field like "wtap.encap"

svn path=/trunk/; revision=2478
2000-10-06 10:11:40 +00:00
Gilbert Ramirez 0efe324371 Simple code movement.
svn path=/trunk/; revision=2463
2000-09-28 03:52:12 +00:00
Gilbert Ramirez df710d82c7 Simple code movement to epan.
svn path=/trunk/; revision=2462
2000-09-28 03:28:54 +00:00
Gilbert Ramirez cba2930d6b Move packet.[ch] to epan
svn path=/trunk/; revision=2460
2000-09-27 05:18:06 +00:00
Gilbert Ramirez 83ec54675c First step in moving core Ethereal routines to libepan.
svn path=/trunk/; revision=2458
2000-09-27 04:55:05 +00:00
Gilbert Ramirez 28ac31a634 Move #included C code from an *.h file to an *.inc file.
svn path=/trunk/; revision=2456
2000-09-22 16:37:50 +00:00
Gilbert Ramirez 9941aabd64 Move format_text(), get_token_len(), and fine_line_end(), into strutil.c
This keeps tvbuff.c generic; it doesn't have to pull in packet.h and all
of it's included files.

svn path=/trunk/; revision=2409
2000-09-11 16:16:13 +00:00
Richard Sharpe 8d0ca23802 Initial BXXP dissector ...
Lots more work to be done.

svn path=/trunk/; revision=2384
2000-08-30 12:42:31 +00:00
Gilbert Ramirez 8afa787b0e List pint.h as a source file.
svn path=/trunk/; revision=2383
2000-08-30 02:58:24 +00:00
Richard Sharpe 0d41da6914 Adding the first part of packet-smtp.c ...
This needs some additional parts, and points to the
need for a dissector for the ident protocol, but I want to
try to automatically generate that ...

svn path=/trunk/; revision=2301
2000-08-19 23:00:06 +00:00
Gilbert Ramirez 729f85b1ad Add Zebra dissector from Jochen.
svn path=/trunk/; revision=2292
2000-08-18 15:26:52 +00:00
Guy Harris e01997e3d0 Give, in "README.hpux", what appears to be the new URL for the UK HP-UX
Porting and Archive Centre site.

Warn in the very beginning of that file that libpcap may not work very
well without patches.  Give patches to libpcap for:

	vanilla LBL libpcap 0.4

	vanilla tcpdump.org libpcap 0.5

	libpcap 0.4 from the HP-UX Porting and Archive Centre (which is
	the only version that includes configure-script changes to work
	with HP's C compiler as well as GCC)

and put them in files separate from "README.hpux" (to make it easier for
users to apply the patches).

Make those versions of the patch give a slightly different error message
if libpcap fails to find the PPA for the device, to make it easier to
figure out if the user reporting a problem with HP-UX capture has a
patched version of libpcap or not (so that we know whether the problem
may just be that they're using an unmodified libpcap, or if they're
running a patched version and that patch needs more work, e.g. to look
at devices other than just "/dev/dlpi").

Give information on how to find "patch", warn that probably only the
HP-UX Porting and Archive Centre version will work with the HP C
compiler, warn that applying a version of the patch other than the one
for the particular version of libpcap you've downloaded will probably
not work, and warn that you need to download source to libpcap in order
to do any of this in the first place.

(The current libpcap CVS tree at tcpdump.org has this patch in it, so
the next release of libpcap from tcpdump.org should have it; hopefully
the HP-UX Porting and Archive Centre will switch to that version when it
comes out, and people will just be able to push a few buttons to get an
Ethereal that works on HP-UX.)

svn path=/trunk/; revision=2264
2000-08-13 07:48:56 +00:00
Guy Harris ce2d5b1ac3 RSH dissector, from Robert Tsai.
svn path=/trunk/; revision=2261
2000-08-12 05:41:10 +00:00
Guy Harris fa7f38180a Kerberos 5 dissector, from Wes Hardaker.
svn path=/trunk/; revision=2250
2000-08-11 03:32:53 +00:00
Guy Harris 888b5a1cdb David Frascone's DIAMETER dissector.
svn path=/trunk/; revision=2176
2000-07-30 07:16:11 +00:00
Gilbert Ramirez 8ceb7d40f9 Add the re-write of the NetWare Core Protocol dissector. It's mostly
a framework for the dissector; of the more than 400 NCP packet types, only
a handful are defined. But this dissector framework is much better than
the previous one.

svn path=/trunk/; revision=2173
2000-07-28 20:03:59 +00:00
Gilbert Ramirez 25935e6b19 Don't create dfilter2pod from dfilter2pod.in just for @PERL_PATH@; it's
a waste of time. Instead, set $(PERL) to @PERL_PATH@ in the Makefile and
call dfilter2pod.pl via $(PERL) $(src_dir)/dfilter2pod.pl

svn path=/trunk/; revision=2171
2000-07-28 16:30:28 +00:00
Uwe Girlich 672efa58e2 Quake dissector packet-quake.c added.
svn path=/trunk/; revision=2169
2000-07-27 11:00:48 +00:00
Guy Harris ec9f9cb687 Add a script, "aclocal-flags", which figures out where
1) aclocal expects autoconf/automake macros to be hidden;

	2) GTK+ hid its autoconf/automake macros;

and, if both places exist but aren't the same directory, returns a "-I"
flag to tell aclocal to look in GTK+'s directory.

Then have "autogen.sh", and Makefiles in directories with "acinclude.m4"
files, use that script and pass what flag it supplies, if any, to
aclocal.

This should, I hope, avoid problems such as those FreeBSD systems where
GTK+ was installed from a port or package (and thus stuck its macros in
"/usr/X11R6/share/aclocal") but aclocal doesn't look there.

(It doesn't solve the problem of somebody downloading and installing,
say, libtool from source - which means it probably shows up under
"/usr/local", with its macros in "/usr/local/share/aclocal" - on a
system that comes with aclocal (meaning it probably just looks in
"/usr/share/aclocal", but that may be best fixed by, whenever you
download a source tarball for something that's part of your OS,
configuring it to install in the standard system directories and
*overwriting* your OS's version.)

svn path=/trunk/; revision=2165
2000-07-26 08:03:57 +00:00
Gerald Combs 7baf3c1730 Switch Solaris package build naming to a more generic SVR4. Add RPM and SRPM
package build targets.  Move ethereal.spec(.in) to packaging/rpm.

The spec file is different from Henri's.  We might want to switch to his
for the sake of consistency.

svn path=/trunk/; revision=2162
2000-07-26 03:39:11 +00:00
Olivier Abad 401fd78672 Add a "debian-package" target to Makefile.am to build debian packages.
svn path=/trunk/; revision=2155
2000-07-22 20:56:13 +00:00
Gerald Combs 354dcbfbf5 Add support for bulding Solaris binary packages. The distribution
is installed in packaging/solaris.stage, and from there the package
is created.  The checkinstall script depends on GTK+/Glib residing
in /usr/local.

svn path=/trunk/; revision=2151
2000-07-22 04:10:23 +00:00
Gilbert Ramirez 9edd4638fc Add SCTP dissector from Tuexen Michael <Michael.Tuexen@icn.siemens.de>
svn path=/trunk/; revision=2148
2000-07-21 12:57:09 +00:00
Guy Harris a1b0b42431 Apparently, on systems with glibc 2.2, "inet_aton()" is declared in
<arpa/inet.h>, but is, in some fashion, declared differently from the
way we declare it in "inet_v6defs.h", but "inet_ntop()" isn't defined,
so we include "inet_v6defs.h" in "inet_pton.c", which causes
"inet_pton.c" not to compile as we get a collision between the two
declarations.

Move the declaration of "inet_aton()" to "inet_aton.h", define
"NEED_INET_ATON_H" iff we didn't find "inet_aton()" in the system
libraries, and include "inet_aton.h" in the callers of "inet_aton()" iff
"NEED_INET_ATON_H" is defined, so that it doesn't get declared by us if
"inet_aton()" is defined by a system library (which hopefully means it's
declared in <arpa/inet.h> instead).

svn path=/trunk/; revision=2137
2000-07-14 07:11:53 +00:00
Uwe Girlich 96c86d737a SINIX-M systems don't know about strcasecmp(). I added the source file
from the GNU C Library 2.0.7 like I did it with strncasecmp().

svn path=/trunk/; revision=2119
2000-07-06 10:03:44 +00:00
Guy Harris b1f950b377 Add support for a global "ethereal.conf" preferences file, stored in the
same directory as the "manuf" file ("/etc" or "/usr/local/etc", most
likely).

Add a mechanism to allow modules (e.g., dissectors) to register
preference values, which:

	can be put into the global or the user's preference file;

	can be set from the command line, with arguments to the "-o"
	flag;

	can be set from tabs in the "Preferences" dialog box.

Use that mechanism to register the "Decode IPv4 TOS field as DiffServ
field" variable for IP as a preference.

Stuff that still needs to be done:

	documenting the API for registering preferences;

	documenting the "-o" values in the man page (probably needs a
	flag similar to "-G", and a Perl script to turn the output into
	documentation as is done with the list of field);

	handling error checking for numeric values (range checking,
	making sure that if the user changes the variable from the GUI
	they change it to a valid numeric value);

	using the callbacks to, for example, update the display when
	preferences are changed (could be expensive);

	panic if the user specifies a numeric value with a base other
	than 10, 8, or 16.

We may also want to clean up the existing wired-in preferences not to
take effect the instant you tweak the widget, and to add an "Apply"
button to the "Preferences" dialog.

svn path=/trunk/; revision=2117
2000-07-05 09:41:07 +00:00
Guy Harris 0c19288eb3 Add link instructions for "tvbtest", so that we link with GLib.
svn path=/trunk/; revision=2085
2000-06-22 06:37:59 +00:00
Guy Harris 515f6811c0 Christophe Tronche's X11 dissector.
svn path=/trunk/; revision=2057
2000-06-12 02:30:35 +00:00
Gerald Combs 9907f9b9ff Add syslog message dissector.
svn path=/trunk/; revision=2054
2000-06-11 05:19:21 +00:00
Gilbert Ramirez d8944a80aa Add COPS dissector (with a few fixes for compiling on Win32).
I put the header file info in packet-cops.c since no one else uses it.

Fix the version number and plugin directory in config.h.win32.

svn path=/trunk/; revision=2044
2000-06-07 22:57:45 +00:00
Guy Harris 86e1e74fb9 Give the IPX dissector dissector hash tables for the IPX type and socket
number, and have the protocols encapsulated inside IPX register
themselves with that table.

svn path=/trunk/; revision=2028
2000-05-30 03:35:55 +00:00
Guy Harris cb5b6c4719 Give the Appletalk DDP dissector a dissector hash table, and have the
protocols encapsulated inside DDP register themselves with that table.

Pull the EIGRP dissector into its own file, as suggested by Paul
Ionescu; it's not an IP-specific protocol.

svn path=/trunk/; revision=2022
2000-05-28 22:59:18 +00:00
Gilbert Ramirez 6598abd96f Add Mobile IP dissector. Converted to use tvbuff.
I'm going to make one more change to get rid of use of END_OF_FRAME, but
that will be later.

svn path=/trunk/; revision=2013
2000-05-27 13:53:26 +00:00
Guy Harris b23955a89b EIGRP over Appletalk and EIGRP over IPX support, from Paul Ionescu.
svn path=/trunk/; revision=1994
2000-05-22 18:09:36 +00:00
Gilbert Ramirez 06ba8a87c2 Add very basic tvbuff documentation. I still need to explain TVBUFF_COMPOSITE's,
and explain how to use exceptions.h.

svn path=/trunk/; revision=1963
2000-05-15 06:48:16 +00:00
Gilbert Ramirez dbf648436a Add a sample Makefile for regression testing by using tethereal.
svn path=/trunk/; revision=1947
2000-05-12 05:47:00 +00:00
Gilbert Ramirez af9016663d Remove proto_tree doc, as all necessary info in it is in README.developer.
Add tvbtest.c to list of packaged files.

svn path=/trunk/; revision=1944
2000-05-12 04:00:05 +00:00
Gilbert Ramirez 292e38e2c6 Add tvbuff class.
Add exceptions routines.
Convert proto_tree_add_*() routines to require tvbuff_t* argument.
Convert all dissectors to pass NULL argument ("NullTVB" macro == NULL) as
the tvbuff_t* argument to proto_tree_add_*() routines.

dissect_packet() creates a tvbuff_t, wraps the next dissect call in
a TRY block, will print "Short Frame" on the proto_tree if a BoundsError
exception is caught.

The FDDI dissector is converted to use tvbuff's.

svn path=/trunk/; revision=1939
2000-05-11 08:18:09 +00:00
Guy Harris 162800efb3 In "Makefile.am" and "Makefile.nmake", have "DISSECTOR_SOURCES" include
only the dissector source files, not the header files; that way you
don't feed the header files to "make-reg-dotc", as "make-reg-dotc" won't
find any registration routines there so there's no point in feeding
header files to it.

Doing so means that we can make "DISSECTOR_OBJECTS" in "Makefile.nmake"
by doing

	DISSECTOR_OBJECTS = $(DISSECTOR_SOURCES:.c=.obj)

rather than separately enumerating the object files, as Nmake supports
System V "make"-style substitution.

This should let users who change "DISSECTOR_SOURCES" in one of those
files just copy it to the other file.

svn path=/trunk/; revision=1938
2000-05-11 07:34:32 +00:00
Guy Harris 6bbfd97bde Add routines to:
register lists of "heuristic" dissectors, which are handed a
	frame that may or may contain a payload for the protocol they
	dissect, and that return FALSE if it's not or dissect the packet
	and return TRUE if it is;

	add a dissector to such a list;

	go through such a list, calling each dissector until either a
	dissector returns TRUE, in which case the routine returns TRUE,
	or it runs out of entries in the list, in which case the routine
	returns FALSE.

Have lists of heuristic dissectors for TCP and for COTP when used with
the Inactive Subset of CLNP, and add the GIOP and Yahoo Messenger
dissectors to the first list and the Sinec H1 dissector to the second
list.

Make the dissector name argument to "dissector_add()" and
"dissector_delete()" a "const char *" rarther than just a "char *".

Add "heur_dissector_add()", the routine to add a heuristic dissector to
a list of heuristic dissectors, to the set of routines we can export to
plugins through a table on platforms where dynamically-loaded code can't
call stuff in the main program, and initialize the element in the table
in question for "dissector_add()" (which we'd forgotten to do).

svn path=/trunk/; revision=1909
2000-05-05 09:32:36 +00:00
Guy Harris cd59d75124 Support for RTCP and RTP, from Jason Lango.
svn path=/trunk/; revision=1885
2000-04-21 01:45:58 +00:00
Guy Harris edd1f26170 Have the IPv6 dissector use the same dissector table as the IPv4
dissector.

Don't dissect the payload of any fragmented IPv6 packet unless it's the
initial fragment (that's what we do for IPv4).

svn path=/trunk/; revision=1882
2000-04-20 07:05:58 +00:00
Guy Harris c2a68f6b86 Microsoft Proxy protocol dissector from Jeff Foster.
svn path=/trunk/; revision=1881
2000-04-20 02:18:53 +00:00
Guy Harris 0ba3e2b233 Register a "llc.dsap" dissector table for 802.2 LLC, and have dissectors
for protocols that run inside 802.2 LLC register themselves with it
using "dissector_add()".

Make various dissectors static if they can be, and remove from header
files declarations of those dissectors.

svn path=/trunk/; revision=1872
2000-04-17 00:32:43 +00:00
Guy Harris 83a275737e Make various dissectors static if they can be, and get rid of any header
files that no longer contain any information as a result of that change.

svn path=/trunk/; revision=1871
2000-04-16 22:59:37 +00:00
Guy Harris 9aa7670a4e Register an "ip.proto" dissector table for IPv4, and have dissectors for
protocols that run inside IPv4 register themselves with it using
"dissector_add()".

Make various dissectors static if they can be, and get rid of any header
files that no longer contain any information as a result of that change.

svn path=/trunk/; revision=1870
2000-04-16 22:46:25 +00:00
Guy Harris 4179944c14 Register a "ppp.protocol" dissector table for PPP, and have dissectors
for protocols that run inside PPP register themselves with it using
"dissector_add()".

svn path=/trunk/; revision=1869
2000-04-16 21:37:07 +00:00
Guy Harris c9d4dd080d Ralf Schneider's changes to enhance to OSI CLNP, CLTP, and ISIS support
and to add OSI ESIS support.

svn path=/trunk/; revision=1865
2000-04-15 22:11:26 +00:00
Guy Harris 0131109a72 Graham Bloice's Win32 icon for Ethereal and Win32 resource-compiler
files to add version/copyright/etc.  information to Win32 executables.

svn path=/trunk/; revision=1859
2000-04-15 04:10:50 +00:00
Olivier Abad 6271cb9f0e Renamed packet-dhis to packet-ddtp.
svn path=/trunk/; revision=1852
2000-04-13 21:08:16 +00:00
Gilbert Ramirez db187f965c Change the sub-dissector handoff registration routines so that the
sub-dissector table is not stored in the header_field_info struct, but
in a separate namespace. Dissector tables are now registered by name
and not by field ID. For example:

        udp_dissector_table = register_dissector_table("udp.port");

Because of this different namespace, dissector tables can have names
that are not field names.  This is useful for ethertype, since multiple
fields are "ethertypes".

packet-ethertype.c replaces ethertype.c (the name was changed so that it
would be named in the same fashion as all the filenames passed to make-reg-dotc)

Although it registers no protocol or field, it registers one dissector table:

	ethertype_dissector_table = register_dissector_table("ethertype");

All protocols that can be called because of an ethertype field now register
that fact with dissector_add() calls.

In this way, one dissector_table services all ethertype fields
(hf_eth_type, hf_llc_type, hf_null_etype, hf_vlan_etype)

Furthermore, the code allows for names of protocols to exist in the
etype_vals, yet a dissector for that protocol doesn't exist. The name
of the dissector is printed in COL_INFO. You're welcome, Richard. :-)

svn path=/trunk/; revision=1848
2000-04-13 18:18:56 +00:00
Guy Harris cf31cb477d Jeff Foster's SOCKS dissector, support for associating dissectors
with conversations and having TCP and UDP check whether a packet is part
of a conversation with a dissector and, if so, using that dissector on
the conversation, and "ethertype()"-style support for allowing a
dissector to call a sub-dissector via the same path that the TCP and UDP
dissectors use, based on port numbers supplied by that dissector.

svn path=/trunk/; revision=1837
2000-04-12 22:53:16 +00:00
Guy Harris 42107e8614 Move calls to "dissector_add()" out of the register routines for TCP and
UDP and into the handoff registration routines for the protocols in
question.

Make the dissectors for those protocols static if they're not called
outside the dissector's source file.

Get rid of header files if all they did was declare dissectors that are
now static; remove declarations of now-static dissectors from header
files that do more than just declare the dissector.

svn path=/trunk/; revision=1823
2000-04-08 07:07:42 +00:00
Guy Harris 160928a318 Jeff Foster's rlogin dissector, and changes to the TCP dissector to
export the urgent pointer (as the rlogin dissector needs it).

svn path=/trunk/; revision=1822
2000-04-08 03:32:10 +00:00
Gilbert Ramirez 209a8a9a79 Packaging fixes.
svn path=/trunk/; revision=1799
2000-04-05 11:04:46 +00:00
Guy Harris e6d47076b8 Make "register.c" depend on "$(srcdir)/make-reg-dotc", so that if the
"make-reg-dotc" script is changed, "register.c" is remade (as the change
may change what it generates).

svn path=/trunk/; revision=1787
2000-04-04 06:10:44 +00:00
Guy Harris a91805901f Use the "-o" flag, rather than using the "-t" flag and redirecting the
standard output, in the rules to get Flex to produce scanner code; that
way, if Flex fails to run for some reason, we don't leave around a
zero-length or otherwise incorrect "XXX-scanner.c" file that might
keep a subsequent make from thinking it has to generate that file.

svn path=/trunk/; revision=1763
2000-03-29 19:55:51 +00:00
Ashok Narayanan 519161968a Support for MultiProtocol Label Switching (MPLS). The following support
is being added

	- MPLS Traffic Engineering extensions for RSVP
	- MPLS-encapsulated IP packets on Ethernet
	- OSPF Extensions for MPLS (including generic opaque LSA
	  support for OSPF)

THe following features will be committed at a later date (if I get around
to writing them :-)

	- Label Distribution Protocol (LDP)
	- IS-IS Extensions for MPLS

svn path=/trunk/; revision=1707
2000-03-09 18:31:51 +00:00
Gilbert Ramirez a3256bd288 Add config.nmake and two Makefile.nmake's to the list of deliverables.
svn path=/trunk/; revision=1690
2000-03-03 12:01:22 +00:00
Guy Harris ed51759ef2 Oops, forgot to include "packet-h1.h".
svn path=/trunk/; revision=1678
2000-03-02 07:27:56 +00:00
Guy Harris fa942a502f Gerrit Gehnen's dissector for the Sinec H1 protocol (Siemens Industrial
Ethernet; used for communication with Siemens S5 PLC's over Ethernet),
and his changes to display OSI COTP TSAPs that consist solely of
printable characters as text rather than as hex data and to decode the
version number resource in COTP.

svn path=/trunk/; revision=1677
2000-03-02 07:27:05 +00:00
Guy Harris 4eee1fa7ca James Coe's developer HOWTO.
svn path=/trunk/; revision=1673
2000-03-01 07:48:03 +00:00
Olivier Abad b752f1ee3c New dissector for DHIS (Dynamic Host Information Services) protocol.
This protocol is UDP based and uses ports 58800 and 58801.

svn path=/trunk/; revision=1667
2000-02-23 22:28:50 +00:00
Guy Harris 15b8822697 Add a "README.bsd", which currently only explains how to enable BPF in
your kernel, but which could hold other notes about Ethereal on
{Free,Net,Open}BSD and/or BSD/OS.

svn path=/trunk/; revision=1653
2000-02-19 21:54:07 +00:00
Gilbert Ramirez 69bbabe59f Build/packaging fix. We have to include an install-exec-hook target
for non-setuid builds, simply because of the way automake works. Automake
makes install-exec-hook a dependency of install-exec-am because it sees it
in Makefile.am, without taking into account the ifdef.

svn path=/trunk/; revision=1638
2000-02-15 21:17:57 +00:00
Gilbert Ramirez ddfa11e870 Create a header file for every packet-*.c file. Prune the packet.h file.
This change allows you to add a new packet-*.c file and not cause a
recompilation of everything that #include's packet.h

Add the plugin_api.[ch] files ot the plugins/Makefile.am packaging list.

Add #define YY_NO_UNPUT 1 to the lex source so that the yyunput symbol
is not defined, squelching a compiler complaint when compiling the generated
C file.

svn path=/trunk/; revision=1637
2000-02-15 21:06:58 +00:00
Guy Harris 12df8af4e3 Jeff Foster's SMB Mailslot and Netlogin dissectors; he split
"packet-smb.c" up into several files.

svn path=/trunk/; revision=1629
2000-02-14 04:02:21 +00:00
Guy Harris c80a7fd1d5 The color stuff is almost completely toolkit-dependent (this isn't just
the color-selection and color-filter-editing GUI stuff; different
toolkits, and different windows systems, have their own notions of color
objects - they may have nothing in common other than the notion that
colors have red, green, and blue values); move it all to the "gtk"
subdirectory for now, and, as we discover stuff stuff that can be made
platform-independent, drag it up to the top-level directory.

svn path=/trunk/; revision=1621
2000-02-12 08:15:31 +00:00
Gilbert Ramirez a2ab3f8c5a Add Peter Kjellerstedt <peter.kjellerstedt@axis.com>'s patches
to add Axis ethernet vendor ID, use libtoolize in autogen.sh, and
provide the very dangerous option of installing ethereal setuid.

I've added a "DANGEROUS" comment to the description of the
--enable-setuid-install option which displays in "./configure --help".

Removed generated files tha old libltdl/.cvsignore brought to my
attention by Peter.

svn path=/trunk/; revision=1616
2000-02-11 03:17:58 +00:00
Gilbert Ramirez c08f671988 Dietmar Petras provided:
* fix a bug in packet-tftp.c dissecting TFTP Option Acknowledgement
  packets. The is no Block-Id in TFTP Option Acknowledgements, as it is
  in TFTP Acknowledgements.
* Extension of manuf by ethernet addresses from ELSA (my company), a german
  vendor of ISDN routers, cable modems, etc.
* New dissector for Time Protocol [RFC 0868]. That protocol works on port
  37 of UDP and TCP. The implementation in this patch only dissects the
  more usual UDP version. It could print the time in a more fashion way,
  but thats for a later version.

svn path=/trunk/; revision=1609
2000-02-09 17:15:59 +00:00
Guy Harris 101bc1a007 Dissector for Cisco's Virtual Trunking Protocol.
svn path=/trunk/; revision=1603
2000-02-05 09:19:06 +00:00
Guy Harris 4b81b2dbc9 Cisco Group Management Protocol dissector.
svn path=/trunk/; revision=1601
2000-02-05 05:54:17 +00:00
Nathan Neulinger 53db0d5587 Added ethereal_static extra target in Makefile.am. Did not add the updates
to configure.in. This should allow someone to do 'make ethereal_static' and
get a staticly built copy of ethereal w/o plugin support on platforms that
support -Wl,-static for static linking.

svn path=/trunk/; revision=1585
2000-01-30 16:57:20 +00:00
Olivier Abad 744ab22245 Add a debian subdirectory and the files needed to generate a debian package.
The files were created by Frederic Peters <fpeters@debian.org>, the maintainer
of the ethereal debian package.
I just modified `rules' to use autogen.sh when building from a CVS tree.
Building a debian package is now very easy :
- in debian/changelog : change the version number (and replace my name with
                        yours)
- dpkg-buildpackage -rfakeroot -us -uc

svn path=/trunk/; revision=1569
2000-01-26 07:00:26 +00:00
Guy Harris c38ed66e9c Add support for Cisco ISL.
svn path=/trunk/; revision=1537
2000-01-24 18:46:45 +00:00
Guy Harris aabf4155cb Include CFLAGS in the command to build "rdps".
svn path=/trunk/; revision=1510
2000-01-18 20:35:40 +00:00
Gilbert Ramirez ccef52a83a Don't exclude register.c from the distribution tarball because we
no longer optionally compile the snmp dissector. But I left the dist-hook
line in the Makefile.am in case we're ever in that situation again.

svn path=/trunk/; revision=1492
2000-01-15 13:45:06 +00:00
Gilbert Ramirez 34a287ee01 Remove libltdl from the build. The directory is still in CVS, but it is
not used in the build. I'll wait a few days to remove the libltdl
directory, just in case.

svn path=/trunk/; revision=1490
2000-01-15 13:25:22 +00:00
Guy Harris eacc4cad71 Arrange that, on Solaris, we link with "-lkstat" if necessary when
linking with "-lsnmp".

Link only Ethereal and Tethereal with "-lpcap"; don't link editcap, or
any of the test programs that the configure script builds, with it
(because that means you also have to arrange that those test programs be
linked with @SOCKET_LIBS@ and @NSL_LIBS@) - i.e., don't add it to LIBS,
add it to PCAP_LIBS, and use that only for programs that need it.

svn path=/trunk/; revision=1484
2000-01-15 09:46:28 +00:00
Guy Harris 486e259d94 Tethereal needs the same set of additional objects that Ethereal does;
make it link with them.

Provide dependencies for Tethereal as well.

Tethereal may need to be linked with "-lsocket" and/or "-lnsl"; check
for that, and arrange that it be linked with them if necessary.

svn path=/trunk/; revision=1483
2000-01-15 08:08:20 +00:00
Gilbert Ramirez 339d67b043 Merge in the final code to make Ethereal run on Win32, compiled
with MSVC 6.0 and 'nmake', the make tool that comes with MSVC.

It compiles, links, and runs. It doesn't run correctly. There's a problem
when reading files. I'm getting short reads.  I'm not linking in zlib or
libsnmp because it first needs to be debugged.

I changed the plugin code to use gmodule instead of libltdl, but the
Unix build still links ethereal against libltdl. I'll fix that tonight; sorry
about leaving it in such a sad state, but I wanted to check in this code
before I left work on a Friday night. Ethereal still works, but the
building is less than optimal.

svn path=/trunk/; revision=1479
2000-01-15 00:23:13 +00:00
Guy Harris 9f38b74060 Add "doc/editcap.pod" and "doc/tethereal.pod.template" to the
distribution.

svn path=/trunk/; revision=1469
2000-01-14 07:51:14 +00:00
Guy Harris b799cb10d9 Add "tethereal", a tty-oriented derivative of Ethereal that works like
Sun's snoop or like tcpdump.

svn path=/trunk/; revision=1468
2000-01-14 06:46:00 +00:00
Guy Harris 35a0a0ada4 Export the list of OSI NLPIDs in "nlpid.h", for use by the CDP
dissector.

Add a "value_string" table for NLPIDs to the OSI dissector, and export
it for use by the CDP dissector.

Fix the CDP dissector as per the documentation in

	http://www.cisco.com/univercd/cc/td/doc/product/lan/trsrb/frames.htm

and as per some traces we have with CDP data in them.

svn path=/trunk/; revision=1455
2000-01-13 00:41:11 +00:00
Guy Harris 8fafa9af84 Add a man page for "editcap".
svn path=/trunk/; revision=1446
2000-01-09 20:28:26 +00:00
Guy Harris d061d39bd3 Make "editcap" one of the standard targets, so it's built and installed
by default.

Use the automake mechanisms for it, and, having done so, arrange that it
not be linked with GTK+ (which it doesn't need) - it currently links
with libpcap, but that should be fixed as well.  (It also needs a man
page.)

svn path=/trunk/; revision=1445
2000-01-09 20:05:37 +00:00
Gilbert Ramirez 365721f3ee Fix my typo in a variable name.
svn path=/trunk/; revision=1439
2000-01-08 21:56:29 +00:00
Gilbert Ramirez 69edc78327 I finally got autoconf, automake, and the plugins to behave together.
The distro is buildable finally. I had to change "plugins/gryphon" from
a separately configured (i.e., "./configure") package to a member of
the main ethereal autoconf package so that PLUGIN_DIR could be passed
to plugins/gryphon/Makefile.am. In doing so, I had to get rid of
plugins/gryphon/config.h which had PACKAGE and VERSION #defined, the latter
of which was actually used in packet-gryphon.c. So I moved those two
#defines into a new file, plugins/gryphon/moduleinfo.h.

svn path=/trunk/; revision=1438
2000-01-08 19:37:11 +00:00
Guy Harris 355bd9d8ac Add John Thomas' L2TP dissector.
svn path=/trunk/; revision=1433
2000-01-07 09:10:22 +00:00
Gilbert Ramirez dccccd9c9d Add README.vmware to list of deliverables.
svn path=/trunk/; revision=1429
2000-01-06 19:51:26 +00:00
Guy Harris 4096029a66 Take the "simple_dialog()" stuff out of "ui_util.h" and "gtk/ui_util.c",
and move it to "simple_dialog.h" and "gtk/simple_dialog.c".

svn path=/trunk/; revision=1414
2000-01-03 06:59:25 +00:00
Guy Harris 2ef301bcf6 Have "gtk/menu.c" (and, in the future, code for other UIs) export a set
of routines to enable and disable various sets of menu items; call only
those routines, not routines to enable or disable particular menu items,
from files in the top-level directory, as other UIs may not refer to
menu items with path strings of the sort used in GTK+, and as this
buries knowledge of the menu items available in "gtk/menu.c" rather than
requiring stuff outside of "gtk/menu.c" to know what menu items exist.

svn path=/trunk/; revision=1410
2000-01-03 03:57:04 +00:00
Guy Harris 9b4e0a8dd3 Put a list of known OUIs in "oui.h", along with a declaration of
"value_string" array for OUIs.

Add the OUI for the ATM Forum to that list.

Handle the OUI for the ATM Forum in the layer 3 information for ISO TR
9577 in a Broadband Low Layer Information information element (for ATM
LANE).

Add an initial version of the dissection of TLV values in LANE LE
Control frames (I have no frames with TLV values against which to test
it, alas).

svn path=/trunk/; revision=1385
1999-12-29 05:20:00 +00:00
Gerald Combs 45babe7bb5 Integrate libtool/libltdl with the plugin code. Add libtool and libltdl
to the distribution.

svn path=/trunk/; revision=1379
1999-12-26 22:38:07 +00:00
Guy Harris 20b8279b85 Fix a minor typo in a comment.
svn path=/trunk/; revision=1369
1999-12-22 20:12:38 +00:00
Guy Harris 19c69298a4 Add "editcap.c" to the list of "extra" files in the distribution.
svn path=/trunk/; revision=1368
1999-12-22 20:10:49 +00:00
Gilbert Ramirez 9c4b98bc36 Add two 48x48 PNGs to the distribution.
(I'm using -ko when checking in the PNGs... I hope I'm checking
these binary files into CVS correctly. I'll double check after
the commit).

svn path=/trunk/; revision=1355
1999-12-17 05:42:27 +00:00
Guy Harris 096134536e Stuart Stanley's ISIS dissection support.
svn path=/trunk/; revision=1340
1999-12-15 04:34:44 +00:00
Gilbert Ramirez 4a15f6582a Added Bert Driehuis <driehuis@playbeing.org>'s I4B wiretap module
and V.120 decoder.

svn path=/trunk/; revision=1304
1999-12-12 22:40:10 +00:00
Gilbert Ramirez d85f804b4b Add the who protocol (rwho/rwhod/ruptime)
In packet_hex_print(), compute (bstart + blen) only once.

In time_secs_to_str(), return a meaningful string when time == 0, instead
of returing pointer to char buffer with old, inappropriate data in it.

svn path=/trunk/; revision=1297
1999-12-12 05:11:57 +00:00
Guy Harris 5a4d9d6d68 WCCP 1.0 dissection, from Jerry Talkington.
svn path=/trunk/; revision=1295
1999-12-12 03:05:57 +00:00
Olivier Abad 564a1c1d62 plugins support (i.e. Dynamically loadable dissectors)
depends on dlopen() being available on the target platform

svn path=/trunk/; revision=1263
1999-12-09 20:43:38 +00:00
Guy Harris 80618858d6 Move the GTK+ implementations of various UI utilities out of "util.c"
into "gtk/ui_util.c", and move the declarations of those UI utilities
out of "util.h" into "ui_util.h".  (The header file is in the top-level
directory, rather than the "gtk" directory, because it declares
window-system-independent interfaces to routines with
window-system-dependent implementations.)

Add to "gtk/ui_util.c" a routine to set the window and icon title.

Use that routine to make the title of an Ethereal top-level window be

	{filename} - Ethereal

if there's a capture open, and have "{filename}" be "<capture>" if it's
a temporary capture file.

svn path=/trunk/; revision=1255
1999-12-09 07:19:20 +00:00
Nathan Neulinger 0599f44d09 added ldap dissector placeholder, just does request/response for now, until I have a chance to figure out ASN.1
svn path=/trunk/; revision=1254
1999-12-09 04:06:54 +00:00
Guy Harris e5f812d6ed James Coe's patch to add SRVLOC and NCP-over-IP support.
svn path=/trunk/; revision=1234
1999-12-07 06:13:19 +00:00
Nathan Neulinger 163045012a added simple irc dissector
svn path=/trunk/; revision=1232
1999-12-06 23:57:51 +00:00
Guy Harris af8888e47c Check in the ASN.1 code for reference purposes, although the SNMP
dissector doesn't use it yet - Nathan Neulinger might use it for a
Kerberos 5 dissector, and it might be of use for other dissectors as
well.

svn path=/trunk/; revision=1215
1999-12-05 07:50:01 +00:00
Guy Harris 272505c220 As per Nathan Leulinger's suggestion, have a stub SNMP dissector if
there are no SNMP libraries to use in a real dissector; this means that
other dissectors don't have to care if there are SNMP libraries, they
can just call "dissect_snmp()" - and this also simplifies "Makefile.am"
and "configure.in" a bit, as they just treat "packet-snmp.c" and
"packet-snmp.h" the same way they treat other dissector source files.

svn path=/trunk/; revision=1214
1999-12-05 02:33:52 +00:00
Guy Harris c966023a67 Add rules for making "editcap".
svn path=/trunk/; revision=1209
1999-12-04 21:37:56 +00:00
Nathan Neulinger fb6821f059 added skeletal tacplus/xtacacs dissector
svn path=/trunk/; revision=1191
1999-12-03 21:50:31 +00:00
Gilbert Ramirez 99ae96e58c Add a TODO file.
svn path=/trunk/; revision=1175
1999-12-01 20:58:49 +00:00
Guy Harris ced3198a2b Add a "README.hpux" file, giving notes about the Software Porting And
Archive Centre for HP-UX, who have (perhaps not the latest version of)
Ethereal in their archives, and the HP-UX C compiler options they used
when building their version.

Also note in the "README.hpux" file that there are, in the "INSTALL"
file for "libpcap", several comments about HP-UX that should be read if
you're going to use Ethereal with "libpcap" to capture packets.

svn path=/trunk/; revision=1159
1999-11-29 23:19:09 +00:00
Guy Harris a6d527a70e Add "README.aix", "INSTALL.configure", and "doc/proto_tree" to the
distribution tarballs.

svn path=/trunk/; revision=1156
1999-11-29 20:08:04 +00:00
Nathan Neulinger 117d23c3a1 added start of tns dissector
svn path=/trunk/; revision=1155
1999-11-29 19:43:26 +00:00
Guy Harris 077e70e0b7 Pull the code to dissect an ATM NSAP address out of "packet-q2931.c" and
put it into a subroutine in "packet-arp.c", and call it from
"packet-q2931.c".

Add a "packet-arp.h" header to hold declarations of routines exported by
"packet-atm.c" (other than the ATM dissector itself), moving them out of
"packet.h".

Use the aforementioned NSAP dissector to display ATM addresses in NSAP
format, and display E.164 addresses as ASCII text (under the assumption
that they're presented as a string of IA5, i.e. ASCII, characters, just
as they are in Q.931).

svn path=/trunk/; revision=1124
1999-11-27 04:48:14 +00:00
Guy Harris d1c36982c6 Fixes to Q.931 dissector, and additions from a recent copy of Q.931.
Export some functions from the Q.931 dissector, so the Q.2931 dissector
can use them.

Add a pile of information element dissection to the Q.2931 dissector.

svn path=/trunk/; revision=1104
1999-11-25 10:01:18 +00:00
Gilbert Ramirez de2370185d Added Cisco Auto-RP dissector from Heikki Vatiainen <hessu@cs.tut.fi>
svn path=/trunk/; revision=1099
1999-11-23 17:09:58 +00:00
Gilbert Ramirez 1cbedad8d6 Added Heikki Vatiainen's <hessu@cs.tut.fi> HSRP dissector.
svn path=/trunk/; revision=1086
1999-11-21 20:02:32 +00:00
Gilbert Ramirez 34c9f8241c Added Heikki Vatiainen's <hessu@cs.tut.fi> VRRP dissector.
svn path=/trunk/; revision=1083
1999-11-21 14:43:53 +00:00
Guy Harris 8963fabad6 Beginnings of Q.2931 support.
svn path=/trunk/; revision=1068
1999-11-19 09:55:38 +00:00
Guy Harris 70641c27dd Add support for SSCOP protocol; dissect signalling AAL packets using it.
It's in a file of its own, as I think there may be, or may have been
proposed, non-ATM uses of it as well.

svn path=/trunk/; revision=1064
1999-11-19 07:28:16 +00:00
Guy Harris f5831f290a ILMI is just SNMP-over-ATM AAL5; if the SNMP dissector is available,
dissect ILMI packets with the SNMP dissector.

svn path=/trunk/; revision=1054
1999-11-18 07:29:55 +00:00
Gilbert Ramirez e53420230c Add packet-bgp.h to the list of deliverables.
svn path=/trunk/; revision=1051
1999-11-17 23:31:22 +00:00
Guy Harris b68f2dde89 Heikki Vatiainen's SAP (Session Announcement Protocol) dissector.
Rename the dissector for the Netware SAP protocol to "dissect_ipxsap()",
so as to keep its name from colliding with that of the dissector for the
Session Announcement Protocol.

svn path=/trunk/; revision=1046
1999-11-17 02:17:29 +00:00
Nathan Neulinger b72c0d1f60 Uwe Girlich's patches for nfs,mount,portmap and addition of nlm.
svn path=/trunk/; revision=1034
1999-11-15 14:17:20 +00:00
Gilbert Ramirez 6a20c7bbc5 Add "class" that understands IPv4 addresses and subnet masks.
We now store IPv4 addresses in host order, allowing non-equivalence
comparisons. That is, display filters with lt, le, gt, and ge will work
on big-endian and little-endian machines.

CIDR notation is now supported for IPv4 addresses in display filters.
You can test to see if an IPv4 address is on a certain subnet by using
this notation. For example, to test for IPv4 packets on a Class-C network:

	ip.addr == 192.168.1.0/24

svn path=/trunk/; revision=1032
1999-11-15 06:32:38 +00:00
Nathan Neulinger 08c2eb6642 added minimalist MAPI dissector - only determines request/reply
svn path=/trunk/; revision=1017
1999-11-11 23:13:43 +00:00
Nathan Neulinger 59bffe6e97 Added mount dissector.
Added stat dissector.
Enhancements to portmap dissector.
Added rpc_prog_name function to packet-rpc to retrieve the name of an
        rpc program. This should likely eventually be modified to use the
        /etc/rpc or rpc.bynumber NIS maps in addition to the programs that
        are registered within ethereal.

svn path=/trunk/; revision=1016
1999-11-11 21:22:00 +00:00
Guy Harris 6c10717158 Add #defines for bits in the LAPD address field and for the LAPD SAPI
values.

Dissect the LAPD payload, if present.

Add the beginnings of a Q.931 dissector.

svn path=/trunk/; revision=1007
1999-11-11 08:35:11 +00:00
Gilbert Ramirez 4ec9c54b4b Add LAPD support.
svn path=/trunk/; revision=1004
1999-11-11 05:36:16 +00:00
Nathan Neulinger a7fc895437 Added stubs for various RPC routines:
portmap
	ypserv
	ypxfr
	ypserv
	bootparams

Stubs currently just map procedure numbers to names. I'll add some more
decoding of the actual procedure call/reply contents eventually.

svn path=/trunk/; revision=998
1999-11-10 17:23:55 +00:00
Nathan Neulinger 2d81454829 Added imap dissector, pretty much a simple translation of the pop
dissector.

svn path=/trunk/; revision=995
1999-11-10 14:44:58 +00:00
Guy Harris 21c466ed25 Uwe Girlich's ONC RPC and NFS dissectors.
svn path=/trunk/; revision=945
1999-10-29 01:04:44 +00:00
Gilbert Ramirez 3c4a52e342 Add make-reg-dotc to list of deliverables (EXTRA_DIST).
Invoke make-reg-dotc as $(srcdir)/make-reg-dotc for builds outside
of source-tree.

svn path=/trunk/; revision=932
1999-10-27 02:41:11 +00:00
Guy Harris 7568df46e6 For some unknown reason, having a big "for" loop in the Makefile to scan
all the "packet-XXX.c" files doesn't work with some "make"s; they seem
to pass only the first few names in the list to the shell, for some
reason.

Therefore, we use a script to generate the "register.c" file, and run
that script from the Makefile.

svn path=/trunk/; revision=930
1999-10-27 01:46:14 +00:00
Guy Harris da1fdf005f Kojak's ICQ dissector.
svn path=/trunk/; revision=919
1999-10-24 00:56:11 +00:00
Guy Harris 09b332787a Add new "packet-atalk.h" and "packet-sna.h" files to list of source
files.

svn path=/trunk/; revision=917
1999-10-22 08:57:24 +00:00
Guy Harris 047b8751f3 Generalize the "ip_src" and "ip_dst" members of the "packet_info"
structure to "dl_src"/"dl_dst", "net_src"/"net_dst", and "src"/"dst"
addresses, where an address is an address type, an address length in
bytes, and a pointer to that many bytes.

"dl_{src,dst}" are the link-layer source/destination; "net_{src,dst}"
are the network-layer source/destination; "{src,dst}" are the
source/destination from the highest of those two layers that we have in
the packet.

Add a port type to "packet_info" as well, specifying whether it's a TCP
or UDP port.

Don't set the address and port columns in the dissector functions; just
set the address and port members of the "packet_info" structure.  Set
the columns in "fill_in_columns()"; this means that if we're showing
COL_{DEF,RES,UNRES}_SRC" or "COL_{DEF,RES,UNRES}_DST", we only generate
the string from "src" or "dst", we don't generate a string for the
link-layer address and then overwrite it with a string for the
network-layer address (generating those strings costs CPU).

Add support for "conversations", where a "conversation" is (at present)
a source and destination address and a source and destination port.  (In
the future, we may support "conversations" above the transport layer,
e.g. a TFTP conversation, where the first packet goes from the client to
the TFTP server port, but the reply comes back from a different port,
and all subsequent packets go between the client address/port and the
server address/new port, or an NFS conversation, which might include
lock manager, status monitor, and mount packets, as well as NFS
packets.)

Currently, all we support is a call that takes the source and
destination address/port pairs, looks them up in a hash table, and:

	if nothing is found, creates a new entry in the hash table, and
	assigns it a unique 32-bit conversation ID, and returns that
	conversation ID;

	if an entry is found, returns its conversation ID.

Use that in the SMB and AFS code to keep track of individual SMB or AFS
conversations.  We need to match up requests and replies, as, for
certain replies, the operation code for the request to which it's a
reply doesn't show up in the reply - you have to find the request with a
matching transaction ID.  Transaction IDs are per-conversation, so the
hash table for requests should include a conversation ID and transaction
ID as the key.

This allows SMB and AFS decoders to handle IPv4 or IPv6 addresses
transparently (and should allow the SMB decoder to handle NetBIOS atop
other protocols as well, if the source and destination address and port
values in the "packet_info" structure are set appropriately).

In the "Follow TCP Connection" code, check to make sure that the
addresses are IPv4 addressses; ultimately, that code should be changed
to use the conversation code instead, which will let it handle IPv6
transparently.

svn path=/trunk/; revision=909
1999-10-22 07:18:23 +00:00
Guy Harris 30f0f3976e When scanning source files to generate "register.c", they are in
"$(srcdir)", which isn't necessarily the current directory.

svn path=/trunk/; revision=903
1999-10-21 22:18:33 +00:00
Guy Harris e5c126441b Nathan Neulinger's 802.1q VLAN patch.
svn path=/trunk/; revision=897
1999-10-20 22:41:12 +00:00
Gilbert Ramirez 08292071f4 Added Nathan's patch for AFS and RX dissection.
svn path=/trunk/; revision=894
1999-10-20 16:41:20 +00:00
Guy Harris 3164c1e363 Automatically generate a function to call the register routines for all
protocols (idea shamelessly stolen from GDB).  We require that the
register routines

	1) be located in "packet.c" or in one of the "packet-XXX.c"
	   files;

	2) have a name of the form "proto_register_XXX";

	3) take no argument, and return no value;

	4) have their names appear in the source file either at the
	   beginning of the line, or preceded only by "void " at the
	   beginning of the line;

and we require that "packet-XXX.c" files be added to "DISSECTOR_SOURCES"
in "Makefile.am".

svn path=/trunk/; revision=891
1999-10-20 06:28:29 +00:00
Guy Harris 0d1465731b Add "inet_v6defs.h" to the list of Ethereal source files, so it gets
included in a distribution.

svn path=/trunk/; revision=888
1999-10-19 06:59:23 +00:00
Gilbert Ramirez 10fcfef266 Move display.[ch] --> gtk/display_opts.[ch]
svn path=/trunk/; revision=883
1999-10-18 12:48:14 +00:00
Jun-ichiro itojun Hagino 3a27312b54 BGP decoding. more attributes and NLRIs needs to be added.
as BGP is a protocol on top of TCP, it may have trouble parsing
out-of-sync data (in most cases data is aligned on packet, it seems).

svn path=/trunk/; revision=843
1999-10-15 17:00:47 +00:00
Guy Harris ae276ffe20 Make it build on systems lacking "inet_pton()", "inet_ntop()", and a
definition of "AF_INET6".  Declare those functions and, if it's not
defined, define "AF_INET6" in "inet_v6defs.h", and arrange to include
it if "inet_ntop()" is missing.  (Systems will probably have both of
them or lack both of them, and we may choose not to use the system's
"inet_pton()" because it's buggy, so base the decision on whether to
include "inet_v6defs.h" on whether we're using the system's
"inet_ntop()" or not.)  Fix some macro references in "Makefile.am" and
"configure.in".

svn path=/trunk/; revision=830
1999-10-14 06:55:11 +00:00
Jun-ichiro itojun Hagino 831497b33e use inet_pton() and inet_ntop(), which are RFC2553 standard function
for converting IPv[46] numeric notation to/from binary form.
recent BIND includes those functions so fallback is not necessary on
most of the platforms.
sorry if it raises any portability problem on other platforms.

remove partial inclusion of inet_ntop() in packet-ipv6.c.

move ip6_to_str() to packet.c, it fits better there than packet-ipv6.c.

svn path=/trunk/; revision=829
1999-10-14 05:41:33 +00:00
Guy Harris 5ed4011c30 Nathan Neulinger's NTP dissector.
svn path=/trunk/; revision=828
1999-10-14 05:10:33 +00:00
Jun-ichiro itojun Hagino 810a67a6d0 implement ipprotostr() in ipproto.c, which basically does ipprotobynumber()
for ip.ip_p and ip6.ip6_nxt (and other IPv6 header chain).

use val_to_str() as much as possible in dissect_{ipv6,pim,ripng}().

make --disable-zlib a default for netbsd (temporary workaround).

svn path=/trunk/; revision=827
1999-10-14 03:50:51 +00:00
Guy Harris 364274edf3 Nathan Neulinger's dissector for the Yahoo messenger and pager
protocols.

svn path=/trunk/; revision=824
1999-10-14 01:29:07 +00:00
Guy Harris 93d58bf824 Jun-ichiro itojun Hagino's code for PIM, and some fixes from him as
well.

Add some more protocols to the list of value/string pairs for IP
protocol types.

svn path=/trunk/; revision=822
1999-10-13 06:47:49 +00:00
Guy Harris 66d84f1093 Jun-ichiro itojun Hagino's changes for IPv6 extension header decoding
and RIPng decoding.

svn path=/trunk/; revision=818
1999-10-12 23:12:06 +00:00
Gilbert Ramirez bacb9d5bae New proto_tree header_field_info stuff. Header_field_infos now contain
the base for numbers to be displayed in, bitmasks for bitfields, and blurbs
(which are one or two sentences describing the field).

proto_tree_add*() routines now automatically handle bitfields. You tell
it which header field you are adding, and just pass it the value of the
entire field, and the proto_tree routines will do the masking and shifting
for you.

This means that bitfields are more naturally filtered via dfilter now.

Added Phil Techau's support for signed integers in dfilters/proto_tree.

Added the beginning of the SNA dissector. It's not complete, but I'm
committing it now because it has example after example of how to use
bitfields with the new header_field_info struct and proto_tree routines.
It was the impetus to change how header_field_info works.

svn path=/trunk/; revision=815
1999-10-12 06:21:15 +00:00
Guy Harris fa489de71b Solaris 7 doesn't have "inet_aton()", either; supply our own version on
OSes that don't have it.

(Yes, this is BSD code, not GPLed code.  I tried getting it from Glibc,
but the glibc version is just the BSD version, so I guess it's OK to mix
BSD code in with GPLed code, or, at least, with LGPLed code....)

svn path=/trunk/; revision=805
1999-10-11 07:38:21 +00:00
Guy Harris 93b7dfe367 Christophe Tronche's BPDU dissector.
svn path=/trunk/; revision=790
1999-10-08 20:50:39 +00:00
Guy Harris 056ae6eb5e Uwe Girlich's patch to handle OSes (e.g., SINIX) that lack
"strncasecmp()" or "mkstemp()"; add in source to the GNU "libc"
versions, and have the "configure" script check for the routines in
question and set up the Makefile to build from our versions if they're
missing.

svn path=/trunk/; revision=745
1999-10-01 21:41:38 +00:00
Gilbert Ramirez c2e3c9efb4 Many more packaging changes. Lets compilation with new gtk subdirectory
work if build tree is different than source tree. Some wiretap files
had to be added to the list of deliverables.

svn path=/trunk/; revision=717
1999-09-24 04:59:52 +00:00
Gilbert Ramirez 4740872e1f Packaging changes
svn path=/trunk/; revision=715
1999-09-24 03:43:09 +00:00
Guy Harris 96e79ab6f8 Add a "BYTES_ARE_IN_FRAME()" macro, to test whether there are a
specified number of bytes of captured data in the frame at the specified
offset, and a "IS_DATA_IN_FRAME()" macro, to test whether there are any
bytes of captured data in the frame at the specified offset, and convert
some bounds checks to use them.

Add a dissector for the Internet Printing Protocol.

svn path=/trunk/; revision=685
1999-09-17 05:56:58 +00:00
Gilbert Ramirez ff20b92b67 Fixed randpkt so it isn't linked to X11 libs. Removed randpkt from default
target list, so a 'make randpkt' is required if you want to build it.

svn path=/trunk/; revision=684
1999-09-17 04:38:23 +00:00
Guy Harris f4ac555e90 Peter Torvals' Internet Cache Protocol dissector.
svn path=/trunk/; revision=677
1999-09-14 08:06:47 +00:00