Commit graph

1919 commits

Author SHA1 Message Date
Anders Broman
311116da93 Change comment to Loop ower all IDB:s that appear before any packets sugested by Guy, there can be more IDBs in a cpture file
svn path=/trunk/; revision=41096
2012-02-21 05:58:40 +00:00
Anders Broman
89758cdec8 From Jose Pedro Oliveira fix a typo
svn path=/trunk/; revision=41091
2012-02-20 22:40:17 +00:00
Anders Broman
c7f1a431d2 Handle reading and writing of multiple IDB:s, write IDB options and use correct lengt for strings, handle more than 100 char comment
svn path=/trunk/; revision=41082
2012-02-20 20:15:51 +00:00
Guy Harris
55001ef198 With the WTAP_ERR_UNSUPPORTED error, Wiretap supplies a string giving
the details of what in particular is unsupported; report it in TShark
and Wireshark.

Handle WTAP_ERR_RANDOM_OPEN_PIPE in TShark.

Handle WTAP_ERR_COMPRESSION_NOT_SUPPORTED in TShark, and have its error
message in Wireshark not speak of gzip, in case we support compressed
output in other formats in the future.

If we see a second section header block in a pcap-NG file, don't report
it as "the file is corrupted", report it as "the file uses a feature we
don't support", as that's the case - and don't free up the interface
data array, as the file remains open, and Wireshark might still try to
access the packets we were able to read.

svn path=/trunk/; revision=41041
2012-02-16 18:58:40 +00:00
Guy Harris
5e8d2c79f6 Again, turn off the debug logging; it messes up the fuzz-testing bot.
svn path=/trunk/; revision=41034
2012-02-16 02:06:48 +00:00
Anders Broman
0b6b3937ab Make it possible to get inforamtion from the read SHB to the one to write out.
svn path=/trunk/; revision=41032
2012-02-15 19:44:16 +00:00
Guy Harris
197f7b9c02 TYPE_PAD records can have zero bytes of payload; don't treat them as
errors.

svn path=/trunk/; revision=41030
2012-02-14 22:31:33 +00:00
Michael Tüxen
68204c94a4 From Anders: Add support for options in the SHB.
From me: Some whitespace changes.

svn path=/trunk/; revision=41026
2012-02-14 17:07:52 +00:00
Anders Broman
1bc9a08e41 White space changes.
svn path=/trunk/; revision=41015
2012-02-13 17:34:56 +00:00
Anders Broman
c7b1aeb5f5 Drop count is 64 bits
svn path=/trunk/; revision=41014
2012-02-13 17:34:15 +00:00
Jeff Morriss
670120c481 Fix the crash reported in https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6804
For WTAP_ENCAP_ERF files if we find an Extension and/or Multi-Channel header,
ensure that the size of the full pseudoheader is smaller than the packet size
to avoid an underflow and subsequent attempt to allocate a rather large amount
of memory.

svn path=/trunk/; revision=41008
2012-02-13 03:03:03 +00:00
Guy Harris
61c2e0ea40 Do not assume tab stops are set every 4 spaces.
svn path=/trunk/; revision=41007
2012-02-12 23:50:13 +00:00
Michael Tüxen
13beca3bbf Fix debug output.
svn path=/trunk/; revision=41004
2012-02-12 21:56:00 +00:00
Anders Broman
74f2ef4f76 Store drop count if present.
svn path=/trunk/; revision=40974
2012-02-11 17:31:13 +00:00
Anders Broman
8aea738cda Add the abillity to read and write option comments unedited.
This is POC we may want to have more efficient use of the frame data
structure etc. But this allows for work to be done on the GUI to actually add comments.

svn path=/trunk/; revision=40969
2012-02-11 12:34:39 +00:00
Guy Harris
357a3e2837 Revert presumably-unintentional turning on of debug messages.
svn path=/trunk/; revision=40963
2012-02-11 02:41:04 +00:00
Anders Broman
7be6e75c13 Add pcapng variables to wtap_pkthdr.
svn path=/trunk/; revision=40947
2012-02-09 22:24:00 +00:00
Alexis La Goutte
64b511f5e7 Fix some Dead Store (Dead assignement/Dead increment) Warning found by Clang
svn path=/trunk/; revision=40909
2012-02-06 22:20:29 +00:00
Alexis La Goutte
50fe66d265 Fix some Dead Store (Dead assignement/Dead increment) Warning found by Clang
svn path=/trunk/; revision=40908
2012-02-06 22:19:07 +00:00
Alexis La Goutte
7424e362c6 Fix some Dead Store (Dead assignement/Dead increment) Warning found by Clang
svn path=/trunk/; revision=40907
2012-02-06 22:18:45 +00:00
Anders Broman
5f14cec8e2 From Guy Martin:
Add new linktype 243 for MPEG2-TS.

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6796

svn path=/trunk/; revision=40884
2012-02-06 19:15:07 +00:00
Anders Broman
0179b7dc50 Add *.sbr files to the clean target.
svn path=/trunk/; revision=40763
2012-01-29 20:33:58 +00:00
Anders Broman
997b768069 From Tom Brezinski:
includes radio data from the capture.

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6746

svn path=/trunk/; revision=40754
2012-01-28 17:10:50 +00:00
Anders Broman
6dbeabfc6f From Tobias Witek:
Allow dissectors to indicate that an ATM AAL5 frame contains SSCOP.

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6717

svn path=/trunk/; revision=40750
2012-01-28 16:34:22 +00:00
Guy Harris
c8854a7a5f Add a routine to Wiretap that takes a file type value and an
encapsulation value and returns a GArray containing all the file types
that could be used to save a file of that file type and that
encapsulation value (which could be WTAP_ENCAP_PER_PACKET), with the
input file type first if that can be used and pcap or pcap-ng first if
not and if one of them can be used, and with pcap and pcap-ng clustered
together if they're among the file types that can be used.

Use that routine for the GTK+ file save dialog.

svn path=/trunk/; revision=40685
2012-01-24 04:33:23 +00:00
Jeff Morriss
f7e1f76659 From njtaylor0101 [AT] gmail.com via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6740 :
Fix an out-of-array-bounds warning from OpenBSD's compiler.  (Note: this is
actually a false positive since adequate memory is allocated.)

From me: some additional code simplification.

svn path=/trunk/; revision=40680
2012-01-24 02:20:46 +00:00
Guy Harris
3b1f82d063 In the table of capture file types, have:
a field that gives the default extension for the file type,
	*without* a leading "." (i.e., just the extension, not the "."
	that separates it from the rest of the file name), which is NULL
	if there are no known extensions;

	a field that gives a semicolon-separated list of *other*
	extensions, without "*." or ".", which is NULL if there are no
	known extensions or there are no known extensions other than the
	default.

Rename wtap_file_extension_default_string() to
wtap_default_file_extension() (matches the name of the field).

svn path=/trunk/; revision=40678
2012-01-23 23:17:03 +00:00
Guy Harris
bb98263aa4 Have wtap_file_extension_default_string() return the extension in the
sense of "what follows the last . in the file name", i.e. not including
the ".".

svn path=/trunk/; revision=40674
2012-01-23 21:57:45 +00:00
Guy Harris
ef2bf47e32 Add default extension names for all file types for which we have
extensions at all.

For file types that are plain text and that don't already have
extensions, add "txt" as the extension.

svn path=/trunk/; revision=40657
2012-01-23 02:38:56 +00:00
Guy Harris
e4a193fe5e Replace wtap_file_extensions_string() with a routine that returns a
GSList of extensions for a file type, including extensions for the
compressed versions of those file types that we can read.

svn path=/trunk/; revision=40623
2012-01-21 08:59:21 +00:00
Guy Harris
020d9491da It's the Xoraya file type, not the Xoraya encapsulation, that was bogus.
svn path=/trunk/; revision=40622
2012-01-21 04:00:43 +00:00
Guy Harris
97ad2f8177 "*.*" as a pattern for a given file type is pointless, as it doesn't
select only files of that type; you might as well use "All Files (*.*)"
for that.

The default suffix is a suffix, not a pattern, so it shouldn't be
"*.{something}".

We only use the patterns on Windows, where file names are
case-insensitive, so there's no point in capital letters in suffixes.

svn path=/trunk/; revision=40621
2012-01-21 03:55:40 +00:00
Guy Harris
e3712a53da Get rid of an unused file type. If somebody wants it in the official
Wireshark distribution, give us code to read it.  If somebody wants it
in their private version of Wireshark, they can manage that themselves. 
(We should support plugins for file types at some point; I think we
already have support for Lua file readers.)

svn path=/trunk/; revision=40620
2012-01-21 03:52:19 +00:00
Guy Harris
9ca4193385 Line up #define values.
svn path=/trunk/; revision=40576
2012-01-18 22:05:47 +00:00
Guy Harris
e13c87acc4 Tabs are not *ipso facto* 4 spaces.
svn path=/trunk/; revision=40575
2012-01-18 22:05:01 +00:00
Alexis La Goutte
cb6644ea4b From Tom Brezinski via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6746
Adding support for Network Instruments 802.11 wireless captures

Attaching very simple change to allow reading of Network Instruments Observer 802.11 wireless capture files.

svn path=/trunk/; revision=40571
2012-01-18 21:23:30 +00:00
Guy Harris
6224e81b9f wth->phdr.pkt_encap isn't set on a seek-and-read; pass the encapsulation
directly to k12text_set_pseudo_header(), so that it's passed the right
encapsulation for seek-and-read as well as for read.  Fixes the
"malformed frames when reading some K12 text files" problem for which
we're using bug 6735.

svn path=/trunk/; revision=40508
2012-01-14 20:58:41 +00:00
Guy Harris
2db032c5d5 NetMon 1.x format does *not* support per-packet encapsulation.
svn path=/trunk/; revision=40495
2012-01-14 10:31:25 +00:00
Guy Harris
eb5c7d64a4 Get rid of unused WTAP_FILE_WTAP file type.
Move pcap-NG right after standard pcap in the list of file types, so
that it shows up early in the list of output file types in the "Save
As..." dialog box (if, that is, it's supported; if not, neither is pcap,
as they use the same link-layer header type values).

svn path=/trunk/; revision=40493
2012-01-14 09:12:05 +00:00
Guy Harris
37ffde4018 WTAP_ENCAP_UNKNOWN should never appear as an actual encapsulation type,
and can't be supported as an output encapsulation in any case.

svn path=/trunk/; revision=40492
2012-01-14 09:00:37 +00:00
Jörg Mayer
9781eaf0f5 Sync filelists between autofoo and cmake.
Move some dissectors that throw warnings to DIRTY_
Whitespace cleanups

svn path=/trunk/; revision=40478
2012-01-13 19:29:58 +00:00
Gerald Combs
cb9725ce2b Prepend the sita_phdr fields with "sita_" to make them less
collision-prone.

svn path=/trunk/; revision=40320
2011-12-28 23:39:14 +00:00
Bill Meier
727046dc35 Tighten up format string used for date/time parse;
Use 'static' in function definitions to match function declarations;
Do minor reformatting.

svn path=/trunk/; revision=40305
2011-12-27 18:54:32 +00:00
Guy Harris
7962edcf56 The encapsulation following WTAP_ENCAP_ARCNET is
WTAP_ENCAP_ARCNET_LINUX; update various tables mapping Wiretap
encapsulations to file-type encapsulations.  Get rid of some trailing
"sorry, that's not supported" entries while we're at it.

svn path=/trunk/; revision=40274
2011-12-22 09:22:35 +00:00
Guy Harris
ab910e4cff If stuff above the Wiretap library can't handle packet reported lengths
> WTAP_MAX_PACKET_SIZE, either that should be caught above the
per-file-type layer in Wiretap or should be handled by the caller.

We've recently fixed at least one problem with reported lengths > 2^31 -
1 (by clamping the length to 2^31 - 1), so let's just remove the check
from the pcap-NG reader, to squelch some complaints we're getting from
the buildbot (bug 6673 and its duplicates).

(The pcap reader uses it to cope with some of the botched libpcap
formats that changed the per-packet header without changing the magic
number; I'll look at trying to preserve those heuristics while still
allowing reported lengths > WTAP_MAX_PACKET_SIZE.)

svn path=/trunk/; revision=40207
2011-12-15 08:22:06 +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
1df4ee9109 Crank up the maximum frame table size to 512*2^20 packets, that being a
small amount bigger than the maximum possible number of packets in a
NetMon file.

svn path=/trunk/; revision=40174
2011-12-13 06:45:16 +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
dd92029afa Check for a bogus record size. Fixes bug 6670.
svn path=/trunk/; revision=40169
2011-12-13 02:00:41 +00:00
Guy Harris
89303e99c4 Add an arbitrary limit on the maximum size of the frame table, so that
we don't crash.  Fixes bug 6669.

svn path=/trunk/; revision=40168
2011-12-13 01:49:27 +00:00
Guy Harris
c8182253c8 Add missing checks for a too-large packet, so we don't blow up trying to
allocate a huge buffer; fixes bug 6668.

Also add some other checks for invalid records.

svn path=/trunk/; revision=40167
2011-12-13 01:24:12 +00:00
Guy Harris
73a808f9bc Add missing check for a too-large packet, so we don't blow up trying to
allocate a huge buffer; fixes bug 6667.

svn path=/trunk/; revision=40166
2011-12-13 01:05:52 +00:00
Guy Harris
b669a11931 Add missing check for a too-large packet, so we don't blow up trying to
allocate a huge buffer; fixes bug 6666.

svn path=/trunk/; revision=40165
2011-12-13 00:57:09 +00:00
Guy Harris
a1fe0c746d Update some comments to reflect current reality (as in "a lot of stuff
is no longer available, but there's an IETF list of snoop datalink
types, at least").

svn path=/trunk/; revision=40080
2011-12-03 07:16:56 +00:00
Jaap Keuter
016bf3b0cf from Petr Sumbera:
Solaris 11 snoop files with IP over Infiniband data are not recognized.
Attached patch allows to view such data.

svn path=/trunk/; revision=40072
2011-12-02 22:23:07 +00:00
Guy Harris
7694a8659d Fail if somebody tries to write out a packet with an unsupported
encapsulation.

svn path=/trunk/; revision=39944
2011-11-18 21:39:18 +00:00
Guy Harris
680b3d3a86 Make sure pcap-ng supports a particular encapsulation type before
trying to write out an interface description block for an interface with
that type.

svn path=/trunk/; revision=39930
2011-11-18 07:13:33 +00:00
Guy Harris
9b9bd6d27b Add checks to make sure we don't overflow the maximum 32-bit file
offset.

svn path=/trunk/; revision=39915
2011-11-17 20:17:36 +00:00
Guy Harris
e4658ced93 Rename pletonll() to reflect what it actually does, namely convert a
host-byte-order 64-bit integral quantity to little-endian byte order.

svn path=/trunk/; revision=39900
2011-11-17 09:24:15 +00:00
Guy Harris
31f61b75b2 A new macro needed by the WTAP_ENCAP_PER_PACKET support for writing
NetMon files.

svn path=/trunk/; revision=39899
2011-11-17 09:04:54 +00:00
Guy Harris
9dc26776e4 Add support for writing WTAP_ENCAP_PER_PACKET files; they are written
out in version 2.1 of the file format (the minimum version to support
that).

Change some data types to avoid having file offsets that are before the
beginning of the file.

Clean up some other data types and some comments.

svn path=/trunk/; revision=39898
2011-11-17 09:03:09 +00:00
Guy Harris
f3a88d4084 Return *some* error if we end up trying to seek before the beginning of
the file, so you don't get weird random errors.  EINVAL is as good as
anything.

svn path=/trunk/; revision=39896
2011-11-17 06:36:32 +00:00
Guy Harris
eacdf1d46f Put back the check for dates that can be represented in DOS format the
way it was *supposed* to be done, rather than backwards.

svn path=/trunk/; revision=39895
2011-11-17 02:29:26 +00:00
Chris Maynard
6f2dc712b9 Revert part of r39883 to avoid dereferencing a NULL pointer. Thanks Clang.
svn path=/trunk/; revision=39894
2011-11-17 02:17:57 +00:00
Guy Harris
8281a7d28e Support nanosecond-resolution time for NetMon 2.x format (it's only
100-nanosecond resolution, but that's still better than microsecond
resolution).

For NetMon 1.x format, only claim to support millisecond resolution, as
that's all you get.

Fix handling of negative time deltas in NetMon 2.x format.

When writing a NetMon file, trim the time of the first packet to
millisecond precision to get the capture start time, so that the start
time written to the file (which has millisecond precision) is the same
as the start time used to calculate the deltas written to the packet
headers.

svn path=/trunk/; revision=39886
2011-11-16 17:54:44 +00:00
Guy Harris
234d0b9614 OK, this should do it.
svn path=/trunk/; revision=39885
2011-11-16 17:13:37 +00:00
Guy Harris
8be474f776 Fix build on Windows.
svn path=/trunk/; revision=39884
2011-11-16 17:12:47 +00:00
Guy Harris
163edbb507 Another place where we have to protect against MSVC's time-conversion
routines blowing up if handed a too-large time_t.

While we're at it, also check for dates that can't be represented in DOS
format (pre-1980 dates).

svn path=/trunk/; revision=39883
2011-11-16 17:08:00 +00:00
Guy Harris
5ceeb22529 Another place where we have to protect against MSVC's time-conversion
routines blowing up if handed a too-large time_t.

svn path=/trunk/; revision=39882
2011-11-16 16:48:02 +00:00
Guy Harris
f5d4a4c7ba Clean up white space.
Note that we don't need to set the FCS length, but might as well do so
anyway.

svn path=/trunk/; revision=39816
2011-11-13 00:04:49 +00:00
Bill Meier
3227cade47 Add entries for WTAP_ENCAP_NETANALYZER... to encap_table_base[]
svn path=/trunk/; revision=39810
2011-11-12 20:27:32 +00:00
Anders Broman
af25c3e77b From Holger Pfrommer:
Enhancement of Hilscher Analyzer Dissector.

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6082

svn path=/trunk/; revision=39804
2011-11-12 18:01:38 +00:00
Bill Meier
d1d9cf61c7 Add (missing) "mime" entry to encap_table_base[].
svn path=/trunk/; revision=39796
2011-11-11 22:21:06 +00:00
Guy Harris
bc3796b7ac Updates based on stuff seen in a new capture.
I'm leaving debug messages in, but #if 0'ed out, for now.

svn path=/trunk/; revision=39736
2011-11-04 23:59:07 +00:00
Guy Harris
42c2e1c57b It appears that the "packet" records are actually "stuff from the ISDN
link" records, including stuff that's from a G.704 PRI frame but not
from a D or H channel in that frame.  Handle them (currently, we ignore
them).

The low-order bit of the flags field for "packet" records" is "network
to user" (NT->TE), not "user to network" (TE->NT).

svn path=/trunk/; revision=39663
2011-10-28 22:57:33 +00:00
Guy Harris
83aed00fac The version string field isn't followed by 20 bytes of stuff; the last 8
bytes of what we thought was a version string appears to be an 8-byte
record of some sort in the captures we originally looked at, and appears
to be a non-8-byte record in another capture.  If we treat that as a
record, the version string field appears to be null-padded and 41 bytes
long.

svn path=/trunk/; revision=39645
2011-10-28 02:48:52 +00:00
Guy Harris
c0db24bf4d Fix cut-and-pasteo that happened not to cause a problem on *P64
platforms but failed on *P32 platforms.

Remove the debugging code (the above was the problem in question).

svn path=/trunk/; revision=39628
2011-10-27 03:00:03 +00:00
Guy Harris
a4e597b545 Add some debugging code; the current code doesn't work when compiled
with MSVC on Win32, and the fix will remove the debugging code as well.

svn path=/trunk/; revision=39624
2011-10-26 23:41:15 +00:00
Guy Harris
05269a7178 Put the magic number into the aethra_hdr structure, to avoid compiler
padding of the structure getting in the way (it should now not require
padding).

svn path=/trunk/; revision=39619
2011-10-26 20:53:27 +00:00
Guy Harris
d7515bff87 Add the code to read Aethra files.
svn path=/trunk/; revision=39592
2011-10-26 04:31:06 +00:00
Guy Harris
b4415758bf Ok, we found what appears to be the capture start time. Use it.
Also mark what appear to be strings in the file header.

svn path=/trunk/; revision=39591
2011-10-26 04:05:17 +00:00
Guy Harris
12e95e2cda It appears that the octet in the record header after the record length
might be a record type, with 0 being a "Stop Monitor" record and 1 being
a packet.  Ignore records other than packet records.

svn path=/trunk/; revision=39590
2011-10-26 03:14:21 +00:00
Guy Harris
72a96fc6a6 Avoid warnings.
svn path=/trunk/; revision=39589
2011-10-26 02:37:45 +00:00
Guy Harris
e9ae3a0fd6 Initial support for .aps files from Aethra Telecommunications' PC108
software.  More work is needed:

	we don't know where the capture start time is yet;

	we aren't handling the "stop capture" record;

	we don't know where the ISDN channel is;

	there might be non-ISDN file formats;

but this at least is easier than trying to text2pcap hex dumps from that
software into pcap files.

svn path=/trunk/; revision=39588
2011-10-26 02:18:55 +00:00
Gerald Combs
666b58d408 From Huzaifa Sidhpurwala of Red Hat Security Response Team:
I found a heap-based buffer overflow, when parsing ERF file format.
The overflow seems to be controlled by the values read from the file, 
and hence seems exploitable to me.

svn path=/trunk/; revision=39508
2011-10-21 19:07:42 +00:00
Stig Bjørlykke
967b9086aa Removed newencap as it's unused.
svn path=/trunk/; revision=39419
2011-10-14 08:22:16 +00:00
Anders Broman
62ba07a8fc From Tobias Witek:
This patch extends the ATM parser so as to allow GPRS NS traffic encapsulated
in ATM AAL5.

Additionally, added support for this into the 'Meta' dissector.

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6447

svn path=/trunk/; revision=39394
2011-10-12 18:57:50 +00:00
Bill Meier
59e64cff77 From Robert Bullen: Fix for: Two minor bugs in Wiretap library:
First bug: The Network Instruments Observer file format abbreviation is
incorrect. It is "niobserverv" instead of "niobserver", which is probably a
vestige from 1.4 when the abbreviation was "niobserverv9".

Second bug: The packet header magic number field is correctly swapped the first
time when reading the entire packet header. It is incorrectly swapped yet again
when reporting an invalid value. Both swaps use GUINT_FROM_LE, which is a no-op
on little-endian platforms. But the error message that is displayed to users of
big-endian platforms will contain a byte-reversed value.

svn path=/trunk/; revision=39392
2011-10-12 18:04:58 +00:00
Anders Broman
6a847b1f30 From Andrew Kampjes:
Allows the saving of packets with snapped length to ERF. Prevents the adding of
automatic CRC and rounds down to the nearest 8 bytes instead of up, adding
zeros.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6409

svn path=/trunk/; revision=39247
2011-10-04 05:27:14 +00:00
Bill Meier
781129806f Fix ex "modeline" so it works;
See https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5748

svn path=/trunk/; revision=39081
2011-09-21 17:49:11 +00:00
Martin Mathieson
c5cfc416a1 Skip extra info if present (IP with LTE PDCP threading info).
svn path=/trunk/; revision=38983
2011-09-13 12:14:24 +00:00
Guy Harris
d7af4e2037 Don't synthesize a CRC if the packet already has one.
svn path=/trunk/; revision=38905
2011-09-06 23:36:18 +00:00
Stig Bjørlykke
415533faaf Check return value from wtap_dump_file_write.
This fixes CID 1272.

svn path=/trunk/; revision=38876
2011-09-03 20:47:58 +00:00
Guy Harris
6ac265b512 Merge pcap_fill_in_pseudo_header() into pcap_read_post_process().
svn path=/trunk/; revision=38844
2011-09-01 19:58:25 +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
f16a746c63 Set eth.fcs_len in the pseudo-header for Ethernet packets.
Set the pseudo-header when doing the sequential read as well as when
doing random reads.

When writing packets to a CommView file, use a slightly less contorted
way to get the year/month/day/hour/minute/second values.

commview_dump() uses the pseudo_header argument; don't mark it as
unused.

svn path=/trunk/; revision=38833
2011-09-01 04:14:54 +00:00
Guy Harris
30ec5387fa Not ideal, but OK for now - alignbytes, at that point, is < 8, so we
know it'll fit in a gint16.  (alignbytes really shouldn't need to be 64
bits, as if we have 2^63-1 bytes of alignment, We Have A Problem; fixing
that may involve calculating it differently earlier in that routine.)

svn path=/trunk/; revision=38828
2011-08-31 22:22:40 +00:00
Stig Bjørlykke
ff32408b0a Try using gint64 for alignbytes.
svn path=/trunk/; revision=38827
2011-08-31 21:16:18 +00:00
Stig Bjørlykke
141a830b9f From Andrew Kampjes via bug 6260:
Added support for saving ERF files.

From me:
Use crc routines from libwsutil.

svn path=/trunk/; revision=38826
2011-08-31 20:50:15 +00:00
Guy Harris
9756ac2904 Handle multiple extension headers when calculating the pseudo-header
length, and actually write out the extension headers when writing out
the pseudo-header.

Fixes bug 6265.

svn path=/trunk/; revision=38792
2011-08-30 08:09:40 +00:00
Guy Harris
4486bb9d85 A zero snaplen means "snaplen unknown", as in "the file format from
which we read the data to be written doesn't record the snapshot
length".  A snapshot length of 0 in a pcap or pcap-ng file is not
handled well by many programs reading those files; for pcap files, we
write out WTAP_MAX_PACKET_SIZE as the snapshot length in that case, so
do so for pcap-ng files as well.

svn path=/trunk/; revision=38790
2011-08-30 06:01:44 +00:00
Jeff Morriss
339136d1d0 Based on patch from Denis Ovsienko via
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6244 :

Fix typo: s/unkown/unknown/

svn path=/trunk/; revision=38561
2011-08-16 13:16:33 +00:00
Jeff Morriss
613ddfa1cc From Hanspeter via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6229 :
If an EnhancedPacketBlock in a pcapng file contains a comment option the
content isn't displayed. Instead "Malformed packet" is displayed with the
reason Exception occurred.

The reason for the problem is a bug in the pcapng.c, where for enhanced packet
blocks, interface description blocks and interface statistics blocks the wrong
union members are used to set the comment. This way required fields in the
structures are overwritten.

The attached patch solves the problem.

svn path=/trunk/; revision=38491
2011-08-11 21:42:37 +00:00
Martin Mathieson
fe28dc854a Speed up (slightly) reading of long text lines.
svn path=/trunk/; revision=37989
2011-07-12 10:49:22 +00:00
Guy Harris
4c4b8f8891 Move the definitions of LANalyzer records to lanalyzer.c.
Use LA_RecordHeaderSize rather than sizeof, to squelch some compiler
complaints.

svn path=/trunk/; revision=37956
2011-07-10 22:57:59 +00:00
Guy Harris
5e5b778a67 Define a structure for the record header, and read into that, and then
extract values from it.

svn path=/trunk/; revision=37954
2011-07-10 22:10:07 +00:00
Guy Harris
41d53a1635 At that point in the code, bytes_read isn't the total number of record
header bytes read, as we're reading the two header fields separately and
checking the byte count for each read.  We *do*, however, know that the
record header is 4 bytes long, so we can just seek back 4 bytes.

svn path=/trunk/; revision=37953
2011-07-10 21:05:19 +00:00
Martin Mathieson
ece553d8d0 Change the way we scan past characters before the direction indicator.
svn path=/trunk/; revision=37940
2011-07-08 16:08:32 +00:00
Guy Harris
e02cd7707d Explain a bit more what this does.
svn path=/trunk/; revision=37884
2011-07-04 01:39:13 +00:00
Stig Bjørlykke
8443bbbf75 Replace all strerror() with g_strerror().
Remove our local strerror implementation.
Mark strerror as locale unsafe API.

This fixes bug 5715.

svn path=/trunk/; revision=37812
2011-06-28 09:00:11 +00:00
Gerald Combs
8d88f3a790 Make pcap-ng the default. Add a compile-time option to prefer pcap-ng or
pcap.  Add a "-P" capture option which tries to use pcap instead of
pcap-ng ("-P" seemed to be the best option but we may want to use a
different letter).

Update the documentation and release notes.

svn path=/trunk/; revision=37696
2011-06-17 17:52:31 +00:00
Alexis La Goutte
3384fdecc4 From Kevin Kayes via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6026
Enhance Snoop file reader to include 10Gbit datalink value

svn path=/trunk/; revision=37683
2011-06-16 08:04:31 +00:00
Guy Harris
a8c363bd54 Try to squelch some compiler warnings.
svn path=/trunk/; revision=37673
2011-06-15 19:48:27 +00:00
Guy Harris
7758cd97f4 Squelch some compiler warnings.
svn path=/trunk/; revision=37672
2011-06-15 19:36:43 +00:00
Guy Harris
128216dfbe Strings are not writable, and the compiler warns that assigning a
pointer to a string to a non-const pointer discards qualifiers; make the
err_info member of the wtap_reader structure a const pointer.

svn path=/trunk/; revision=37671
2011-06-15 19:34:54 +00:00
Jakub Zawadzki
c54afc05e7 Fix capinfo: ** ERROR **: Unknown capture file type 61
svn path=/trunk/; revision=37643
2011-06-10 07:16:10 +00:00
Guy Harris
06256dfe5b The only place where we care about zlib is file_wrappers.c; include
<zlib.h> there, rather than wtap-int.h.  That obviates the need to
include config.h earlier in ascend_scanner.l; revert the previous
change, so we don't require a version of Flex that supports %top.

svn path=/trunk/; revision=37640
2011-06-09 22:46:00 +00:00
Jakub Zawadzki
110f2c4ef7 Fix possible compilation errors.
svn path=/trunk/; revision=37638
2011-06-09 22:01:57 +00:00
Jakub Zawadzki
178def67b7 - Add something to columns when using mime-encap
- Replace decoders in wiretap/CMakeLists.txt

svn path=/trunk/; revision=37637
2011-06-09 21:37:19 +00:00
Jakub Zawadzki
a723874490 - Replace jpeg_jfif decoder, with more generic mime_file (no more 64KB limit!).
- Add new dissector packet-mime-encap which understands mime_file fragmentation.

svn path=/trunk/; revision=37636
2011-06-09 21:21:06 +00:00
Gerald Combs
a47485acd9 Move the copyright notice and the config.h include to the top of the
file so that we have the proper definitions in place for large file
support on Solaris (bug 6102).

svn path=/trunk/; revision=37635
2011-06-09 21:13:40 +00:00
Gerald Combs
04f147f4fa Make sure we don't write invalid record lengths.
svn path=/trunk/; revision=37634
2011-06-09 18:31:39 +00:00
Gerald Combs
2eff7bab66 Limit the lengths of some of our patterns. Fixes an infinite loop found
when trying to read a TPNCP data file.

svn path=/trunk/; revision=37625
2011-06-08 20:58:44 +00:00
Bill Meier
2841028cf2 Fix gcc 4.6 "set but not used [-Wunused-but-set-variable]" warning.
svn path=/trunk/; revision=37604
2011-06-07 23:05:53 +00:00
Anders Broman
1932ff6734 Add more missing files.
svn path=/trunk/; revision=37593
2011-06-07 15:05:45 +00:00
Gerald Combs
349273944d Add links to libtool's recommendations for library versions.
svn path=/trunk/; revision=37582
2011-06-06 21:40:40 +00:00
Balint Reczey
311f9acfd5 Fix wiretap headers to allow error-free ABI dumping.
svn path=/trunk/; revision=37543
2011-06-04 21:20:57 +00:00
Balint Reczey
9fe47db306 Reorganize dumpabi targets to keep temporary files
svn path=/trunk/; revision=37540
2011-06-04 16:44:37 +00:00
Bill Meier
bf4844eb99 Fix some gcc 'old-style function definition' warnings.
svn path=/trunk/; revision=37482
2011-05-31 15:49:59 +00:00
Chris Maynard
63b50fe2ee Declare the snapshot_length as unsigned.
svn path=/trunk/; revision=37479
2011-05-31 15:27:48 +00:00
Balint Reczey
8ac6683629 Add dumpabi target to Makefiles in wsutil, epan and wiretap directories.
We can use the dumped ABI description for comparing ABI changes between revisions.

svn path=/trunk/; revision=37474
2011-05-31 12:07:25 +00:00
Anders Broman
780978a58d Remove unused varable:
iseries.c:305: warning: unused variable 'tcpformat'

svn path=/trunk/; revision=37467
2011-05-29 19:50:55 +00:00
Anders Broman
3e1baff3b5 From Martin Warnes:
This is significant update to the existing iseries wiretap module. It adds
support for IPv6 (formatted & unformatted comms traces), in addition I've
tidied up the sscanf routines to better handle traces files with offset lines.

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5957

svn path=/trunk/; revision=37466
2011-05-29 19:36:21 +00:00
Guy Harris
592f0ba6da Declare wtap_dump_has_name_resolution().
svn path=/trunk/; revision=37215
2011-05-17 22:17:04 +00:00
Michael Tüxen
a385b7c9f3 * Don't declare a used arg as unused.
* Really clear the EOF flag. This fixes a bug where
  tshark is not able to do a live capture from a pcapng
  file.

svn path=/trunk/; revision=37207
2011-05-17 19:51:55 +00:00
Gerald Combs
14a9ef9cb2 From Huzaifa Sidhpurwala of the Red Hat Security Response Team: Fix an
integer overflow in wiretap/visual.c.

svn path=/trunk/; revision=37128
2011-05-13 17:12:44 +00:00
Gerald Combs
995d748f05 Check our original record length. Fixes a crash bug found by Huzaifa
Sidhpurwala of the Red Hat Security Response Team.

svn path=/trunk/; revision=37068
2011-05-11 22:36:59 +00:00
Michael Tüxen
eaead49183 Fix a wrong name in a debug print statement.
svn path=/trunk/; revision=37061
2011-05-11 12:51:01 +00:00
Tomas Kukosa
e3ef98c477 Export wtap_fstat()
svn path=/trunk/; revision=37059
2011-05-11 07:31:18 +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
2ca5312b64 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=37053
2011-05-10 20:17:31 +00:00
Guy Harris
f4a752873f Note that compressed Windows Sniffer files might have a CRC, just not
one computed the right way (as specified by RFC 1952).

svn path=/trunk/; revision=37032
2011-05-09 17:53:45 +00:00
Guy Harris
3de2b1be74 Get rid of the fd member of a wth structure; the FILE_T's in that
structure include a file descriptor.  Add a wtap_fstat() for the file
readers that use file times to generate time stamps (we really need a
way to say "this file has no time stamps" or "this file has only
relative time stamps).

svn path=/trunk/; revision=37026
2011-05-09 08:12:26 +00:00
Guy Harris
88a1ed85e3 From Jakub Zawadzki: for file read progress bars, use the raw offset in
the file, rather than the offset in the uncompressed data stream.  That
way we don't get the "hey, we're more than 100% into the file, better
refigure this" surprise.

svn path=/trunk/; revision=37025
2011-05-09 05:30:59 +00:00
Guy Harris
42ba70cf9c If a gzipped file's name ends in .caz, don't check the CRC - it's
probably a compressed file from the Windows Sniffer, and they don't
bother setting the CRC.

svn path=/trunk/; revision=37024
2011-05-09 03:48:41 +00:00
Guy Harris
306711b634 Note what NetMon 3 actually uses various types for.
For the ones that are used for raw IP, use WTAP_ENCAP_RAW_IP.  (Yes,
NetMon checks for v4 vs. v6 for all of them.)

svn path=/trunk/; revision=36975
2011-05-03 09:14:56 +00:00
Guy Harris
99c6704109 Set the pseudo-header regardless of whether we have a trailer or not.
svn path=/trunk/; revision=36974
2011-05-03 08:49:41 +00:00
Guy Harris
59dc3f3141 It appears that, in NetMon 802.11 captures, management frames have an
FCS and data frames don't have an FCS; I don't know about control
frames.

svn path=/trunk/; revision=36973
2011-05-03 08:22:25 +00:00
Guy Harris
3c06dfc751 Squelch a compiler warning - but note, in a comment, a real problem the
warning points out.

svn path=/trunk/; revision=36972
2011-05-03 05:50:30 +00:00
Guy Harris
491fe27a20 Fix indentation (tab stops are not guaranteed to be every 4 spaces).
svn path=/trunk/; revision=36971
2011-05-03 05:28:39 +00:00
Guy Harris
c0dc916adc From Tom Brezinski - fix for bug 5869:
This patch incorporates the following fixes from the patch attached to
bug 5671 with changes as noted below:

1.) Files where the packet header and packet data are noncontiguous are
handled improperly, resulting in read misalignment and ultimately the
error message, "Observer: bad record: Invalid magic number 0xXXXXXXXX."
This bug is caused by not obeying the packet_entry_header.offset_to_frame
field.

2.) Daylight savings time is not properly accounted for in files using
local time encoding.

3.) As of Observer/GigaStor v13.10 (bug 5671 incorrectly stated v14),
timestamps in the file format changed from local time encoding to GMT
encoding.  Wiretap has been changed to support reading both formats. 
Patch submitted with bug 5671 added a separate file type to allow
writing local format.  This patch does not add the separate file type
and always writes GMT.

4.) The wtap_dumper.bytes_dumped field is not being properly incremented
as data is written to files.

This patch also incorporates the following additional enhancements /
fixes not in bug 5671:

1.) Support for reading BFR files which contain Fibre Channel captures. 
Test file Fibre_Channel_Capture.bfr attached.

2.) Support for modified file header used in upcoming v15.  New header
file format takes an unused byte from the version string to allow for a
larger offset to the first packet to be specified.  Test file
V15_Lrg_Hdr_Test.bfr is attached, it is also a fuzz test as the number
of TLV items given in the header is less then the actual.

3.) It was found that if the number of TLV items given in the header was
larger then present it would fail to open the file.  Test file
V9_Num_TLVs_Too_Big.bfr is attached.

svn path=/trunk/; revision=36970
2011-05-03 05:26:10 +00:00
Jakub Zawadzki
229adbc1e5 configure: remove test for gzclearerr (not used anymore), add test for inflatePrime.
svn path=/trunk/; revision=36949
2011-04-29 07:49:55 +00:00
Anders Broman
a663d91ca6 From Hans-Christoph Schemmel:
A variant of 3GPP TS 27.010 multiplexing protocol dissector.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5829

svn path=/trunk/; revision=36927
2011-04-28 05:36:26 +00:00
Bill Meier
4e782042de #include <stdlib.h> not needed;
use consistent indentation.

svn path=/trunk/; revision=36921
2011-04-28 01:07:43 +00:00
Bill Meier
856254da59 From Yaniv Kaul: some 'set but not used' compilation fixes;
From me:
 - #include <stdlib.h> not needed;
 - Use consistent indentation;
 - use #if 0/#endif to comment out code rather than /* */

svn path=/trunk/; revision=36884
2011-04-27 03:45:19 +00:00
Bill Meier
f4323af2b2 Based upon a patch from Yaniv Kaul: Comment out unused assignmeent/variables;
From me:
  - remove unneeded #include <stdlib.h>;
  - fix some indentation;
  - use #if 0/#endif rather that /* */ to comment out some code

svn path=/trunk/; revision=36883
2011-04-27 03:13:08 +00:00
Guy Harris
f7390f0ea9 *Properly* get rid of bogus cast.
svn path=/trunk/; revision=36791
2011-04-22 03:27:40 +00:00
Guy Harris
7c378ed025 Cast away alignment warnings about pointers where we never actually
directly dereference pointers to the field members.

Get rid of an unnecessary cast that provokes warnings.

svn path=/trunk/; revision=36789
2011-04-22 03:12:18 +00:00
Guy Harris
8260657dfd Cast away warnings about "struct sockaddr" -> "struct sockaddr_XXX"
casts that are actually safe.

svn path=/trunk/; revision=36788
2011-04-22 03:11:14 +00:00
Guy Harris
c317a1c3cd Make all the fields in the various structures just arrays of bytes, so
we can cast not-necessarily-aligned pointers to pointers to those
structures without risk of compiler warnings *or* the underlying problem
the compiler's trying to warn us about (no, you can't always dereference
an unaligned pointer - SPARC traps, and at least some ARM processors may
do something other than what you want, for example).

This also caught some cases where we were not even properly
byte-swapping on big-endian platforms.

This also lets us not muck around with splitting 64-bit times into two
32-bit fields - we have pletohll(), after all.

svn path=/trunk/; revision=36787
2011-04-22 03:10:22 +00:00
Guy Harris
3edd2b5b0d In a dump_open routine, you don't need to seek to the beginning of the
file before doing any writes - it starts out at the beginning of the
file.  This means that you *can* write a Network Instruments capture
file to a pipe, or write it out in compressed form, now that its
dump_open routine no longer seeks.

NetXRay format and K12 binary format, however, *do* require a seek when
writing them.

svn path=/trunk/; revision=36776
2011-04-21 18:33:20 +00:00
Guy Harris
140cc563c6 In file_wrappers.c, explicitly set err_info to null for all errors that
don't have an "additional information" string.

Get rid of WTAP_ERR_ZLIB; just report an internal error with
WTAP_ERR_INTERNAL instead.  (If they start happening, we can think about
supplying an "additional information" string for compression errors on
output.)

svn path=/trunk/; revision=36774
2011-04-21 17:51:19 +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
ff783ad1d5 Always check whether NEXT() failed - and rename it to GZ_GETC(), as it
has semantics similar to getc().

If it fails due to an EOF, set state->err to WTAP_ERR_SHORT_READ to
report a premature EOF; otherwise, raw_read() has already set
state->err, so don't set state->err to something else - that loses the
errno value in favor of a generic "bad data" error.

svn path=/trunk/; revision=36744
2011-04-20 21:36:23 +00:00
Guy Harris
c93f8694e3 Sigh. The "data" element of a GArray is, alas, a "gchar *", not a "void
*", and some compilers complain when you cast that pointer to something
requiring stricter alignment.  Maybe the intent is to nudge you into
thinking about whether the pointer really is properly aligned, but....

svn path=/trunk/; revision=36739
2011-04-20 18:04:43 +00:00
Guy Harris
0aeaa16426 pntohll() takes a guint8 * as an argument; there's no need to cast to a
guint64 *, and it causes clang to complain.

svn path=/trunk/; revision=36738
2011-04-20 17:53:11 +00:00
Michael Tüxen
034373cb86 Unbreak live capture using pcapng.
svn path=/trunk/; revision=36714
2011-04-19 13:28:17 +00:00
Chris Maynard
7f06b2e217 Wrap actual_len inside #ifdef DEBUG_K12 to avoid gcc 4.6.0 warning reported by
Kaul: http://www.wireshark.org/lists/wireshark-dev/201104/msg00170.html

svn path=/trunk/; revision=36710
2011-04-18 20:03:32 +00:00
Chris Maynard
e4c6b7d0c3 Update Motonori Shindo's email address at the author's request. Fixes bug 5840.
svn path=/trunk/; revision=36695
2011-04-18 02:16:36 +00:00
Stig Bjørlykke
bf28f7247c Mark err as unused in k12text_dump_open().
svn path=/trunk/; revision=36682
2011-04-17 17:49:02 +00:00
Guy Harris
cd1a4b036c Return ENOMEM if we run out of memory. (We're either running on UN*X,
in which case ENOMEM is the right error, or we're running on Windows but
using UN*Xy routines, in which case ENOMEM is the right error; unlike
zlib, we don't have to run on a whole pile of OSes.)

svn path=/trunk/; revision=36648
2011-04-15 07:27:03 +00:00
Tomas Kukosa
5653540de6 Export new file_...() functions from libwiretap.dll
svn path=/trunk/; revision=36640
2011-04-14 09:02:01 +00:00
Guy Harris
7fa71ab07e Check for _setmode() failing, Just In Case. Squelches some MSVC static
analyzer warnings.

Return an actual error if we're failing because we're trying to write to
the standard output in compressed mode.

svn path=/trunk/; revision=36636
2011-04-14 02:53:18 +00:00
Guy Harris
e5f767cb50 #if 0 out some unused variables; we may make use of them later, but this
keeps GCC 4.6.0 from complaining about them and failing to build with
-Werror, and may also squelch some Coverity (and other static analyzer)
complaints.

svn path=/trunk/; revision=36599
2011-04-12 18:21:05 +00:00
Guy Harris
92c974f2f7 Now that wtap_read() checks for delayed errors on EOF, there's no need
to check for it on close.

svn path=/trunk/; revision=36593
2011-04-12 17:37:05 +00:00
Guy Harris
fd96236cdf From Jakub Zawadski: some small fixes.
From me: small indentation fix (use spaces rather than tabs in all lines
in that routine).

svn path=/trunk/; revision=36591
2011-04-12 16:31:16 +00:00
Guy Harris
91e1769ac5 Update and expand some comments.
In the end-of-stream code, when we're checking the CRC and length, don't
check the CRC or length if we failed to read them, and don't check the
length if the CRC is bad.

We define O_BINARY as 0 on UN*X in <wsutil/file_util.h>, so we don't
need to avoid using it on UN*X.

In file_gets(), check for delayed errors.

svn path=/trunk/; revision=36590
2011-04-12 16:21:14 +00:00
Martin Mathieson
b76b05b75b A parameter isn't used if ZLIB isn't enabled.
svn path=/trunk/; revision=36584
2011-04-12 14:33:31 +00:00
Guy Harris
bbcb51276a If we hit an EOF - wth->subtype_read returns FALSE, but sets *err to 0 -
call file_error() to fetch any deferred error, so we report an error
rather than an "everything's OK" EOF.

svn path=/trunk/; revision=36578
2011-04-12 03:27:10 +00:00
Guy Harris
b28ee8b331 From Jakub Zawadzki: speed up random access to gzipped files, as per the
zran.c example in the zlib source.

This means that problems in the file's contents might not be reported
when a packet is read, as long as there's no problem in the contents of
the file up to the last bit of compressed data for the packet; we now
check for errors after finishing the sequential read of the file, at
least in some programs, so that shouldn't be an issue (the other
programs need to be changed to do so as well).  This is necessary in
order to be able to read all the packets we saw in the sequential pass;
it also lets us get a few more packets from truncated files in some
cases.

svn path=/trunk/; revision=36577
2011-04-12 02:40:14 +00:00
Guy Harris
e5fe0128d7 Allow wtap_sequential_close() and wtap_close() to return an error; this
may happen if, when reading a compressed file, we find an error in the
file's contents past the last packet (e.g., the file being cut short so
that we can't get a full buffer worth of compressed data), and that
reporting of that error is delayed (so that you can get all of the
packets that we *can* decompress).  Check for those errors, at least on
the sequential read pass (the only errors we should see when closing the
random stream are errors we've already seen in the sequential stream).

svn path=/trunk/; revision=36576
2011-04-12 01:36:12 +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
f5f74bed3d Use ws_open(), not open(), so we handle UTF-8 pathnames on Windows.
Update or remove some additional "we don't have ferror() in zlib"
comments to reflect the current reality.

svn path=/trunk/; revision=36568
2011-04-11 22:19:01 +00:00
Guy Harris
35c66a1745 Remove a no-longer-valid comment (we're not using zlib's I/O routines,
and the routines we're now using guarantee that an error has occured in
that case).

svn path=/trunk/; revision=36567
2011-04-11 22:11:44 +00:00
Guy Harris
b184c69559 Don't use the zlib I/O routines for writing compressed files, either;
this frees us from worrying about zlib large file issues on the write
side, and also lets us clean up a few other things.

svn path=/trunk/; revision=36563
2011-04-11 21:33:22 +00:00
Guy Harris
a6fc7f14c4 To fill in a ws_statb64, you must use ws_fstat64.
Declare ws_stdio_stat64, as that's its new name.

svn path=/trunk/; revision=36549
2011-04-10 22:04:14 +00:00
Guy Harris
4fdcc5c180 Rename ws_stat to ws_stat64, and make it take a pointer to a ws_statb64
as an argument, along the lines of ws_fstat64, and, on Windows, make it
use _wstati64, to handle 64-bit file sizes.

svn path=/trunk/; revision=36547
2011-04-10 20:59:10 +00:00
Guy Harris
0629b7399a Define ws_statb64 to be the appropriate "struct XXX" for a
64-bit-file-size-capable stat call, and use it for ws_fstat64().

svn path=/trunk/; revision=36545
2011-04-10 19:56:06 +00:00
Guy Harris
71d4caa5b9 Add ws_fstat64(), defined to be fstat on UN*X and _fstati64 on Windows.
Use it in some places where we're getting the file size.

svn path=/trunk/; revision=36544
2011-04-10 18:55:06 +00:00
Guy Harris
c349caf925 Use AC_SYS_LARGEFILE to turn on large file support on platforms that
support it.

Rename ws_lseek to ws_lseek64, as it should be given a 64-bit offset,
and have it use _lseeki64 on Windows, to try to get 64-bit offset
support; AC_SYS_LARGEFILE should cause lseek() to support 64-bit offsets
on UN*X if possible.

svn path=/trunk/; revision=36542
2011-04-10 18:22:47 +00:00
Guy Harris
f3502974a0 Point to RFC 1952 as a description of the gzip file format.
Point to pages for some other compressed file formats we might want to
support.

svn path=/trunk/; revision=36539
2011-04-10 17:01:13 +00:00
Guy Harris
f27f61ac9e Move the definition of the structure pointed to by a FILE_T into
wiretap/file_wrappers.c; nothing outside of file_wrappers.c needs to
know what it looks like, it just passes around pointers to it.

svn path=/trunk/; revision=36538
2011-04-10 16:53:32 +00:00
Guy Harris
de938dddce Just make the fh member of a wtap_dumper_t a void * for now, and, in all
calls that use it, cast it to whatever it's supposed to be.  Making it a
gzFile means you can't use any stdio macros that reach inside the
structure; making it a FILE *, as it used to be, amounts to trying to
use a FILE * as a void * if we're writing a compressed file out.

svn path=/trunk/; revision=36521
2011-04-08 17:42:20 +00:00
Anders Broman
19642f9dc0 Make wtap plugins build on windows again.
svn path=/trunk/; revision=36517
2011-04-08 15:57:44 +00:00
Guy Harris
44462adc0f Change ng_file_read() to take only one size argument - and make it an
unsigned int - to match file_read().  Shrink some arguments, variables,
and structure members appropriately.

Fix an incorrect sizeof - sizeof a pointer is the size of the pointer,
not the size of what it points to.

svn path=/trunk/; revision=36515
2011-04-08 01:57:02 +00:00
Guy Harris
f3873931ec To squelch some compiler warnings, temporarily cast the argument to
ws_lseek() to the appropriate type for the second argument to _lseek()
for Windows or lseek() for UN*X; ultimately, we want to call the
appropriate 64-bit-offset seek routine if available, otherwise cast the
value down and hand it to the 32-bit-offset seek routine.

svn path=/trunk/; revision=36514
2011-04-08 01:55:25 +00:00
Guy Harris
ab261a3281 From Jakub Zawadzki:
Steal file_wrappers functions from zlib v2.

svn path=/trunk/; revision=36513
2011-04-08 00:28:37 +00:00
Gerald Combs
56bc7f5e47 Be more picky about our sscanf integer field widths. Hopefully this will
help squelch Coverity CIDs 701-709.

svn path=/trunk/; revision=36511
2011-04-07 23:16:05 +00:00
Guy Harris
d00527f369 From Jakub Zawadzki:
Introduce file_clearerr

	I'm unsure of this patch, 

	gzclearerr() is used to clear the end-of-file mark, but for FILE
	there's function which do the same (clearerr).

	I created test program if clearerr() is needed for tailing file. 
	and it seems to work without it (at least on Linux, so for
	!HAVE_LIBZ I commented it out).

	For now this patch introduce file_clearerr macro, and define it
	only when EOF marking must be cleared (i.e.  when HAVE_LIBZ and
	HAVE_GZCLEARERR are defined).

	So everything works like before, patch just to keep same prefix
	for file interface :)

svn path=/trunk/; revision=36510
2011-04-07 21:53:31 +00:00
Guy Harris
f73c579d55 From Jakub Zawadzki:
file-wrappers.[ch] is used only for reading files, and mode is always
"rb".

Attached patch removes 'mode' argument from file_open() & filed_open().

svn path=/trunk/; revision=36493
2011-04-06 07:09:56 +00:00
Guy Harris
7fa6d929cf From Jakub Zawadzki: fix the type of an argument.
svn path=/trunk/; revision=36492
2011-04-06 06:59:19 +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
Chris Maynard
9e49109b28 Check return value of file_seek(). Fixes CID 338.
svn path=/trunk/; revision=36425
2011-03-31 18:28:52 +00:00
Chris Maynard
b92bf3b06c Use BSWAP16 instead of BSWAP32 for 16-bit values. Fixes CID's 1179 and 1180.
svn path=/trunk/; revision=36422
2011-03-31 16:46:16 +00:00
Jeff Morriss
607d944d02 Don't put a 196808 byte variable on the stack: instead, malloc/free it.
Coverity 789-790.

Since we've been keeping track of how many bytes we put in the buffer,
use that value instead of calling strlen() find it again.

Also, some white space/indentation cleanup.

svn path=/trunk/; revision=36397
2011-03-29 14:29:45 +00:00
Jeff Morriss
ce392b5764 Don't put a 65536 byte variable on the stack: instead, malloc/free it.
Coverity 791-794.

Also, some white space/indentation cleanup.

svn path=/trunk/; revision=36394
2011-03-29 14:05:28 +00:00
Guy Harris
173708364c More updates to the wtap_open_offline() comment.
svn path=/trunk/; revision=36384
2011-03-28 17:23:06 +00:00
Anders Broman
08f71f1232 Update a comment.
svn path=/trunk/; revision=36376
2011-03-28 13:09:47 +00:00
Stig Bjørlykke
a39c0d9577 Added a missing break.
Coverity 492.

svn path=/trunk/; revision=36356
2011-03-27 13:15:14 +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
Anders Broman
f14e039375 Make it build on Windows 7
(pcapng.c(1817) : warning C4267: '=' : conversion from 'size_t' to 'gint', possible loss of data)

svn path=/trunk/; revision=36325
2011-03-25 06:42:59 +00:00
Gerald Combs
1cc613c32d Add a missing include.
svn path=/trunk/; revision=36321
2011-03-24 23:33:38 +00:00
Gerald Combs
fcf51fc73b Add initial pcapng name resolution record support. Wireshark has read
support; TShark has read+write support. Additionally TShark can read a
"hosts" file and write those records to a capture file.

This uses "struct addrinfo" in many places and probably won't compile on
some platforms.

svn path=/trunk/; revision=36318
2011-03-24 22:47:57 +00:00
Guy Harris
423e428441 Use the same style in netscreen_seek_read() that we use in
netscreen_read(), checking the return value of
parse_netscreen_hex_dump() against -1 and explicitly returning FALSE if
it's -1, otherwise driving on.

svn path=/trunk/; revision=36237
2011-03-22 07:42:45 +00:00
Sake Blok
5a1cdb5754 Fix for bug 5762, wireshark asserts on reading juniper snoop output when no hex data is present (snoop detail off).
svn path=/trunk/; revision=36232
2011-03-21 22:04:22 +00:00
Martin Mathieson
f558138026 Avoid having large buffers on the stack (as noted in VS Code Analyzer warnings).
svn path=/trunk/; revision=36202
2011-03-16 22:53:41 +00:00
Bill Meier
16b528aaf1 From Martin Kaiser: dissector for DVB-CI (Common Interface)
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5654

From me:
- Entry for DVBCI added to wtap.c encap_table_base[];
- Some code simplification with respect to the use of col_...() for COL_INFO;
- Certain tests for "enough bytes available" not really needed;
- (Other minor tweaks);
- #include<stdio.h> not req'd;
- Minor reformatting and whitespace cleanup;


svn path=/trunk/; revision=36149
2011-03-07 02:22:48 +00:00
Bill Meier
0d7508cf8e From Robert Bullen: ... code is not incrementing wtap_dumper.bytes_dumped.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5666

Fro me: use 4 -space indentation (not tab) to match surrounding code lines.

svn path=/trunk/; revision=36074
2011-02-25 20:33:43 +00:00
Bill Meier
39c2e1f71d From Robert Bullen: Fix "Potential access violation when writing to LANalyzer files"
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5698

(Note from me: Before the fix "File ! Save As" in Lanalyzer format
                crashed quite consistently on my Windows 7)

svn path=/trunk/; revision=36061
2011-02-25 00:40:22 +00:00
Bill Meier
3dc7697930 Revert SVN #36059; patch from Bug #5698 to be used instead
svn path=/trunk/; revision=36060
2011-02-25 00:26:37 +00:00
Bill Meier
60817fb9a1 Fix Bug #5698: "Potential access violation when writing to LANalyzer files"
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5698

Note: before fix
 File ! SaveAs  in Lanalyzer format crashed quite consistently on Windows.

svn path=/trunk/; revision=36059
2011-02-25 00:15:34 +00:00
Guy Harris
965ecf3056 Return an error value for the new error return; it "can't happen" (but
either the VC++ analyzer can't determine that or it *can*, in fact,
happen).  Pick an error code that's not too far off.

svn path=/trunk/; revision=35957
2011-02-16 02:21:31 +00:00
Guy Harris
59f65ab815 Check the index before storing into the array.
svn path=/trunk/; revision=35956
2011-02-16 02:16:12 +00:00
Gerald Combs
b2d28ce435 Fix checkapi.
svn path=/trunk/; revision=35955
2011-02-16 01:28:29 +00:00
Gerald Combs
8af7080001 Fix errors found by the Visual C++ analyzer.
svn path=/trunk/; revision=35954
2011-02-16 00:44:12 +00:00
Gerald Combs
f3bbbce5e3 Fix a buffer overflow found by the Visual C++ analyzer.
svn path=/trunk/; revision=35953
2011-02-16 00:42:06 +00:00
Guy Harris
a595f69ce4 The lack of _WITH_PHDR in WTAP_ENCAP_BLUETOOTH_H4 means there's no
pseudo-header, and hence there's no direction indication. Don't set
pinfo->p2p_dir for it.  Use WTAP_ENCAP_BLUETOOTH_H4_WITH_PHDR, not
WTAP_ENCAP_BLUETOOTH_H4, for capture files where we have the direction.

Don't assume pinfo->p2p_dir is either P2P_DIR_SENT or P2P_DIR_RECV when
setting the info column in various Bluetooth dissectors; it might be
unknown.

In the HCI H4 dissector, put the direction into the info column
regardless of whether we have a type match or not; the dissectors for
HCI packet types appear to assume it's been set (as they put a blank at
the beginning of the stuff they append to the direction).

svn path=/trunk/; revision=35933
2011-02-12 19:59:41 +00:00
Guy Harris
d63741d566 Add some information based on a Tektronix manual whose name popped up in
an email I found when looking for some other stuff and which I then
found with a Google search.

svn path=/trunk/; revision=35898
2011-02-10 18:27:39 +00:00
Gerald Combs
6e66cae876 Check for a large packet_len. Fixes a bug reported by Huzaifa
Sidhpurwala of the Red Hat Security Response Team.

See also: bug 5661.

svn path=/trunk/; revision=35855
2011-02-07 19:39:05 +00:00
Guy Harris
f5bfa67b11 Set the error code and additional information string in more cases.
svn path=/trunk/; revision=35809
2011-02-04 09:45:39 +00:00
Guy Harris
4849599a13 Set *err before *err_info - that's how it's done in most other modules.
svn path=/trunk/; revision=35807
2011-02-04 08:10:08 +00:00
Guy Harris
52638933cb Set *err before *err_info - that's how it's done in most other modules.
svn path=/trunk/; revision=35806
2011-02-04 08:09:35 +00:00
Guy Harris
5399384c29 Set *err before *err_info - that's how it's done in most other modules.
svn path=/trunk/; revision=35805
2011-02-04 08:09:17 +00:00
Guy Harris
79b01c78be Fix indentation.
svn path=/trunk/; revision=35804
2011-02-04 08:07:50 +00:00
Guy Harris
17d1226a56 Put more data into the "additional error information" messages.
Get rid of debugging printouts that are equivalent to the "additional
error information" messages.

Return additional error info for all WTAP_ERR_BAD_RECORD errors.

svn path=/trunk/; revision=35800
2011-02-04 02:24:33 +00:00
Jeff Morriss
84af13f080 (As in the Windows builds) don't have checkapi check the 'abort' group in wiretap.
svn path=/trunk/; revision=35797
2011-02-04 02:10:15 +00:00
Jeff Morriss
1587ac63d8 Use g_strdup() instead of strdup()
svn path=/trunk/; revision=35796
2011-02-04 02:08:47 +00:00
Gerald Combs
0c9649929e From Huzaifa Sidhpurwala of the Red Hat Security Response Team: Don't
free uninitialized memory.

See also: bug 5652.

svn path=/trunk/; revision=35791
2011-02-03 22:50:49 +00:00
Jaap Keuter
9e367f5cff From njohnkev:
Add support for LAPD data link type.

svn path=/trunk/; revision=35771
2011-02-02 22:49:40 +00:00
Bill Meier
d3efa3ed9f A bit of Windows makefiles rework and cleanup:
- Define macros for certain CFLAGS in config.nmake iso of having defs in each makefile;
  a. -DHAVE_CONFIG_H and -D_U_="" are now part of a macro named STANDARD_CFLAGS;
  b. -WX has been replaced by WARNINGS_ARE_ERRORS (defined as -WX in config.nmake)
      (This allows disabling "Warnings as Errors" by just changing config.nmake)
  c. CVARSDLL definitions (not usage) have been removed from the various makefiles.
     XXX: It appears the usage of CVARSDLL can also be removed (not yet done) since:
     -DWIN32 and -DNULL=0 do not appear to be needed (any more);
     -D_MT and _D_DLL  are not needed since /MP causes these definitions.
  d. Define a macro WARNINGS_CFLAGS with additional specific compiler (level4) warnings to be enabled.
     E.G., 4295: array is too small to include a terminating null character
- config.nmake: reformat some long lines for readability;
- plugins\Makefile.nmake: clean-deps does nothing: remove it (and usage in top-level makefile);
- dissectors/Makefile.nmake: test to enable packet-rrc.obj target needs to include MSVC2010 ...

svn path=/trunk/; revision=35747
2011-02-02 01:19:53 +00:00
Martin Mathieson
9ca092db13 Return a string (even though abort is called first) to pacify gcc.
svn path=/trunk/; revision=35724
2011-01-31 16:38:40 +00:00
Bill Meier
7f0107220d Fix various instances of "unreachable code".
svn path=/trunk/; revision=35713
2011-01-30 23:27:57 +00:00
Stephen Fisher
fc7b0c019b Fix the dead initialization warnings found by clang's static analysis
("Value stored to 'xxx' during its initialization is never read")


svn path=/trunk/; revision=35598
2011-01-20 18:56:11 +00:00
Martin Mathieson
7a0f12239c Support FP_R8 over ATM, plus a couple of other tidying-ups.
svn path=/trunk/; revision=35373
2011-01-05 14:36:48 +00:00
Guy Harris
a22e640a8d We must always return an error code on an error; otherwise, our caller
will see random crap as the error code.

However, if we're skipping a "TCPIPTRACE-W-BUFFERSFUL" error, if the
"error" we get is an end-of-file indication, that's *not* an error.

It is, however, ultimately a "we dropped some packets" indication; add a
comment noting that we should eventually treat it as such.

svn path=/trunk/; revision=35337
2011-01-03 09:17:20 +00:00
Guy Harris
c8fd1ca472 It is not guaranteed that the records in numerical (frame table) order
will be in sequential (byte offset) order in the file; don't treat the
record offset going backwards as an error.

svn path=/trunk/; revision=35291
2010-12-28 20:32:58 +00:00
Stephen Fisher
a7c89cdfd6 Fix bug #5509: CommView file format now uses reserved bytes and adds a
new use for the direction field per:

  http://www.tamos.com/htmlhelp/commview/logformat.htm

Add basic support for new fields and don't reject files that fit the new
format.


svn path=/trunk/; revision=35234
2010-12-20 23:34:14 +00:00
Jaap Keuter
7e16ec5b99 Prepare for handling DLT_IPV4 and DLT_IPV6.
svn path=/trunk/; revision=35223
2010-12-19 18:46:08 +00:00
Jeff Morriss
fb83d1bba8 Fill out libwiretap's DEPENDENCIES line with the rest of the dependencies (from LIBADD).
svn path=/trunk/; revision=35146
2010-12-07 14:28:28 +00:00
Balint Reczey
8b4573f705 Make libtool export only symbols listed in *.def files
svn path=/trunk/; revision=35145
2010-12-07 13:38:15 +00:00