Commit Graph

457 Commits

Author SHA1 Message Date
Guy Harris 105efda404 Move the code to guess the traffic type based on the packet contents
into Wiretap, so that if you read a frame from Wiretap you have what
traffic type information could be gleaned from the information in the
capture file, and can write the frame out to a capture file where the
file contains some or all of that information without having to
determine it outside of Wiretap.

svn path=/trunk/; revision=5314
2002-04-30 18:58:16 +00:00
Guy Harris b0f59c0ce7 Support writing Sun atmsnoop files.
Map MARS to TRAF_UNKNOWN, not TRAF_ILMI.

Don't support writing WTAP_ENCAP_NULL files.

svn path=/trunk/; revision=5304
2002-04-30 09:23:29 +00:00
Guy Harris 329b59c858 Uniformly use "sizeof (struct netmon_atm_hdr)" for the size of Network
Monitor's ATM pseudo-header.

Fix a message.

svn path=/trunk/; revision=5303
2002-04-30 09:21:41 +00:00
Guy Harris ecb2a3939e Replace the "ngsniffer_atm" with an "atm" pseudo-header, which isn't
just an image of the ATM Sniffer data.  This means that Ethereal doesn't
have to know any ATM Sniffer-specific details (that's all hidden in
Wiretap), and allows us to add to that pseudo-header fields, traffic
types, etc. unknown to ATM Sniffers.

Have Wiretap map VPI 0/VCI 5 to the signalling AAL - for some capture
files, this might not be necessary, as they may mark all signalling
traffic as such, but, on other platforms, we don't know the AAL, so we
assume AAL5 except for 0/5 traffic.  Doing it in Wiretap lets us hide
those details from Ethereal (and lets Ethereal interpret 0/5 traffic as
non-signalling traffic, in case that happens to be what it is).

We may know that traffic is LANE, but not whether it's LE Control or
emulated 802.3/802.5; handle that case.

svn path=/trunk/; revision=5302
2002-04-30 08:48:27 +00:00
Guy Harris d415468153 The first byte of the frame header in atmsnoop does, in fact, contain an
indication of the type of traffic; use it.

svn path=/trunk/; revision=5301
2002-04-30 06:04:33 +00:00
Guy Harris 81567fd039 Cast the sum of "ngsniffer->rand.nextout" and "delta" to "size_t" before
comparing with the "size_t" value "ngsniffer->rand.nbytes", rather than
just casting "ngsniffer->rand.nextout" to "unsigned" - if "unsigned" is
shorter than "long", the latter doesn't do what you want.

svn path=/trunk/; revision=5252
2002-04-25 22:05:39 +00:00
Guy Harris 5fbabf3844 Add "stamp-h1", for automake 1.6.1, as per Joerg Mayer's suggestion.
svn path=/trunk/; revision=5236
2002-04-24 07:40:37 +00:00
Guy Harris ea17f40455 Initial support for writing NetXRay 2.x (Windows Sniffer) format
captures, from Olivier Abad.

svn path=/trunk/; revision=5202
2002-04-18 21:35:57 +00:00
Guy Harris bf7e4ce909 Move the definition of the FROM_DCE bit in the "flags" field of a
"struct x25_phdr" to "wiretap/wtap.h".

Have two X.25 dissectors, one of which assumes that there's a "struct
x25_phdr" pseudo-header and one of which doesn't; the former uses the
information in that pseudo-header to determine whether the packet is
DTE->DCE or DCE->DTE, and the latter assumes it has no clue whether the
packet is DTE->DCE or DCE->TDE.  Use the former one in the LAPB
dissector, and the latter one in the XOT dissector and in the LLC
dissector table.

In the X.25-over-TCP dissector, handle multiple X.25 packets per TCP
segment, and handle X.25 packets split across TCP segments.

svn path=/trunk/; revision=5134
2002-04-09 08:15:04 +00:00
Guy Harris 1f4dcf8319 Note the AiroPeek support in the message for the file type.
svn path=/trunk/; revision=5126
2002-04-08 17:42:40 +00:00
Guy Harris 8b9f8e4f3b The length passed into "seek_read" routines is the length supplied by
the "read" routine, which means it's already had any end-of-frame
padding/FCS removed; we don't need to remove it in the "seek_read"
routine.

svn path=/trunk/; revision=5124
2002-04-08 10:01:26 +00:00
Guy Harris b2c46086c3 Use WTAP_ENCAP_IEEE_802_11_WITH_RADIO for AiroPeek files, rather than
having a special encapsulation type for AiroPeek files.

svn path=/trunk/; revision=5123
2002-04-08 09:44:42 +00:00
Guy Harris 939b3c8e0a Add an encapsulation type for "802.11 with radio information"; that type
returns radio information such as signal strength, channel, and data
rate in a pseudo-header.  Add that pseudo-header.

Use the "802.11 with radio information" encapsulation type for Wireless
Sniffer files; extract the radio information from where it appears to be
in the header.

Add dissector code for that encapsulation type.

Fix an error in the code to put radio information into the AiroPeek
tree.

Make the "wrapped" flag for NetXRay/Windows Sniffer captures a
"gboolean".

svn path=/trunk/; revision=5122
2002-04-08 09:09:49 +00:00
Guy Harris 34ab745db0 Yes, that stuff really *does* appear to be just padding. Go figure.
svn path=/trunk/; revision=5119
2002-04-08 02:11:24 +00:00
Guy Harris 06adbfc556 Replace "--enable-zlib" with "--with-zlib", and have it take an optional
"=DIR" argument to specify the directory in subdirectories of which
zlib's headers and libraries can be found.

svn path=/trunk/; revision=5115
2002-04-08 01:34:39 +00:00
Guy Harris 5bb4bf06a9 Gerald says the padding has values that don't look like FCSes; note that
in the comment.

svn path=/trunk/; revision=5108
2002-04-07 21:44:55 +00:00
Guy Harris ae54ef681c Make the end-of-packet padding a per-capture-file property.
Read in the entire packet, including the padding, and just tell our
caller about the non-padding part; that avoids doing a "file_seek()"
("fseek()"s are inefficient on some platforms, as they flush the
standard I/O buffers and do an "lseek()"), and would also let us supply
the padding to the caller if it turns out it's an FCS rather than
padding.

svn path=/trunk/; revision=5107
2002-04-07 21:29:01 +00:00
Gerald Combs f0e2b1a83c Add support for Sniffer 4.6 wireless captures.
svn path=/trunk/; revision=5106
2002-04-07 19:10:10 +00:00
Guy Harris 952a4960f1 From Marc Milgram: properly handle fragmented packets.
svn path=/trunk/; revision=5018
2002-03-25 21:15:54 +00:00
Guy Harris 7d77975a14 Sigh. Tcpdump cannot handle capture files with a snapshot length of 0,
as BPF filters return either 0 if they fail or the snapshot length if
they succeed, and a snapshot length of 0 means success is
indistinguishable from failure and the filter expression would reject
all packets.

Now that a snapshot length of 0, inside Ethereal, means "snapshot length
unknown", we have to, when opening a libpcap file for output, make the
snapshot length some non-zero value.  We make it WTAP_MAX_PACKET_SIZE,
in case some program uses the snapshot length as a buffer size.  (That
doesn't help if there are packets with more than 65535 bytes of data; if
there are, we'd need to raise WTAP_MAX_PACKET_SIZE just to make those
files readable in Ethereal in any case.)

svn path=/trunk/; revision=4905
2002-03-09 23:07:26 +00:00
Guy Harris 828df9d18f Fix a comment.
svn path=/trunk/; revision=4899
2002-03-07 21:46:06 +00:00
Guy Harris ab0302ea1b Fix a typo - IFT_ISO88025 is 9, not 8.
svn path=/trunk/; revision=4898
2002-03-07 21:31:12 +00:00
Guy Harris 0070f850df Bug fix from Marc Milgram: occasionally the VMS parser would read off
the end of string, and find some old data that looked useful, but was
bogus for the frame.

svn path=/trunk/; revision=4897
2002-03-07 21:08:33 +00:00
Guy Harris b5e9cef2bf Make "wtap_seek_read()" return TRUE on success and FALSE on error, like
"wtap_read()".

Add some additional error checks to the Sniffer file reader.

svn path=/trunk/; revision=4875
2002-03-05 08:40:27 +00:00
Guy Harris e300f4db52 Have "wtap_seek_read()" return 0 on success and -1 on failure, and take
an "err" argument that points to an "int" into which to put an error
code if it fails.

Check for errors in one call to it, and note that we should do so in
other places.

In the "wtap_seek_read()" call in the TCP graphing code, don't overwrite
"cfile.pseudo_header", and make the buffer into which we read the data
WTAP_MAX_PACKET_SIZE bytes, as it should be.

In some of the file readers for text files, check for errors from the
"parse the record header" and "parse the hex dump" routines when reading
sequentially.

In "csids_seek_read()", fix some calls to "file_error()" to check the
error on the random stream (that being what we're reading).

svn path=/trunk/; revision=4874
2002-03-05 05:58:41 +00:00
Guy Harris d54bd0bd6b Check for errors in seeks, "tell"s, and "stat()"s/"fstat()"s.
For file types where we allocate private data, add "close" routines
where they were missing, to free the private data.  Also fix up the code
to clean up after some errors by freeing private data where that wasn't
being done.

Get rid of unused arguments to "wtap_dump_open_finish()".

Fix indentation.

svn path=/trunk/; revision=4857
2002-03-04 00:25:35 +00:00
Guy Harris 761ae95b19 From Joerg Mayer: get rid of "-Wno-unused" flag in some configure
scripts, and check in changes to add _U_ to some unused arguments (some
other should perhaps be used, so we leave the _U_ out so that the
warnings serve as a reminder to check those).

svn path=/trunk/; revision=4847
2002-03-02 20:41:08 +00:00
Guy Harris b4971b39bf From Joerg Mayer:
In the "configure.in" files, add

		-D_U_="__attribute__((unused))"

	to CFLAGS if we're using GCC, and add

		-D_U_=""

	otherwise, so _U_ can be used to mark arguments as unused.

Add -D_U_="" arguments to the Makefile.nmake files as well, so _U_ works
with Microsoft Visual C++ as well.

Add comments and RCS IDs to the Makefile.nmake files that don't already
have them.

svn path=/trunk/; revision=4824
2002-02-27 09:42:52 +00:00
Guy Harris cbf5c537c4 From Joerg Mayer: remove unused variables and declarations of
non-existent functions.

Remove the "filetype" argument from the "can_write_encap" functions for
particular capture file types - the argument value is implicit, in that
the routine being called is the routine for that particular file type.

svn path=/trunk/; revision=4823
2002-02-27 08:57:25 +00:00
Guy Harris 3e39a2b0f2 Put in a missing "break;" statement. (Testing the untested AiroPeek
support revealed that I'd left it out; putting it back made it work.)

svn path=/trunk/; revision=4740
2002-02-15 11:35:13 +00:00
Guy Harris 89a4acb438 Have Wiretap set the snapshot length to 0 if it can't be derived from
reading the capture file.  Have callers of "wtap_snapshot_length()"
treat a value of 0 as "unknown", and default to WTAP_MAX_PACKET_SIZE (so
that, when writing a capture file in a format that *does* store the
snapshot length, we can at least put *something* in the file).

If we don't know the snapshot length of the current capture file, don't
display a value in the summary window.

Don't use "cfile.snap" as the snapshot length option when capturing -
doing so causes Ethereal to default, when capturing, to the snapshot
length of the last capture file that you read in, rather than to the
snapshot length of the last capture you did (or the initial default of
"no snapshot length").

Redo the "Capture Options" dialog box to group options into sections
with frames around them, and add units to the snapshot length, maximum
file size, and capture duration options, as per a suggestion by Ulf
Lamping.  Also add units to the capture count option.

Make the snapshot length, capture count, maximum file size, and capture
duration options into a combination of a check box and a spin button.
If the check box is not checked, the limit in question is inactive
(snapshot length of 65535, no max packet count, no max file size, no max
capture duration); if it's checked, the spinbox specifies the limit.
Default all of the check boxes to "not checked" and all of the spin
boxes to small values.

Use "gtk_toggle_button_get_active()" rather than directly fetching the
state of a check box.

svn path=/trunk/; revision=4709
2002-02-08 10:07:41 +00:00
Guy Harris f9c109a239 Support in Wiretap for DLT_HHDLC, from Tomas Kukosa.
svn path=/trunk/; revision=4707
2002-02-07 20:41:28 +00:00
Guy Harris 23d1a63f39 zlib 1.0.8 - the version that comes with X11 - does have "gzseek()",
even if it doesn't have "gzgets()", so one might think we could use it
by using our own replacement for "gzgets()".

One would be wrong to think so, however, as the "gzseek()" it has
doesn't actually work when reading uncompressed files.

zlib 1.0.9 has "gzgets()", and fixes that bug, so we rever to checking
for "gzgets()" rather than "gzseek()", so that we don't accept pre-1.0.9
versions of zlib, and we get rid of our "gzgets()" replacement.

svn path=/trunk/; revision=4702
2002-02-06 09:58:30 +00:00
Guy Harris a9f7ef5058 Update a comment.
svn path=/trunk/; revision=4655
2002-02-01 00:10:03 +00:00
Guy Harris f180114360 Remove the "--without-gcc" option - it doesn't work with the Sun,
Digital UNIX, and HP C compilers, and it may not work with other
compilers (due to the GLib problem mentioned in the previous checkin),
so it runs the risk of being an "attractive nuisance", i.e. users may
try it, find it doesn't work, and then send mail to various Ethereal
mailing lists asking about it.

svn path=/trunk/; revision=4640
2002-01-30 23:48:53 +00:00
Guy Harris 595513d5cc Add a "--without-gcc" option, similar to what tcpdump and libpcap have.
(This isn't as useful for testing purposes as it is in tcpdump and
libpcap, as GLib is configured based on the compiler used to compile it,
so you can't necessarily build an application using GLib with a compiler
different from the one used to compile GLib, but we'll add it anyway.)

svn path=/trunk/; revision=4637
2002-01-30 23:01:33 +00:00
Guy Harris f560c48396 Bug fixes from Marc Milgram.
svn path=/trunk/; revision=4632
2002-01-30 18:58:04 +00:00
Guy Harris a66d50bbf2 Untested support for AiroPeek captures.
svn path=/trunk/; revision=4619
2002-01-29 09:45:58 +00:00
Guy Harris 5cf3587feb Support a libpcap link-layer type of 17 as DLT_PFLOG unless DLT_LANE8023
is defined as 17.

svn path=/trunk/; revision=4617
2002-01-29 08:55:24 +00:00
Guy Harris c873f79156 Support for capturing on, and reading captures from, OpenBSD firewall
logging virtual interface, from Mike Frantzen.

svn path=/trunk/; revision=4616
2002-01-29 08:44:53 +00:00
Guy Harris 32b4f58cd7 From Motonori Shindo: protect include of <netinet/in.h> with #ifdef
HAVE_NETINET_IN_H.

svn path=/trunk/; revision=4610
2002-01-25 09:44:52 +00:00
Guy Harris 886b4994ec Add support for ATM captures (based on writing one out and handing it to
NetMon 2.0; I don't have any ATM captures *from* NetMon to try it on, so
I don't know what significance the "destination address" and "source
address" fields have, but we can at least read the captures we ourselves
write out, as can NetMon).

svn path=/trunk/; revision=4606
2002-01-24 23:02:56 +00:00
Guy Harris 0a979b81b8 Get rid of "m"/"M" and other Macintosh references in names - it appears
that EtherPeek for Windows uses the same format as EtherPeek for MacOS,
so the code isn't specific to the MacOS version.

Check the physMedium value in the secondary header, and leave a
placeholder for a value of 1, which is presumably used in AiroPeek
captures.

Treat unknown mediaType and physMedium values as indications that we
don't have a *Peek file, not as unsupported *Peek files - we need all
the heuristics we can get.

svn path=/trunk/; revision=4601
2002-01-23 06:32:52 +00:00
Guy Harris be0b8a2d31 Fix up various product names and descriptions in the lists of file
formats we can read; include vendor names.

We should be able to read TokenPeek captures, as well as captures from
the Windows versions of EtherPeek.

Don't list the version numbers for EtherPeek and TokenPeek - those are
file format version numbers, not program version numbers.

svn path=/trunk/; revision=4599
2002-01-22 22:38:05 +00:00
Guy Harris 8d1812f93c From Alan Harrison: set "wth->phdr.pkt_encap" to "wth->file_encap" in
the V7-format read routine.

svn path=/trunk/; revision=4597
2002-01-22 20:01:07 +00:00
Guy Harris e6440c4f16 Fixes to EtherPeek file reader code, from Alan Harrison.
svn path=/trunk/; revision=4593
2002-01-21 23:45:58 +00:00
Guy Harris 203d0680a1 The time base in an EtherPeek capture isn't necessarily the start time
of the capture, so change some names and comments.

svn path=/trunk/; revision=4563
2002-01-18 01:08:36 +00:00
Guy Harris 68115d6089 It's EtherPeek, not Etherpeek, as WildPackets' Web site indicates.
svn path=/trunk/; revision=4562
2002-01-18 00:48:37 +00:00
Guy Harris 6cdc5dfde2 In the EtherPeek file reader, keep the capture start time in a private
data structure attached to the "wtap" structure, rather than in a
pseudo-header structure; get rid of the EtherPeek pseudo-header
structure, as it's not actually used as a pseudo-header, it's just used
as private data for the EtherPeek reader.

Get rid of an extra level of indentation in switch statements.

svn path=/trunk/; revision=4561
2002-01-18 00:25:50 +00:00
Guy Harris b8157b393c From Marc Milgram: fix to allow VMS TCPIPtrace files that don't have
exactly 3 spaces before the word "TCPIPtrace" to be recognized.

svn path=/trunk/; revision=4547
2002-01-15 20:18:02 +00:00