Commit graph

1878 commits

Author SHA1 Message Date
Gerald Combs
a0c9661fa5 There doesn't appear to be a way to convey the message "This library is
under development. Maybe you should use a stable version." via the
version number. Use the next best thing and set each number to zero.

svn path=/trunk/; revision=43073
2012-06-04 18:33:21 +00:00
Anders Broman
cd7c20c9d9 Try to squelch warnings
svn path=/trunk/; revision=43000
2012-06-02 15:32:34 +00:00
Anders Broman
19507efa88 Try to squelch warnings
svn path=/trunk/; revision=42999
2012-06-02 14:56:18 +00:00
Anders Broman
2bc42dc547 Try to squelch warnings
svn path=/trunk/; revision=42998
2012-06-02 14:13:14 +00:00
Guy Harris
ca28647268 Export those file_ routines that Wiretap plugins would use (others
should only be used inside Wiretap).

svn path=/trunk/; revision=42986
2012-06-01 19:05:28 +00:00
Guy Harris
e51c05a836 TShark doesn't need wtap_fdreopen(), as it doesn't do saves and thus
doesn't do safe saves, so wtap_fdreopen() always needs to reopen the
random file descriptor.

At the point where a safe save is done, the sequential read is done, so
the sequential stream is closed; there's no need to reopen it.

(The former fourth argument to wtap_fdreopen() wasn't an indication of
whether the file was compressed, it was an indicationof whether the
random stream should be reopened.)

svn path=/trunk/; revision=42977
2012-06-01 16:55:10 +00:00
Guy Harris
b8646937d4 Move wtap_fdreopen() to file_access.c for now, as it requires many of
the same #includes.

svn path=/trunk/; revision=42963
2012-06-01 08:45:39 +00:00
Guy Harris
5f4a8a8c32 Need fcntl.h for the O_ #defines on Windows.
svn path=/trunk/; revision=42962
2012-06-01 08:33:25 +00:00
Guy Harris
129c881fcf Sigh. There appears to be no way to get Windows to allow us to rename a
file that we ourselves have open.  In the "safe save" code path for
capture files, on Windows temporarily close the file descriptors for the
currently-open capture before doing the rename and then, if the rename
failed, reopen them, leaving the rest of the wtap and capture_file
structures intact.

Rename filed_open() to file_fdopen(), to make its name match what it
does a bit better (it's an fdopen()-style routine, i.e. do the
equivalent of an open with an already-open file descriptor rather than a
pathname, in the file_wrappers.c set of routines).

Remove the file_ routines from the .def file for Wiretap - they should
only be called by code inside Wiretap.

Closing a descriptor open for input has no reason to fail (closing a
descriptor open for *writing* could fail if the file is on a server and
dirty pages are pushed asynchronously to the server and synchronously on
a close), so just have file_close() return void.

svn path=/trunk/; revision=42961
2012-06-01 08:05:12 +00:00
Guy Harris
e954e00926 Interface lists currently have to be constructed in the open routine
(otherwise, nobody sees them); do so.

Fix some cases where we weren't doing the proper post-processing after
doing the heuristics for format changes that didn't involve magic-number
changes (discovered because constructing the interface list is now being
done as part of that post-processing).

Fixes bug 7287.

svn path=/trunk/; revision=42872
2012-05-28 00:43:13 +00:00
Guy Harris
a66097145d Clean up indentation (remove tabs from one structure definition).
svn path=/trunk/; revision=42869
2012-05-27 23:41:03 +00:00
Guy Harris
bd5060b836 vwr_read_rec_header()'s return value is used only to distinguish success
(read a record header) from failure (got an EOF or an error).  Make it
just return a Boolean.

If it fails in vwr_read(), don't overwrite *err_info (yes,
vwr_read_rec_header() might have set *err_info, so don't lose - and
leak! - the value it returned) - trust vwr_read_rec_header(), or the
routines it calls, to have set it.  (If there's a code path where that
doesn't happen, that code path needs to be fixed; the setting of
*err_info in vwr_read() should *not* be restored.)

Thanks to Evan Huus for finding a useless variable with cppcheck, and
reporting it in bug 7295, provoking me to look at this.

svn path=/trunk/; revision=42865
2012-05-27 20:40:09 +00:00
Chris Maynard
b2f2e1a675 In ns_hrtime2nsec(), cast "val" to guint64 to fix Coverity CID 702389 Unintentional integer overflow.
svn path=/trunk/; revision=42846
2012-05-25 02:04:29 +00:00
Anders Broman
8a62ebc28d From Stephen Donnelly:
Add frame.interface_id support for pcap DLT_ERF file format

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

svn path=/trunk/; revision=42824
2012-05-24 09:24:05 +00:00
Guy Harris
cf6d9841e3 Keep track, in Wiretap, of whether the file is compressed, and provide
an API to fetch that.

When doing "Save" on a compressed file, write it out compressed.

In the Statistics -> Summary dialog and in capinfos, report whether the
file is gzip-compressed.

svn path=/trunk/; revision=42818
2012-05-24 05:05:29 +00:00
Anders Broman
00ba6b0dc5 From Stephen Donnelly:
Add frame.interface_id support for ERF file format

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

svn path=/trunk/; revision=42807
2012-05-23 06:41:37 +00:00
Guy Harris
e6a57c8e93 In Windows, in the Save As and Export Selected Packets dialog, append
the default extension for the file type iff

	the file type we're using has a list of extensions;

	the file has no extension or it has one but it's not one of the
	ones in the list.

*Don't* expect a file extension to be at most 5 characters plus the dot
- the extension for pcap-ng, our default capture file type, is "pcapng",
and that's 6 characters!

svn path=/trunk/; revision=42800
2012-05-23 03:05:17 +00:00
Jakub Zawadzki
63d6b6bf2a Z_BLOCK was added in zlib-1.2.0.5
Pass Z_NO_FLUSH to inflate() when Z_BLOCK is not defined,
just in case also disable fast seeking when it's not defined.

References: http://www.wireshark.org/lists/wireshark-dev/201205/msg00145.html 

svn path=/trunk/; revision=42714
2012-05-19 13:27:43 +00:00
Gerald Combs
bdb614e264 Fix a bunch of uninitialized variables found by Coverity Scan. CIDs
702403, 702404, 702405, 702406, 702407, 702408, 702409, 702410, 702411,
and 702412.

svn path=/trunk/; revision=42658
2012-05-16 16:29:12 +00:00
Gerald Combs
88ae29c149 Use "%parse-param" instead of a global variable. Fixes a scan-build
warning.

svn path=/trunk/; revision=42578
2012-05-11 17:15:12 +00:00
Guy Harris
1fc695a022 Directly calculate the time stamp based on the offset in the stream from
the first bit in the stream.  This prevents accumulated truncation
errors.

Get the seek offset from file_tell().

svn path=/trunk/; revision=42436
2012-05-05 02:52:41 +00:00
Guy Harris
c7ee2fb1e3 Clean up indentation.
svn path=/trunk/; revision=42427
2012-05-04 21:18:01 +00:00
Guy Harris
9bad4b330d ng_file_seek_rand() is supposed to return a Boolean; make it do so.
svn path=/trunk/; revision=42424
2012-05-04 17:18:15 +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
ba78859f64 Fix comments.
svn path=/trunk/; revision=42413
2012-05-04 05:43:48 +00:00
Guy Harris
739f7c2f1d Get rid of declaration of non-existent routine.
svn path=/trunk/; revision=42412
2012-05-04 05:42:42 +00:00
Guy Harris
9467af6931 Make everything static that doesn't need to be exported.
svn path=/trunk/; revision=42409
2012-05-04 02:35:12 +00:00
Guy Harris
daa7f8851e Fix indentation.
svn path=/trunk/; revision=42408
2012-05-04 02:16:51 +00:00
Guy Harris
ecacaacbe2 Add a file_skip() routine to skip N bytes forward in the file - it's
currently just a wrapper around file_seek(), but could be implemented by
reading forward if, for example, we add support for reading
(sequentially only!) from a pipe.

Sort the declarations of file-reading routines into one block.

svn path=/trunk/; revision=42391
2012-05-02 21:25:48 +00:00
Guy Harris
e1ee9ca907 Put all the comments about the "don't check the CRC" flag together, and
expand the resulting comment a bit.

svn path=/trunk/; revision=42390
2012-05-02 21:11:28 +00:00
Guy Harris
0275247b97 Use WTAP_ENCAP_IEEE_802_11_xxx for all the "802.11 plus radio header"
encapsulations.

For pre-V9 AiroPeek captures, leave the radio information in the packet
data, just as we do with the Prism, AVS, radiotap, and NetMon headers. 
Add a dissector for it.

svn path=/trunk/; revision=42379
2012-05-02 03:11:00 +00:00
Guy Harris
7ed15c8deb Remove unnecessary null-pointer check.
svn path=/trunk/; revision=42376
2012-05-01 22:29:08 +00:00
Chris Maynard
73f3d23999 Fix 2 redundant redeclaration warnings and a bug where logical AND (&&) was incorrectly used where bit-wise AND (&) was meant.
svn path=/trunk/; revision=42373
2012-05-01 02:47:52 +00:00
Guy Harris
4021d7c5ea Add ".dmp" as a suffix for pcap files of various flavors. Add ".ntar"
as a suffix for pcap-ng files.

svn path=/trunk/; revision=42330
2012-04-29 02:49:17 +00:00
Guy Harris
3684bb31a0 Remove _U_ from arguments that are actually used.
Fix a comment.

svn path=/trunk/; revision=42311
2012-04-28 16:05:18 +00:00
Guy Harris
a59e931733 If xml_get_int() fails, bail immediately; don't use the variable it
would have filled in had it not failed.  (Thanks and a tip of the Hatlo
hat to the Clang static analyzer for complaining about this.)

svn path=/trunk/; revision=42306
2012-04-28 03:07:04 +00:00
Guy Harris
d6e5b20bf2 Get rid of some unnecessary assignments, to remove warnings from the
Clang static analyzer.

svn path=/trunk/; revision=42304
2012-04-28 02:01:40 +00:00
Guy Harris
781891bd7b Remove duplicate comment.
svn path=/trunk/; revision=42270
2012-04-26 16:30:33 +00:00
Guy Harris
c0cdd900fc Add a pcoreytohll() macro to extract "Corey-endian" 64-bit quantities,
and use it.

Fix some comments.

svn path=/trunk/; revision=42269
2012-04-26 16:27:03 +00:00
Guy Harris
a3ce72529c Use the pletohXX macros when fetching little-endian values.
svn path=/trunk/; revision=42256
2012-04-26 08:57:33 +00:00
Guy Harris
c7575ff095 Put the pseudo-header information for Veriwave packets into the buffer
in little-endian byte order, as that's what the dissector expects.  Add
a pletohl() macro for that purpose.

Fix comments (the Veriwave code is *not* writing data to a file!) and
clean up indentation.

svn path=/trunk/; revision=42255
2012-04-26 08:45:48 +00:00
Guy Harris
d4d080e1a1 Use pntohs(), pntoh24(), and pntohl() to fetch big-endian data from the
headers.

Fix some indentation.

svn path=/trunk/; revision=42252
2012-04-26 05:07:53 +00:00
Guy Harris
1e6eaee16c Global variables considered harmful. Move all the per-capture-file
global variables into a structure that's attached to the wtap_t as
private data, and make all the per-*packet* global variables local
variables.

svn path=/trunk/; revision=42251
2012-04-26 04:26:03 +00:00
Guy Harris
28175cbf9a Put pcapng_open() right after libpcap_open(); pcap and pcap-ng are our
native file formats, so try them first.

Move eyesdn_open() to the section for open routines for file formats
that have a magic number - EyeSDN traces all start with "EyeSDN".

svn path=/trunk/; revision=42250
2012-04-26 03:21:29 +00:00
Guy Harris
51633791a9 If you get an I/O error when looking for the FPGA version, return -1, so
we know we had a real problem with the file.  If we just get a short
read, return 0, as it means the file is probably not a VWR file.

If we get an invalid message length when reading packets (rather than
when looking for the FPGA version), return WTAP_ERR_BAD_FILE and an
"Invalid message record length" indication, not a generic fallback
"can't read the file" error.

For file_tell() errors, fetch the error code with file_error().

For file_seek() errors, use the error file_seek returned.

svn path=/trunk/; revision=42249
2012-04-26 03:06:35 +00:00
Martin Mathieson
e74d2fd9db Return 0 if doesn't match signature of vwr files.
Pointed out by Martin Kaiser in bug 7196.

svn path=/trunk/; revision=42248
2012-04-25 22:54:45 +00:00
Anders Broman
71780ae952 Add wtap_dump_fdopen_ng
svn path=/trunk/; revision=42231
2012-04-25 14:00:23 +00:00
Anders Broman
102991bf0f Handle wtap_dump_fdopen() as wtap_dump_open() eg call
wtap_dump_fdopen_ng() and add a dummy IDB to be able to write pcapng files.
Solves https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6969
mergecap: Can't open or create <FILENAME>: Internal error.

We might want to add a SHB comment from mergecap giving the merged filenames or something like that, Merging of pcapng files
is a different issue, idealy we should probably start using several SHB:s in that case.

svn path=/trunk/; revision=42230
2012-04-25 12:33:23 +00:00
Martin Mathieson
56add1934d Remove some unnecessary includes and fix some indentation.
svn path=/trunk/; revision=42227
2012-04-25 00:28:19 +00:00
Bill Meier
9c8aba73d7 Fix a buildbot compile warning.
svn path=/trunk/; revision=42197
2012-04-22 19:14:19 +00:00