Commit Graph

83 Commits

Author SHA1 Message Date
Anders Broman 2bc42dc547 Try to squelch warnings
svn path=/trunk/; revision=42998
2012-06-02 14:13:14 +00:00
Guy Harris 33bb54a945 file_seek() used to be a wrapper around fseek() or gzseek(), both of
which could use lseek() and were thus expensive due to system call
overhead.  To avoid making a system call for every packet on a
sequential read, we maintained a data_offset field in the wtap structure
for sequential reads.

It's now a routine that just returns information from the FILE_T data
structure, so it's cheap.  Use it, rather than maintaining the data_offset
field.

Readers for some file formats need to maintain file offset themselves;
have them do so in their private data structures.

svn path=/trunk/; revision=42423
2012-05-04 16:56:18 +00:00
Guy Harris b6ff142f60 Add a presence flag field to the packet information structure filled in
by Wiretap, to indicate whether certain fields in that structure
actually have data in them.

Use the "time stamp present" flag to omit showing time stamp information
for packets (and "packets") that don't have time stamps; don't bother
working very hard to "fake" a time stamp for data files.

Use the "interface ID present" flag to omit the interface ID for packets
that don't have an interface ID.

We don't use the "captured length, separate from packet length, present"
flag to omit the captured length; that flag might be present but equal
to the packet length, and if you want to know if a packet was cut short
by a snapshot length, comparing the values would be the way to do that.

More work is needed to have wiretap/pcapng.c properly report the flags,
e.g. reporting no time stamp being present for a Simple Packet Block.

svn path=/trunk/; revision=41185
2012-02-25 23:24:34 +00:00
Guy Harris d94bd07f99 Rename WTAP_ERR_BAD_RECORD to WTAP_ERR_BAD_FILE; it really reports any
form of corruption/bogosity in a file, including in a file header as
well as in records in the file.  Change the error message
wtap_strerror() returns for it to reflect that.

Use it for some file header problems for which it wasn't already being
used - WTAP_ERR_UNSUPPORTED shouldn't be used for that, it should only
be used for files that we have no reason to believe are invalid but that
have a version number we don't know about or some other
non-link-layer-encapsulation-type value we don't know about.

svn path=/trunk/; revision=40175
2011-12-13 09:53:50 +00:00
Guy Harris c3da1f23d3 Add missing checks for a too-large packet, so we don't blow up trying to
allocate a huge buffer.

svn path=/trunk/; revision=40170
2011-12-13 02:42:42 +00:00
Guy Harris e9fc1b72aa Use guint8 rather than guchar for raw octets and pointers to arrays of
same.

Add to wiretap/pcap-common.c a routine to fill in the pseudo-header for
ATM (by looking at the VPI, VCI, and packet data, and guessing) and
Ethernet (setting the FCS length appropriately).  Use it for both pcap
and pcap-ng files.

svn path=/trunk/; revision=38840
2011-09-01 09:43:10 +00:00
Guy Harris 0a4e212e4b file_read() can return -1; don't just blindly add it to a previous
file_read() return value.  Use wtap_file_read_expected_bytes() in a
number of places.

svn path=/trunk/; revision=37054
2011-05-10 21:53:10 +00:00
Guy Harris 6cbf6ce16c Add a new WTAP_ERR_DECOMPRESS error, and use that for errors discovered
by the gunzipping code.  Have it also supply a err_info string, and
report it.  Have file_error() supply an err_info string.

Put "the file" - or, for WTAP_ERR_DECOMPRESS, "the compressed file", to
suggest a decompression error - into the rawshark and tshark errors,
along the lines of what other programs print.

Fix a case in the Netscaler code where we weren't fetching the error
code on a read failure.

svn path=/trunk/; revision=36748
2011-04-21 09:41:52 +00:00
Guy Harris 2b8ebd389b "This file format can't be written to a pipe" and "this file format
can't be saved in compress form" are both equivalent to "this file file
format requires seeking when writing it".  Change the "can compress"
Boolean in the file format table to "writing requires seeking", give all
the entries the proper value, and do the checks for attempting to write
a file format to a pipe or write it in compressed format to common code.

This means we don't need to pass the "can't seek" flag to the dump open
routines.

svn path=/trunk/; revision=36575
2011-04-12 00:44:44 +00:00
Guy Harris 4c93827e34 From Jakub Zawadzki:
file_read(buf, bsize, count, file) macro is compilant with fread
function and takes elements count+ size of each element, however to make
it compilant with gzread() it always returns number of bytes.

In wiretap file_read() this is not really used, file_read is called
either with bsize set to 1 or count to 1.

Attached patch remove bsize argument from macro.

svn path=/trunk/; revision=36491
2011-04-06 06:51:19 +00:00
Gerald Combs 4ee10e769e Fix Coverity CIDs 810 & 811: uninitialized variables.
svn path=/trunk/; revision=36340
2011-03-25 23:45:48 +00:00
Guy Harris 194cfe2d2f Don't use fwrite directly when writing a dump file; call it through
wtap_dump_file_write().  Replace various wrappers around fwrite() with
wtap_dump_file_write(), or at least make the wrappers call
wtap_dump_file_write().

svn path=/trunk/; revision=33116
2010-06-06 22:19:30 +00:00
Guy Harris adf7e45432 Clean up properly if we get an error after allocating the private data
structure.

svn path=/trunk/; revision=32563
2010-04-26 02:26:22 +00:00
Guy Harris 17392a865a Move the definitions of all the private data structures out of
wtap-int.h, and change the unions of pointers to those private data
structures into just void *'s.

Have the generic wtap close routine free up the private data, rather
than the type-specific close routine, just as the wtap_dumper close
routine does for its private data.  Get rid of close routines that don't
do anything any more.

svn path=/trunk/; revision=32015
2010-02-26 07:59:54 +00:00
Bill Meier 72ef03e60a [Trivial] Constify a few things
svn path=/trunk/; revision=28144
2009-04-24 12:16:01 +00:00
Jaap Keuter b47e7619e6 From Mark C. Brown:
Added support for HPVM (Integrity Virtual Machines) guest AVIO (Accelerated Virtual IO) driver IGSSN.
Cleaned up the trace record checks.  
Made the default ethernet if the nettl subsystem is not recognized.

svn path=/trunk/; revision=27549
2009-02-25 23:19:56 +00:00
Martin Mathieson 7e40100fb3 From Anders: Checkapi enabled for wiretap and more functions converted.
svn path=/trunk/; revision=25257
2008-05-08 09:37:11 +00:00
Jaap Keuter f6bf2c9451 From Mark C. Brown:
Added support for HPVM (Integrity Virtual Machines) guest AVIO (Accelerated Virtual IO) 
driver IGSSN and 2nd generation 10 Gigabit Ethernet adapter AD386A driver ICXGBE.

svn path=/trunk/; revision=24926
2008-04-12 09:23:35 +00:00
Anders Broman e6fc9efb62 From Mark C. Brown:
Add support for the new NS_LS_SCTP tracing subsystem.

svn path=/trunk/; revision=23290
2007-10-27 15:44:12 +00:00
Jaap Keuter 224a21ecfe From Mark C. Brown:
HP-UX 11.31 will add a new nettl trace subsystem, NS_LS_TELNET (ID=267).
NS_LS_TELNET is just raw telnet data.  There is no layer 2/3/4 headers, so
there's just the HP-UX nettl record header followed directly by the TCP payload
for a telnet connection.  Thus the need for a new wiretap encapsulation type...

svn path=/trunk/; revision=20253
2007-01-01 14:48:18 +00:00
Jaap Keuter 33310e87b6 From Mark C. Brown:
Fix some nettl encap types and size checks

svn path=/trunk/; revision=20252
2007-01-01 14:43:15 +00:00
Ulf Lamping 59d6c8ea33 change all file offsets from long to gint64 so we can - theoretically - handle files > 2GB correct.
Please distclean Win32 builds!

svn path=/trunk/; revision=19814
2006-11-05 22:46:44 +00:00
Guy Harris a6eda1060e Rework some of the header processing, to handle some additional nettl
files, and to clean the code up a bit - and incorporate some fixes to
the rework, and other fixes, from Mark C. Brown.

svn path=/trunk/; revision=18945
2006-08-18 09:01:20 +00:00
Guy Harris c5a7a3b935 The nettl_file_hdr structure has a fixed format, as it's an on-disk data
structure.  Instead of making the host_name field bigger, make the thing
we put in it smaller.

Use that structure when reading files as well as when writing them.

svn path=/trunk/; revision=18796
2006-07-26 23:22:28 +00:00
Jörg Mayer 7f6aa2359e postadal@suse.cz:
Bufferoverflow caused by ethereal->wireshark rename
	(ws is 1 char longer).
	http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=1015


svn path=/trunk/; revision=18794
2006-07-26 06:38:16 +00:00
Gerald Combs dea7ae98be Ethereal -> Wireshark
svn path=/trunk/; revision=18369
2006-06-06 23:09:20 +00:00
Gerald Combs 8958bab6de Tethereal/tethereal -> TShark/tshark.
svn path=/trunk/; revision=18268
2006-05-31 17:38:42 +00:00
Ulf Lamping 723c80ea90 timestamp display precision:
- automatic adjustment depending on file format
- manual adjustment through menu items

save the setting in the recent file

svn path=/trunk/; revision=15534
2005-08-25 21:29:54 +00:00
Ulf Lamping 6f43fbb2f0 EVERYTHING IN THE BUILDBOT IS GOING TO BE RED!!! Sorry!
I've done more than a day to change the timestamp resolution from microseconds to nanoseconds. As I really don't want to loose those changes, I'm going to check in the changes I've done so far. Hopefully someone else will give me a helping hand with the things left ...

What's done: I've changed the timestamp resolution from usec to nsec in almost any place in the sources. I've changed parts of the implementation in nstime.s/.h and a lot of places elsewhere.

As I don't understand the editcap source (well, I'm maybe just too tired right now), hopefully someone else might be able to fix this soon.

Doing all those changes, we get native nanosecond timestamp resolution in Ethereal. After fixing all the remaining issues, I'll take a look how to display this in a convenient way...

As I've also changed the wiretap timestamp resolution from usec to nsec we might want to change the wiretap version number...

svn path=/trunk/; revision=15520
2005-08-24 21:31:56 +00:00
Guy Harris 7828470923 Make nettl file header items containing strings "gchar", to squelch
signed vs. unsigned compiler warnings.

svn path=/trunk/; revision=14873
2005-07-08 02:21:16 +00:00
Guy Harris 7b9c1a62a7 Fix some more leaks in error returns from open routines (if the open can
fail after the private data is allocated, you have to free the private
data).

The file header in nettl files is 128 bytes - use a #define for it, and
also a #define for the magic number size.

svn path=/trunk/; revision=14553
2005-06-04 21:58:55 +00:00
Anders Broman 8e48f993ae From Mark C Brown,:
Fixes for LAP-B (SX25L2) and X.25 (SX25L3) nettl trace records.

svn path=/trunk/; revision=14385
2005-05-17 19:50:38 +00:00
Ronnie Sahlberg 412e592a12 updating Mark C Browns information
svn path=/trunk/; revision=14025
2005-04-07 10:04:50 +00:00
Ronnie Sahlberg 3b435e70a3 From Mark C Brown NETTL updates
svn path=/trunk/; revision=13999
2005-04-01 10:17:05 +00:00
Jörg Mayer fc9a0f0744 Mark C. Brown: Added support for new ixgbe card
svn path=/trunk/; revision=13267
2005-02-03 22:44:13 +00:00
Guy Harris 60bbdd93a7 From Mark C. Brown:
fix FDDI to use correct bit swapped encap;

	tweak file open code to guess at file encap so merge works
	better.

svn path=/trunk/; revision=12351
2004-10-19 22:28:27 +00:00
Guy Harris af061ccd60 From Mark C. Brown: add 100VG support.
svn path=/trunk/; revision=12299
2004-10-14 21:59:17 +00:00
Guy Harris eb608f1c98 From Mark C. Brown: support dumping files with the raw ICMP and raw
ICMPv6 encapsulations.

svn path=/trunk/; revision=12279
2004-10-12 17:23:15 +00:00
Guy Harris da8539cbdb Correctly update the count of bytes dumped.
svn path=/trunk/; revision=12275
2004-10-12 08:05:58 +00:00
Ulf Lamping 08ba61b48f fix MSVC unused magic warning
svn path=/trunk/; revision=12274
2004-10-12 06:32:57 +00:00
Guy Harris 1a15f79f26 From Mark C. Brown: add support for writing nettl files.
svn path=/trunk/; revision=12258
2004-10-11 07:18:20 +00:00
Guy Harris dba97f9cc5 From Mark C. Brown: add EISA 100BaseTX, EISA FDDI, and HSC FDDI support,
and make a small performance fix to HP-PB FDDI.

svn path=/trunk/; revision=12218
2004-10-06 10:08:29 +00:00
Guy Harris 5a46037813 From Mark C. Brown: support for the NETTL_SUBSYS_HPPB_FDDI records.
svn path=/trunk/; revision=12202
2004-10-05 08:59:57 +00:00
Guy Harris d525c0129e From Mark C. Brown: add the HP-PB FDDI card type, although we currently
don't have any code to handle it (other than to report that fact...).

Also, refer to the subsystem type code as such, not as a "network type".

svn path=/trunk/; revision=12178
2004-10-01 22:01:25 +00:00
Guy Harris 3cdebd31db From Mark C. Brown: fix support for nettl NETTL_SUBSYS_NS_LS_ICMP and
NETTL_SUBSYS_NS_LS_ICMPV6 - they don't even have IP headers, so we need
to directly call the ICMP and ICMPv6 dissectors.

svn path=/trunk/; revision=12047
2004-09-19 07:13:52 +00:00
Guy Harris a686d1b953 From Mark C. Brown:
1) Change nettl subsystem ID's to decimal so as to
   match /etc/nettlgen.conf and ease maintenance

2) Add support for hp_apaport (PAgP), hp_apalacp,
   and IPv6 subsystem trace records

3) Correct handling of LOOPBACK trace records

svn path=/trunk/; revision=11901
2004-09-04 20:35:29 +00:00
Guy Harris 8a8b883450 Set the svn:eol-style property on all text files to "native", so that
they have LF at the end of the line on UN*X and CR/LF on Windows;
hopefully this means that if a CR/LF version is checked in on Windows,
the CRs will be stripped so that they show up only when checked out on
Windows, not on UN*X.

svn path=/trunk/; revision=11400
2004-07-18 00:24:25 +00:00
Guy Harris 1adc05c157 From Mark C. Brown: add support for FDDI and Token Ring cards.
Set the file encapsulation the same way it's done for iptrace captures -
leave it as "unknown" to start with, and, for each packet we see, set it
to the packet's encapsulation type if the file encapsulation type is
unknown and set it to "per-packet" if the file encapsulation type is
"known" but isn't the type of that packet, so files that have all the
same type of packet have that type as the file type and packets that
*don't* have all the same type of packet have "per-packet".

svn path=/trunk/; revision=10543
2004-04-02 08:27:26 +00:00
Guy Harris 313ba9e2b8 From Mark C. Brown: add support for iether (dual-port gigabit) cards in
nettl files.

svn path=/trunk/; revision=10501
2004-03-27 11:16:54 +00:00
Guy Harris d6cd61061e Have the Wiretap open, read, and seek-and-read routines return, in
addition to an error code, an error info string, for
WTAP_ERR_UNSUPPORTED, WTAP_ERR_UNSUPPORTED_ENCAP, and
WTAP_ERR_BAD_RECORD errors.  Replace the error messages logged with
"g_message()" for those errors with g_strdup()ed or g_strdup_printf()ed
strings returned as the error info string, and change the callers of
those routines to, for those errors, put the info string into the
printed message or alert box for the error.

Add messages for cases where those errors were returned without printing
an additional message.

Nobody uses the error code from "cf_read()" - "cf_read()" puts up the
alert box itself for failures; get rid of the error code, so it just
returns a success/failure indication.

Rename "file_read_error_message()" to "cf_read_error_message()", as it
handles read errors from Wiretap, and have it take an error info string
as an argument.  (That handles a lot of the work of putting the info
string into the error message.)

Make some variables in "ascend-grammar.y" static.

Check the return value of "erf_read_header()" in "erf_seek_read()".

Get rid of an unused #define in "i4btrace.c".

svn path=/trunk/; revision=9852
2004-01-25 21:55:17 +00:00