Commit Graph

357 Commits

Author SHA1 Message Date
Gilbert Ramirez 3277a5255a Distribute wtap.def
svn path=/trunk/; revision=3330
2001-04-18 21:34:22 +00:00
Gilbert Ramirez 6c89e58e7f #define YY_NEVER_INTERACTIVE to avoid reference to isatty() on Win32,
and thus avoid a compiler warning when compiling ascend-scanner.c.

svn path=/trunk/; revision=3322
2001-04-18 03:03:42 +00:00
Guy Harris 3782799323 As of GLib 1.2.9, you won't automatically get "-I/usr/local/include" and
"-L/usr/local/lib" added to CFLAGS and LDFLAGS merely as a result of
running AM_PATH_GLIB, as 1.2.9 and later don't install headers directly
under "/usr/local/include".  Therefore, we have to put
"-I/usr/local/include" into CFLAGS ourselves, just as we do in the
top-level configure script, or we run the risk of not being able to find
other packages (libpcap, zlib, etc.) if it's installed under
"/usr/local".

svn path=/trunk/; revision=3318
2001-04-17 22:47:37 +00:00
Guy Harris d73302ad9b Fix the e-mail address for Joerg Mayer (and remove it from files he
wasn't involved with).

svn path=/trunk/; revision=3311
2001-04-17 00:46:06 +00:00
Guy Harris aedaabc8c8 GCC 2.95.1 on SPARC/Solaris, at least, is clever enough to figure out
that the loop in "lanalyzer_open()" is an infinite loop, so the "return
0;" at the end isn't necessary to suppress a compiler warning with that
compiler - and Sun C not only figures it out, it warns that the
"g_assert_not_reached()" and the "return 0;" are unreachable, so I'll
take them out for now (and put them back if my older GCC at home still
requires it to suppress warnings).

svn path=/trunk/; revision=3310
2001-04-16 22:06:34 +00:00
Guy Harris 122ed97b4a The "data" member of a Buffer structure is a "u_char *"; when assigning
the result of a "g_malloc()" to it, cast it to "u_char *", not "char *".

svn path=/trunk/; revision=3309
2001-04-16 21:59:38 +00:00
Gilbert Ramirez b6bd7af57a Improvement of 'make clean' targets.
svn path=/trunk/; revision=3297
2001-04-12 18:07:22 +00:00
Gerald Combs 5b9ad66cb8 Add support for "version 7" wandess output. Actually, I think it's
simply PPP data that doesn't have a username associated with it, e.g. for
a dedicated WAN link as opposed to a dialup link.

svn path=/trunk/; revision=3274
2001-04-09 03:32:34 +00:00
Gilbert Ramirez b71792efa4 Build with zlib.
Pre-compiled zlib provided at
	http://www.ethereal.com/distribution/win32/zlib-1.1.3-fixed.zip
"fixed" because the pre-compiled version in the "extralibs" package
from the Gimp/Win32 page has a fault zlib.lib in it.

Add note about zlib in README.win32; more work needs to be done to
this file to mention new packaging method.

svn path=/trunk/; revision=3263
2001-04-06 03:52:45 +00:00
Gilbert Ramirez a8d864bca7 Use sed in the Win32 build to place the version in various files.
We us $(VERSION), defined in the top-level config.nmake, to replace
@VERSION@ in various files. $(RC_VERSION) and $(WTAP_VERSION) are
similarly used.

svn path=/trunk/; revision=3258
2001-04-05 04:39:29 +00:00
Guy Harris 289f57e570 Back out the guint64 stuff - it's not clear it's the right way to handle
this, as

	1) we still need to handle platforms that don't support 64-bit
	   integral data types, so we still needed the old stuff in some
	   fashion anyway

and

	2) MSVC appears to treat structures as requiring 8-byte
	   alignment in some cases, and "guint64"s require 8-byte
	   alignment on at least some platforms, forcing structures
	   containing those 64-bit time stamps to have a size that's a
	   multiple of 8 bytes, which *isn't* the correct size for the
	   data record header.

svn path=/trunk/; revision=3177
2001-03-23 23:16:29 +00:00
Gilbert Ramirez e108afe2bb The Win32 build builds wiretap as a DLL and requires WinPcap 2.1.
svn path=/trunk/; revision=3163
2001-03-23 02:05:29 +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 ed3b9031f6 Handle NetBSD Cisco HDLC as PPP, for now.
svn path=/trunk/; revision=3125
2001-03-11 02:51:05 +00:00
Guy Harris a251addb63 Obliging every capture file reader's "open()" routine to seek to the
beginning of the file before reading anything from the file is bogus -
do that in the loop that tries each of the open routines, instead.
(They may have to reset the seek pointer later if, for example, the
capture file begins with the first packet, and the "open()" routine
looks at that packet to try to guess whether the packet is in the file
format in question.)

Set "wth->data_offset" to 0 while you're at it, so capture file readers
don't have to do that, either.

svn path=/trunk/; revision=3123
2001-03-10 06:33:58 +00:00
Guy Harris 9b1133892b Close the random stream, not just the sequential stream, if we got an
error trying to open a file.

svn path=/trunk/; revision=3122
2001-03-09 07:11:38 +00:00
Guy Harris 561f935663 Include "etherpeek.h", which declares routines we define, not "snoop.h",
which declares routines we neither define nor use.

svn path=/trunk/; revision=3121
2001-03-09 06:34:59 +00:00
Guy Harris 99ec31082e Etherpeek version 5, 6, and 7 support, from Daniel Thompson.
svn path=/trunk/; revision=3066
2001-02-22 22:03:31 +00:00
Guy Harris 33ca70bed1 Sigh. Microsoft Visual C++ 6.0 won't convert a "guint64" to a "double"
- it only allows you to convert a *signed* 64-bit integer to a "double".
Cast the result of "pletohll()" to "gint64" before returning it from a
function that returns a "double".

svn path=/trunk/; revision=3033
2001-02-14 09:38:10 +00:00
Guy Harris 2833a57f09 You have to define "htolell()" on little-endian platforms, too....
svn path=/trunk/; revision=3028
2001-02-13 07:07:17 +00:00
Guy Harris b3f35be74a Changes from Chris Jepeway to
in some places use "guint64", on plaforms where it's available,
	rather than floating point (we don't yet use it universally, as
	we'd have to provide code to do 64-bit arithmetic on
	platforms/compilers where 64-bit integral types aren't
	supported);

	use .838096 microseconds rather than 1 microseconds as the time
	stamp units for NetXRay 2.x format, as those capture files seem
	to use that time stamp (that's the Sniffer "PC" time stamp;
	perhaps when Network Associates assimilated Cinco, they changed
	the time stamp units).

svn path=/trunk/; revision=3027
2001-02-13 00:50:05 +00:00
Guy Harris 67fb533233 "autoheader" recognizes AC_CHECK_HEADERS as a macro that defines
HAVE_XXX_H if xxx.h is present, but doesn't recognize AC_CHECK_HEADER as
such, and thus doesn't put anything about HAVE_XXX_H into "config.h.in",
and thus HAVE_XXX_H doesn't get defined even if xxx.h is present.

svn path=/trunk/; revision=2942
2001-01-27 23:47:16 +00:00
Guy Harris f72f3b7861 Finish up support for writing NetMon 2.x capture files.
(We really need to put in some rudimentary 64-bit integer support, for
the benefit of platforms+compilers that don't support it; the
floating-point calculations we're doing now appear not to get exactly
the right answer, from an experiment at reading a NetMon 2.x file and
writing it back out as NetMon 2.x with editcap.)

svn path=/trunk/; revision=2939
2001-01-25 21:47:23 +00:00
Guy Harris bb2b650c9b Update a comment to reflect reality (we no longer skip all the extra
headers, we look at REC_HEADER2 records).

svn path=/trunk/; revision=2911
2001-01-17 21:29:53 +00:00
Jeff Foster 27bc256702 Fixed potential buffer overflow in skip_header_records when processing
REC_HEADER2 encapsulation type.

Modified skip_header_records to accept REC_HEADER3-REC_HEADER7.
These header records would cause file read error if the capture file was
compressed.

svn path=/trunk/; revision=2910
2001-01-17 18:58:42 +00:00
Guy Harris 2fba1a4a8c Update a comment to reflect reality (we no longer skip all the extra
headers, we look at REC_HEADER2 records).

svn path=/trunk/; revision=2904
2001-01-16 20:26:26 +00:00
Jeff Foster 5ff4d8a721 Moved settingg wth->file_encap from sniffer_encap to precede the
skip_header_records call because skip_header_records function
may set the field based upon the header records

svn path=/trunk/; revision=2903
2001-01-16 20:12:30 +00:00
Guy Harris 5da16b932a Code to get a putative network subtype from a type 7 record in an
"Internetwork analyzer" capture, from Jeff Foster.  (It's not a
replacement for the heuristics, as

	1) at least one PPP capture doesn't have a type 7 record

and

	2) LAPB/X.25 and LAPD/ISDN might both be "HDLC" captures and
	   we'd need to figure out how to tell them apart.)

svn path=/trunk/; revision=2902
2001-01-16 09:17:34 +00:00
Guy Harris b5477dc71c Fix up Gerald's e-mail address to be his "ethereal.com" address.
svn path=/trunk/; revision=2859
2001-01-10 10:11:27 +00:00
Guy Harris 3f75680191 Code to handle Frame Relay Sniffer captures, from Jeff Foster.
Code to register the Frame Relay dissector to handle Frame Relay
captures, from Paul Ionescu.

svn path=/trunk/; revision=2845
2001-01-08 22:18:22 +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
Gilbert Ramirez a36915da20 Fix for pppdump buffer-overflow check.
From Daniel Thompson <daniel.thompson@st.com>

svn path=/trunk/; revision=2748
2000-12-09 03:02:43 +00:00
Guy Harris 5a8c21a217 Catch Sniffer packets where the record length for a record containing a
packet is too small to contain all the data that the frame header claims
was captured for the packet; treat that as a bad record, and return an
error.

svn path=/trunk/; revision=2711
2000-11-29 08:24:14 +00:00
Guy Harris b4219afa51 Generated Bison and Flex files test whether __STDC__ is defined
in order to check whether to use ANSI C features such as "const".

GCC defines it as 1 even if extensions that render the implementation
non-conformant are enabled; Sun's C compiler (and, I think, other
AT&T-derived C compilers) define it as 0 if extensions that render
the implementation non-conformant are enabled; Microsoft Visual C++
6.0 doesn't define it at all if extensions that render the implementation
non-conformant are enabled.

We define it as 0 in "config.h.win32", so that those generated files will use
those features (and thus not get type warnings when compiled with
MSVC++).

svn path=/trunk/; revision=2698
2000-11-22 07:20:27 +00:00
Gilbert Ramirez 90e0fb129d Change Ethereal homepage URL from etheral.zing.org to www.ethereal.com.
svn path=/trunk/; revision=2696
2000-11-22 04:07:04 +00:00
Gerald Combs 6cbf7512cb Add an overflow check to process_data().
svn path=/trunk/; revision=2675
2000-11-19 20:56:17 +00:00
Guy Harris 4933cc340f "wtap_read()" must *always* set "*err" when it returns FALSE - if it's
just an EOF, it should set "*err" to 0.  Fix up a bunch of read routines
for various capture file types to set "*err" appropriately.

svn path=/trunk/; revision=2667
2000-11-19 03:47:36 +00:00
Gilbert Ramirez abb6702fc2 Add #include <string.h>, to get prototypes for mem* and str* functions.
svn path=/trunk/; revision=2654
2000-11-17 21:00:40 +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
Olivier Abad 245f7d30ab Support for the BASE100 and GSC100BT subsystems by Jeff Foster.
svn path=/trunk/; revision=2640
2000-11-13 23:02:24 +00:00
Olivier Abad 87205b018f Improve the detection of the encapsulation used in a radcom file.
svn path=/trunk/; revision=2639
2000-11-13 23:00:55 +00:00
Guy Harris 00beb21eca "wtap_loop()" no longer has problems with packet offsets of 0, so we
don't need to work around that.

The offset, for a given packet, at which "ascend_seek()" should start
searching for that packet's header must be computed separately from the
offset, for that packet, at which "ascend_seek()" should start searching
for the *next* packet - if the file is a "wdd" capture, and the packet
has a "Date:" header and a WD_DIALOUT_DISP header, the search for that
packet should start at the beginning of the "Date:" header, but the
search for the next packet should start after the WD_DIALOUT_DISP
header, as if we start it after the "Date:" header, the search will stop
at the packet's own WD_DIALOUT_DISP header, as a packet could have a
WD_DIALOUT_DISP header but no "Date:" header.

svn path=/trunk/; revision=2620
2000-11-12 08:45:28 +00:00
Guy Harris 3d7d4a297d Not all packets in a "wdd" dump necessarily have a "Cause an attempt to
place call to" header (I presume this can happen if there was a call in
progress when the packet was sent or received); don't require the

	Date: 01/12/1990.  Time: 12:22:33
	Cause an attempt to place call to 14082750382

to be present in every packet.

(Only the date on the first packet is used, and only if it's present in
the first packet; if the first packet doesn't have a date, we can't
easily go back and fix up the previous packets, *especially* in programs
such as Tethereal and editcap which make only one pass through the
capture.

We set the called number to a null string if that's the case; we could
assume, in the sequential pass, that it's the phone number from the last
call, and remember that for use when doing random access.)

svn path=/trunk/; revision=2617
2000-11-12 04:57:39 +00:00
Guy Harris 62b3490af4 We have to set "x25.flags" in the Wiretap pseudo-header if the capture
is WTAP_ENCAP_LAPB *or* WTAP_ENCAP_V120, and we have to set "p2p.sent"
in the capture file for *all* WTAP_ENCAP_LAPD captures; fix the
i4btrace and Sniffer capture file readers to do so.

(XXX - should we eliminate "x25.flags", and use "p2p.sent" instead?  The
directions for X.25 are DTE->DCE and DCE->DTE, not "sent" and
"received", but I suspect that "sent" and "received" should be thought
of from the point of view of the DTE, so DTE->DCE is "sent" and DCE->DTE
is "received"; the directions for ISDN are user->network and
network->user, but I suspect that "sent" and "received" should be
thought of from the standpoint of the user equipment, so user->network
is "sent" and network->user is "received".)

svn path=/trunk/; revision=2606
2000-11-11 06:36:09 +00:00
Guy Harris 81566ec823 In "wdd" captures:
fix the interpretation of the date and time reported in capture
	files;

	use that date and time only to set the start date and time of
	the capture, not to generate the time stamp for every packet.

Make the "struct tm" used for that local to the code to handle that
production in the grammar, rather than global.

For all captures, we *can* now fstat a compressed file (and have been
able to do so for a while, in fact), so revert to doing so and using the
ctime of the capture file if we can't get a date and time from the
file's contents.

svn path=/trunk/; revision=2605
2000-11-11 03:15:07 +00:00
Guy Harris 6ba1bf3f83 Add some comments, and fix one comment.
Remove what appear to be a pair of dangling "else"s.

Before calling "mktime()" on a "struct tm", you have to set "tm_isdst",
so it knows what to do about daylight savings time; set it to -1, so it
picks the appropriate time (except, presumably, for those times that
don't exist, when the clock is moved forward, where there is no
appropriate time, and those times that exist twice, when the clock is
moved backward, where there are *two* times and you can't tell which is
appropriate).

svn path=/trunk/; revision=2604
2000-11-11 01:44:05 +00:00
Gerald Combs c83c84fffb Add initial support for "type 12" frames. I have no documentation for
these other than a trace file a client sent me.  The header appears to
be similar to frame2 and frame4 records, but with extra bytes at the end.
The trace file also contains record types 13 - 17 which appear to contain
metainformation such as retransmit counts.

svn path=/trunk/; revision=2508
2000-10-17 18:07:52 +00:00
Guy Harris fc1ed4cd4b Do checks for platform-specific compiler flags in the libethereal and
wiretap configure scripts as well as in the main configure script.

svn path=/trunk/; revision=2501
2000-10-17 07:30:35 +00:00
Guy Harris 81c030d01a Wiretap no longer works with "GLib 1.0[.x]" (the version that came
bundled with GTK+ 1.0[.x]), it works only with 1.2[.x] and later, so we
no longer need to check for 1.0[.x] and define HAVE_GLIB10.

svn path=/trunk/; revision=2500
2000-10-17 00:09:43 +00:00
Gilbert Ramirez e942fe5f31 Add string representation for WTAP_ENCAP_PPP_WITH_PHDR
svn path=/trunk/; revision=2464
2000-09-28 04:19:09 +00:00