Commit graph

321 commits

Author SHA1 Message Date
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
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
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
60b1bed605 GVRP dissector, from Kevin Shi.
svn path=/trunk/; revision=2721
2000-11-30 09:31:52 +00:00
Gilbert Ramirez
a6ff1e144f Add LDP dissector to NMake makefile.
svn path=/trunk/; revision=2715
2000-11-29 13:20:06 +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
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
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
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
96f2111b11 Look for gmodule*.lib in a directory "gmodule" in the glib distribution.
svn path=/trunk/; revision=2491
2000-10-14 03:20:55 +00:00
Guy Harris
faf70584f2 Fix it to build on Windows.
svn path=/trunk/; revision=2488
2000-10-11 07:35:02 +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
Gilbert Ramirez
729f85b1ad Add Zebra dissector from Jochen.
svn path=/trunk/; revision=2292
2000-08-18 15:26:52 +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
88bc1fbf6e Include "ptvcursor.obj" in the list of object that have to be linked in.
svn path=/trunk/; revision=2183
2000-07-31 03:45: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
Uwe Girlich
672efa58e2 Quake dissector packet-quake.c added.
svn path=/trunk/; revision=2169
2000-07-27 11:00:48 +00:00
Gilbert Ramirez
0bf9059c61 Add packet-sctp.c
svn path=/trunk/; revision=2149
2000-07-21 13:18:22 +00:00
Gilbert Ramirez
5afb4f7225 Small patch for the win32 makefile that improves the dependencies and
prints out exactly which executable is being linked.
From Graham Bloice <graham.bloice@trihedral.com>

svn path=/trunk/; revision=2075
2000-06-16 15:05:26 +00:00
Guy Harris
c5fe191b66 Add "packet-syslog.c".
svn path=/trunk/; revision=2058
2000-06-12 02:38:13 +00:00
Guy Harris
515f6811c0 Christophe Tronche's X11 dissector.
svn path=/trunk/; revision=2057
2000-06-12 02:30:35 +00:00
Guy Harris
069f5695ed Search for the GDK library in $(GTK_DIR)\gdk rather than in
$(GTK_DIR)\gdk\win32 - the latest GTK+ packages for Win32 don't put it
in a "win32" subdirectory.

svn path=/trunk/; revision=2055
2000-06-11 07:49:36 +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
baaad29bf8 Graham Bloice's Win32 Makefile changes to build in batch mode (gets rid
of multiple compile lines in the output of the build, speeds the build
up).

svn path=/trunk/; revision=2024
2000-05-29 20:11:41 +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
4c658cda1f Add Mobile IP.
svn path=/trunk/; revision=2014
2000-05-27 13:54:17 +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
fab3967f99 "packet-giop.h" and "packet-h1.h" have joined the Choir Invisibule, so
they can just be deleted, not just commented out.

svn path=/trunk/; revision=1935
2000-05-10 21:57:47 +00:00
Gilbert Ramirez
c71e3de675 Fixes for building 0.8.8.
svn path=/trunk/; revision=1933
2000-05-10 15:32:09 +00:00
Guy Harris
3c9a310b6d Graham Bloice's changes to, on Win32 using Microsoft's "nmake":
build "register.c" in the top-level Makefile;

	set path in "config.nmake" to include the Cygwin directory for
	tools - those tools are needed to build "register.c";

	remove constructed source files, and some additional object
	files, when doing "nmake clean".

svn path=/trunk/; revision=1896
2000-04-29 07:35:07 +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
c2a68f6b86 Microsoft Proxy protocol dissector from Jeff Foster.
svn path=/trunk/; revision=1881
2000-04-20 02:18:53 +00:00
Guy Harris
3417990d59 Ralf Schneider's changes to enhance to OSI CLNP, CLTP, and ISIS support
and to add OSI ESIS support.

svn path=/trunk/; revision=1867
2000-04-16 08:58:55 +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
Guy Harris
eef42ea392 On Win32, build Ethereal as a Windows-subsystem program rather than a
console-subsystem program, so that when not run from a shell window it
doesn't cause a shell window to be popped up.  (Yes, this means that any
messages it prints, when not popped up from a shell window, get lost,
but the same is true of Ethereal on UNIX/X.)  Trick for doing this
shamelessly stolen from the Win32 port of the GIMP.

We do not want to build Tethereal or editcap as Windows-subsystem
programs, however, so we take the "/SUBSYSTEM" flag out of LDFLAGS and
put it into the link commands for Ethereal, Tethereal, and editcap.

svn path=/trunk/; revision=1857
2000-04-14 09:00:25 +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
Gilbert Ramirez
ac6b7da8b0 Remove extra space before "Port" in proto_tree label.
Add packet-socks.obj to Makefile.nmake.

svn path=/trunk/; revision=1845
2000-04-13 11:11:38 +00:00
Gilbert Ramirez
ed237c129d Build tethereal and editcap on Win32.
Add RCS ID tags to Makefile.nmake's.

svn path=/trunk/; revision=1836
2000-04-12 21:52:11 +00:00
Guy Harris
88a4741106 Fix a typo in the rules to make "dfilter-grammar.c" and
"dfilter-grammar.h".

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=1807
2000-04-06 06:18:50 +00:00
Guy Harris
e59a0d5260 The Win32 port of libpcap requires that programs with which it's built
be built as multi-threaded programs; add "/MT" to the list of compiler
flags.

Add "clean" rules in subdirectories, and run subdirectory "nmake -f
Makefile.nmake clean" when "nmake -f Makefile.nmake clean" is done in
the top-level directory, so that "nmake -f Makefile.nmake clean" cleans
everything up.

svn path=/trunk/; revision=1791
2000-04-04 08:22:13 +00:00
Gilbert Ramirez
c317b042a8 Add getopt.c (from GNU libc) for use on Win32.
Ethereal/win32 now supports command-line options.
Tethereal now compiles on win32, except for the fact that I haven't
put the Makefile.nmake changes in for that yet.

svn path=/trunk/; revision=1758
2000-03-28 20:20:11 +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
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
4ae23cdc3a Add "packet-dhis.obj" to the list of things to compile.
svn path=/trunk/; revision=1671
2000-02-29 09:00:36 +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
dd3c88c1ff Update the Win32 Nmakefiles to reflect the move of the color code into
the "gtk" directory and the split of that code into "colors.c" and
"color_dlg.c".

svn path=/trunk/; revision=1624
2000-02-12 08:44:43 +00:00
Gilbert Ramirez
f9a8a11ef5 Integrate Ed Meaney's <emeaney@altiga.com> changes for using libpcap
from WinDump with Ethereal. We now have packet capturing on Win32. :)

svn path=/trunk/; revision=1612
2000-02-09 19:18:42 +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
Gilbert Ramirez
41f0a2c5e6 Update Makefiles for win32. Move local configuration to config.nmake,
have top-level Makefile.nmake call Makefile.nmake's in subdirectories.
Build plugins, and build generated source (lex, yacc). The only thing we
can't build is register.c; I need to re-work the top-level Makefile.nmake
because it lists object files, not C files, which make-reg-dotc needs.

svn path=/trunk/; revision=1608
2000-02-09 00:41:57 +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
Guy Harris
184bc12e7e Add support for Cisco ISL.
svn path=/trunk/; revision=1546
2000-01-25 00:18:26 +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
9e84a68575 Bring it somewhat up to date; "register.c" could be a pain, as you'd
either need to use tools native to Windows, supply a canned version with
a distribution (and require people to update it by hand), require
people to have "grep" and "sed" handy and whip up a ".bat" file to run
them, or require them to have "grep" and "sed" *and* a Bourne-compatible
shell.

svn path=/trunk/; revision=1343
1999-12-15 07:58:23 +00:00
Guy Harris
1a7eb86f1f Put "packet-atm.c" in.
svn path=/trunk/; revision=547
1999-08-22 07:10:08 +00:00
Gilbert Ramirez
7843c01d38 Changes to compile in win32.
svn path=/trunk/; revision=515
1999-08-18 22:49:48 +00:00
Guy Harris
d24fa06d74 Add a "dissect_xdlc_control()" routine, to dissect the control field of
SDLC-derived protocols such as HDLC and derivatives of it such as LAPB,
IEEE 802.2 LLC, and so on.  Have the LLC and LAPB dissectors use it.

Make "dissect_numeric_bitfield()" put the low-order bit of the bitfield
in the low-order bit of an integer when printing it, so that the right
value is printed.

svn path=/trunk/; revision=436
1999-08-04 06:15:07 +00:00
Gilbert Ramirez
d45629555b Update version numbers to 0.7.0, and update win32 Makefiles. I made some
initial #ifdef changes to capture.c to support the win32 version of libpcap.

svn path=/trunk/; revision=428
1999-08-03 20:51:41 +00:00
Gilbert Ramirez
7bd6c15378 Made the protocol (but not the fields) use the new proto_tree routine,
allowing users to filter on the existence of these protocols. I also
added packet-clip.c to the Nmake makefile.

svn path=/trunk/; revision=402
1999-07-29 05:47:07 +00:00
Gilbert Ramirez
7e9230a0bd Finally got the win32 ethereal to link properly with MSVC.
svn path=/trunk/; revision=374
1999-07-21 17:40:42 +00:00
Gilbert Ramirez
601c52f0fb Added support for compiling on win32 with Visual C and 'nmake'. It compiles,
but does not link. Perhaps someone who understands the MS tools can help
out. I made it link a few months ago, but with different version of glib/gtk+.
I can't remember how I made it link.

Most of the compatibility issues were resolved with adding
#ifdef HAVE_UNISTD_H the the source code. Please be sure to add this to all
future code.

svn path=/trunk/; revision=359
1999-07-13 02:53:26 +00:00