Commit Graph

2411 Commits

Author SHA1 Message Date
Guy Harris 421e9ad4a0 The new frame-based tvbuff code found that the DOS Sniffer code for
compressed sniffer files failed if the very first read involves seeking
past the first blob; fix that.

svn path=/trunk/; revision=50679
2013-07-16 20:59:02 +00:00
Chris Maynard bd0dbc23ca Make camins_read_packet static.
svn path=/trunk/; revision=50671
2013-07-16 16:24:28 +00:00
Guy Harris ff868427ef Include merge.h, so it shows up in the distribution tarball.
svn path=/trunk/; revision=50662
2013-07-16 04:10:25 +00:00
Jeff Morriss 0a669967fa Move merge.{h,c} into wiretap: these modules use wiretap to merge files.
svn path=/trunk/; revision=50656
2013-07-16 02:35:33 +00:00
Guy Harris 3e8b8f0b1a Explain that we don't have to worry about fixed-length buffers whose
size is based on the snapshot length.

svn path=/trunk/; revision=50647
2013-07-16 00:18:55 +00:00
Evan Huus a39e5b9b4a On the suggestion of Cal Turney, via
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8937

Don't warn if a file has packets larger than the global snapshot length.

svn path=/trunk/; revision=50646
2013-07-15 23:58:47 +00:00
Jeff Morriss fae759b793 Avoid building ascend.h and ascend.c in parallel (2 bison's running at the same time sometimes results in corrupted output).
svn path=/trunk/; revision=50524
2013-07-12 03:35:44 +00:00
Pascal Quantin b5187b496b Use newly assigned DLT for PDU export functionality
svn path=/trunk/; revision=50212
2013-06-28 13:05:12 +00:00
Guy Harris f13ba97806 Fix some pointer-signedness (well, signedness of what the pointer points
to) warnings.

svn path=/trunk/; revision=50104
2013-06-21 02:59:54 +00:00
Guy Harris 52e9ee89fd Clarify (a V1.0 file might have a single zero byte at the end of the
page, which doesn't look like an "unused space" record because there
aren't two bytes of record type, just one byte).

svn path=/trunk/; revision=50027
2013-06-19 00:02:22 +00:00
Guy Harris 953d1bfd72 Slight stylistic cleanup - most routines, when defined, have no space
between the routine name and the opening parenthesis, so remove it from
the definition of the seek-read routine.

svn path=/trunk/; revision=50026
2013-06-18 23:47:50 +00:00
Guy Harris 81b9276b24 Note that NetScaler trace files are page-oriented, with records not
split across page boundaries, rather than being a byte stream, and that
the last page may be short.

Fix some comments.

svn path=/trunk/; revision=50025
2013-06-18 23:37:30 +00:00
Evan Huus 3f1f630570 Don't limit the on-the-wire length of packets to 64KB, there are larger packets
out there (especially over USB) and we should be able to load them as long as
they are snapped to a sane length.

Also validate that packets do not specify a snapshot length larger than the one
in the file header, though only make it a warning, as this is not necessarily a
fatally corrupt packet.

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

svn path=/trunk/; revision=49999
2013-06-18 01:02:26 +00:00
Guy Harris d7380efa6d Put the code to fill in the struct wtap_pkthdr and to read the packet
data into a common routine, and use it in both the read and seek-read
routines.

svn path=/trunk/; revision=49996
2013-06-17 23:43:55 +00:00
Guy Harris 9fb168b2cc Merge more of the read and seek-read code paths.
svn path=/trunk/; revision=49990
2013-06-17 22:18:24 +00:00
Guy Harris 32b95570df Merge "read record header" and "read packet data" routines into a single
routine, used both by read and seek-read routines.

svn path=/trunk/; revision=49988
2013-06-17 21:18:47 +00:00
Guy Harris ca0f8ee6da Make the libwiretap Buffer routines usable from C++, and fix the C++ UI
code to handle the API changes for the seek-read routines.

svn path=/trunk/; revision=49950
2013-06-16 01:40:04 +00:00
Guy Harris 8c9edf1280 Have the seek-read routines take a Buffer rather than a guint8 pointer
as the "where to put the packet data" argument.

This lets more of the libwiretap code be common between the read and
seek-read code paths, and also allows for more flexibility in the "fill
in the data" path - we can expand the buffer as needed in both cases.

svn path=/trunk/; revision=49949
2013-06-16 00:20:00 +00:00
Guy Harris 2b3891fa3b Pull some of the code to set the struct wtap_pkthdr into
parse_netscreen_hex_dump().

svn path=/trunk/; revision=49944
2013-06-15 09:05:04 +00:00
Guy Harris 2b5344666a Fill in at least some of the struct wtap_pkthdr in both the read and
seek-read routines.

svn path=/trunk/; revision=49943
2013-06-15 01:51:21 +00:00
Guy Harris 25d9d55cef Rename radcom_process_rec_header() to radcom_process_rec_header() and
move the code to file in a struct wtap_pkthdr there.

svn path=/trunk/; revision=49942
2013-06-14 23:59:04 +00:00
Anders Broman 878e89885b Allign the error messages.
svn path=/trunk/; revision=49870
2013-06-10 17:13:49 +00:00
Guy Harris f4f4e024bc libwireshark's add_new_ipv4() and add_new_ipv6() now silently ignore
requests to add an entry with a zero-length name; we don't have to
ignore them ourselves.

svn path=/trunk/; revision=49854
2013-06-09 06:44:47 +00:00
Guy Harris 9f1f58745c Don't treat zero-length names in the NRB as errors, just silently ignore
them.

Works around the problem reported in bug 8763.

svn path=/trunk/; revision=49851
2013-06-09 02:32:30 +00:00
Guy Harris f86c7712a3 Use g_try_malloc() for some memory allocations, and return an "out of
memory" indication if it fails.

Further fixes bug 8752.

Also, clean up indentation.

svn path=/trunk/; revision=49834
2013-06-07 08:34:44 +00:00
Guy Harris 2429df9c51 Prevent attempts to allocate huge amounts of memory by imposing an
artificial 16MB limit on blocks.

Do some sanity checks when reading options, to make sure we don't read
past the end of the block.

Make some variables unsigned so as not to get inappropriate
sign-extension (which, in practice, should never happen due to the 16MB
block size limit, although if the limit is raised above 2^31-1, the
limit won't protect you).

Fixes bug 8752.

svn path=/trunk/; revision=49833
2013-06-07 08:19:40 +00:00
Pascal Quantin 506b417907 From Mark C. Brown via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8777 :
Add support for 10Gbe HP-UX drivers IOCXGBE and IQXGBE

svn path=/trunk/; revision=49820
2013-06-06 20:55:00 +00:00
Guy Harris 57eb433a0b Pull all the code that reads and processes the packet header into
visual_process_packet_header() and call it in both the read and
seek-read routines.

Pull the post-processing code that guesses the encapsulation based on
the first few bytes in the packet into
visual_fill_in_chdlc_encapsulation() and call it in both the read and
seek-routines.  Add some length checks.

svn path=/trunk/; revision=49812
2013-06-06 18:57:22 +00:00
Guy Harris 59c3ab9cc9 Pull the code for setting the struct wtap_pkthdr into a
snoop_process_record_header() routine, and call it in both the read and
seek-read routines.

svn path=/trunk/; revision=49803
2013-06-06 08:14:44 +00:00
Guy Harris 311c8d346d Set the entire struct wtap_pkthdr, not just the pseudo-header, in the
seek-read routine.  Pull the code to do that into
netxray_set_pseudo_header(), and rename it netxray_set_phdr().

svn path=/trunk/; revision=49800
2013-06-06 00:10:36 +00:00
Guy Harris a58b141062 The check for network_size < 4 is necessary only for those packets where
we're lopping 4 bytes off of the network_size.

Add a comment discussing the aformentioned lopping-off.

svn path=/trunk/; revision=49782
2013-06-05 08:12:06 +00:00
Guy Harris 1f2231da07 Move the code that fills in the struct wtap_pkthdr (other than the
pseudo-header) into a process_packet_header() routine, and call it in
both the read and seek-read routines.

svn path=/trunk/; revision=49779
2013-06-05 00:36:57 +00:00
Anders Broman 4cdb591e46 From Anthony Coddington:
ERF wiretap export multiple extension header fix.

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

svn path=/trunk/; revision=49749
2013-06-04 04:00:59 +00:00
Jeff Morriss d8558f06fd Fix an unintialized-value-used warning that Valgrind detected in the capture
file attached to https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8760 :

When searching for a signature, don't search past the end of the record.

svn path=/trunk/; revision=49742
2013-06-04 01:31:56 +00:00
Jeff Morriss 9f95423783 Get rid of trailing white space and a few tabs.
svn path=/trunk/; revision=49741
2013-06-04 00:58:40 +00:00
Jeff Morriss 0eecced808 Fix the wiretap fuzz failure reported in https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8760 :
Check that the record length we got out of the file is at least as big as
stats block trailer; if not, declare the file bad.

svn path=/trunk/; revision=49739
2013-06-04 00:50:05 +00:00
Guy Harris e4d65e993f file_skip() only needs to return a Boolean; if anybody cares what the
seek offset is after calling it, they can use file_tell().  (Some
routines were already assuming it returned a gboolean.)

svn path=/trunk/; revision=49733
2013-06-03 23:07:42 +00:00
Pascal Quantin 8c32b5db74 Initialize the whole hdr_info structure to please gcc 4.3.2
svn path=/trunk/; revision=49710
2013-06-03 07:48:59 +00:00
Guy Harris 8c112f9223 Put back a fix that earlier checkins lost.
svn path=/trunk/; revision=49709
2013-06-03 06:36:55 +00:00
Evan Huus 45ed7d6aa3 Initialize some variables that GCC 4.7 complains about. I'm not 100% sure
that the complaints are valid, or that simply zeroing them is the right fix
if they are, but at least it builds now. Should we be erroring if we don't
see a sliceLength header?

svn path=/trunk/; revision=49705
2013-06-03 01:07:26 +00:00
Guy Harris c20b5d96a8 When reading sequentially, skip past any ignored data at the end of the
packet.

svn path=/trunk/; revision=49704
2013-06-03 00:26:16 +00:00
Guy Harris c3c6f93f5c Pass the read_rec_data routines a wtap_pkthdr pointer, and have them
fill in that structure, so that it's filled in by both the read and
seek-read routines.

svn path=/trunk/; revision=49703
2013-06-02 23:32:17 +00:00
Guy Harris 761ab82280 Pull the code to Fill in the wtap_pkthdr structure into a common
routine, and use it in both the read and seek-read routines.

svn path=/trunk/; revision=49702
2013-06-02 23:23:47 +00:00
Guy Harris f7f029c255 Move code to fill in the wtap_pkthdr into peektagged_process_header(),
so that it's filled in by both the read and seek-read routines.

svn path=/trunk/; revision=49701
2013-06-02 23:20:11 +00:00
Guy Harris bc97838985 Pull code to read and process packet headers into
peekclassic_process_record_header_() routines, used in both the read and
seek-read routines.

svn path=/trunk/; revision=49700
2013-06-02 23:12:58 +00:00
Guy Harris fb2cb6c9a8 Pull code to read process packet headers into a
packetlogger_process_header() routine, used in both the read and
seek-read routines.

svn path=/trunk/; revision=49699
2013-06-02 22:17:37 +00:00
Guy Harris 3922276de4 Initialize the frame_table_size field of the private data to 0 and the
frame_table field to NULL before trying to allocate the frame table, so
that if we fail before we allocate the frame table, the attempt to free
the private data doesn't crash due to the frame_table field containing a
bogus pointer.

svn path=/trunk/; revision=49697
2013-06-02 18:09:13 +00:00
Guy Harris 6b4c30b69d When allocating the frame table for a NetMon file, use g_try_malloc(),
and fail with ENOMEM if that fails (and the frame table is not empty -
g_try_malloc() will return NULL if you ask it to allocate zero bytes).

Have an error message for ENOMEM on an open that attempts to tell the
user what the problem is without making their head explode.

svn path=/trunk/; revision=49673
2013-06-01 06:48:37 +00:00
Guy Harris 6e336d74a1 Move the record header processing code into a common routine, and read
that header in both the read and seek-read routines.

svn path=/trunk/; revision=49671
2013-06-01 02:58:58 +00:00
Pascal Quantin 55da3a2254 From Chris Bontje via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8644 :
SEL RTAC (Real Time Automation Controller) EIA-232 Serial-Line Dissection

svn path=/trunk/; revision=49635
2013-05-30 20:51:18 +00:00
Jörg Mayer d9dd3f3e4e Fix "set but not used" compile warning turning error
svn path=/trunk/; revision=49405
2013-05-18 08:13:51 +00:00
Guy Harris 82f74c35fc Fill in the struct wtap_pkthdr in the seek-read routine.
svn path=/trunk/; revision=49404
2013-05-18 03:42:06 +00:00
Guy Harris 3fc0506b41 In libpcap_process_header(), fill in what phdr points to, not wth->phdr.
svn path=/trunk/; revision=49403
2013-05-18 03:15:06 +00:00
Guy Harris 4097d6e676 Fill in the struct wtap_pkthdr in the seek-read routine.
svn path=/trunk/; revision=49402
2013-05-18 03:02:04 +00:00
Guy Harris 33e1232f23 In the pcapng seek-read routine, *don't* fill in wth->phdr; seek-read
routines are passed a separate struct wtap_pkthdr to be filled in.

Get rid of the pseudo_header member of the wblock structure - the
pseudo-header is part of the struct wtap_pkthdr.

Get rid of the union wtap_pseudo_header * argument to
pcap_process_pseudo_header() - it's passed a pointer to a struct
pcap_pkthdr, and that structure contains the union in question.

Have libpcap_read_header() take a FILE_T argument, rather than using
only the "sequential" handle of the wtap it's handed.  Have the libpcap
read routine return the offset of the beginning of the pcap record, and
have the seek-read routine read the header and fill in the struct
wtap_pkthdr handed to it.

svn path=/trunk/; revision=49401
2013-05-18 02:36:00 +00:00
Guy Harris 055ff08c2f Use g_array_index() to get at elements of the encapsulation table array;
this avoids some compiler warnings from clang about alignment.

svn path=/trunk/; revision=49398
2013-05-18 00:41:30 +00:00
Guy Harris 288e81e40f Put the code to read trace record headers into a common routine used by
both the read and the seek-read routines.  Have the read routine return
the offset of the record header as the record's offset, so that the
seek-read routine can read that header.

svn path=/trunk/; revision=49397
2013-05-18 00:08:43 +00:00
Guy Harris ed76ed8c88 Don't pass globals as arguments to k12text_set_headers(), just use the
globals directly.  If we ever manage to make them *not* globals (which
might only be possible with newer versions of Flex), then we can do
better.

Get rid of an unused variable.

Squelch a 64-bit-to-32-bit conversion warning.

svn path=/trunk/; revision=49396
2013-05-17 23:53:44 +00:00
Guy Harris 4c679fb01a Rename k12text_set_pseudo_header() to k12text_set_headers() and have it
fill in the entire struct wtap_pkthdr.

svn path=/trunk/; revision=49388
2013-05-17 21:55:33 +00:00
Pascal Quantin 5c56d95afe Prevent "'len' may be used uninitialized in this function" error when compiling with gcc 4.3.2
svn path=/trunk/; revision=49378
2013-05-17 13:37:36 +00:00
Guy Harris 08889b5e75 Pull some functions that fill in a struct wtap_pkthdr into common code,
and use it in both the read and seek-read routines.

svn path=/trunk/; revision=49377
2013-05-17 10:13:12 +00:00
Guy Harris 4dd1504036 Have iseries_parse_packet() fill in a struct wtap_pkthdr; that means it
doesn't need to return the number of bytes of captured packet data (it
can just stuff that into the struct wtap_pkthdr), so have it return a
Boolean success/failure indication.

svn path=/trunk/; revision=49376
2013-05-17 09:48:19 +00:00
Guy Harris adb9282b0e If iseries_seek_next_packet() hits the EOF, *err will be set to 0; just
have it return -1 for errors or EOF, and have iseries_read() check for a
negative return value and return FALSE.  That simplifies it a bit, and
handles the "no more records in the file" case
(iseries_seek_next_packet() will hit EOF and return -1 with *err set to
0, which is what the callers of a read routine expect at EOF).

Get rid of duplicate (and incorrect before the change) comment.

svn path=/trunk/; revision=49375
2013-05-17 09:37:02 +00:00
Guy Harris 13694fde7b Get rid of duplicate code.
svn path=/trunk/; revision=49374
2013-05-17 08:56:43 +00:00
Guy Harris ab74872031 Pull the reading of record data and ATM post-processing into another
common routine.

svn path=/trunk/; revision=49373
2013-05-17 08:53:04 +00:00
Guy Harris 54d630d8c5 Add iptrace_process_rec_header_ routines to read record headers and fill
in a wtap_pkthdr, as well as skipping FDDI padding, etc..

svn path=/trunk/; revision=49372
2013-05-17 08:19:51 +00:00
Guy Harris 7634be8b27 IPFIX records have a time stamp (and, according to RFC 5101, it's UNIX
time, i.e. seconds since January 1, 1970, 00:00:00 UTC).

svn path=/trunk/; revision=49370
2013-05-17 07:45:36 +00:00
Guy Harris 04d33bca00 We need ipfix_read_message_header() for the open routine; have
ipfix_read_and_process_message_header() call it and then fill in the
wtap_pkthdr structure, and use the latter routine in the read and
seek-read routines.

Expand a comment, and fix indentation.

svn path=/trunk/; revision=49369
2013-05-17 07:28:34 +00:00
Guy Harris 4b1623d619 Pull the code that fills in a wtap_pkthdr structure into
ipfix_read_message_header() and rename it
ipfix_process_message_header().  Use it in the read and seek-read
routines.

svn path=/trunk/; revision=49368
2013-05-17 06:41:20 +00:00
Guy Harris 2c07003e67 Pull the record header processing code into i4b_read_rec_header(),
renaming it to i4b_process_rec_header(), so that it's used in the read
and the seek-read routines.

svn path=/trunk/; revision=49367
2013-05-17 06:08:40 +00:00
Guy Harris a335cd8d87 Pull code to fill in a wtap_pkthdr into a hcidump_process_header()
routine, and use it in both the read and seek-read routines.

svn path=/trunk/; revision=49365
2013-05-17 05:31:21 +00:00
Guy Harris 26a909d980 Fill in the wtap_pkthdr in dct3trace_get_packet().
svn path=/trunk/; revision=49360
2013-05-17 00:21:16 +00:00
Guy Harris 7532c175b6 Set *data_offset early in the read process, to emphasize that it's the
offset of the entire packet, not the offset of the data.

Pull the setting of the FCS length into a common routine.

svn path=/trunk/; revision=49359
2013-05-17 00:15:58 +00:00
Guy Harris a6d35a28dd Pass parse_dbs_etherwatch_packet() a pointer to a struct wtap_pkthdr,
not a wtap *, and have it fill in the specified struct wtap_pkthdr. 
That makes the seek-read routine do the right thing.

svn path=/trunk/; revision=49358
2013-05-17 00:07:42 +00:00
Guy Harris b5561ed4f0 Move the header-processing code into a common daintree_sna_scan_header()
routine.

Rename daintree_sna_hex_char() to daintree_sna_process_hex_data() (to
more clearly indicate what it does - it doesn't process a single
character, it processes a whole bunch of them), and have it do some
error checking and fill in the length field in the wtap_pkthdr.

svn path=/trunk/; revision=49356
2013-05-17 00:00:13 +00:00
Guy Harris 754ccf4f7f Pull code to read and process the packet header, and to read and process
the packet data, into common routines.

svn path=/trunk/; revision=49355
2013-05-16 23:42:10 +00:00
Guy Harris 99aee757d4 Fill in the presence flags in parse_cosine_rec_hdr(), so it's done at
the same point at which the rest of the wtap_pkthdr is filled in (so
it's done in seek-read routines).

parse_cosine_hex_dump()'s return value is used as the return value of
read routines, so it should be Boolean.  Make it so (and have it stuff
the actual length of packet data read into a wtap_pkthdr, which also
ensure that this is done in seek-read routines).

svn path=/trunk/; revision=49352
2013-05-16 23:34:12 +00:00
Guy Harris 384e4bc54e Pull up the code to read the packet data and check for errors into a
common routine.

svn path=/trunk/; revision=49351
2013-05-16 23:23:08 +00:00
Guy Harris e53fb07cae Move the code to read the CommView record header, check for an unhandled
encapsulation, and to process it into a
commview_read_and_process_header() routine.

svn path=/trunk/; revision=49350
2013-05-16 23:14:17 +00:00
Guy Harris 5e1da6c1a6 Pull code to fill in the wtap_pkthdr into a btsnoop_read_record_header()
routine, for use both by the seek and read routines, and move some
common code there.

Make the delta between Symbian and UNIX time a static value.

Make the prefix for all routine names "btsnoop" rather than "snoop".

svn path=/trunk/; revision=49348
2013-05-16 22:14:11 +00:00
Guy Harris 13262726bc Pull the code to set the wtap_pkthdr into a common routine, so it's done
for read and seek-read.

Clarify a comment.  (wtap_open_offline() only rewinds the file before
calling each open routine; once one of those routines has decided the
file belongs to it, the seek offset belongs to it, so it needs to do all
the seeking necessary - files with a file header *don't* want a rewind,
they want to leave the seek offset positioned *past* the file header so
it can read the records that follow the file header.)

svn path=/trunk/; revision=49347
2013-05-16 22:01:44 +00:00
Guy Harris 609dac2f9e Move some packet-header handling code into aethra_read_rec_header(), so
it's done in both the read and seek-read routines.

svn path=/trunk/; revision=49346
2013-05-16 21:40:04 +00:00
Guy Harris 11a01e50bf Pull the code to set the struct wtap_pkthdr into _5views_read_header(),
so it's done by both the read and seek-read routines.

svn path=/trunk/; revision=49345
2013-05-16 21:19:53 +00:00
Guy Harris 887c604334 Hoist a bunch of common code between ascend_read() and
ascend_seek_read() into parse_ascend().

Adjust the buffer size *before* attempting to fill it up.

svn path=/trunk/; revision=49343
2013-05-16 21:04:41 +00:00
Guy Harris 78ee09dfeb Get rid of unused global variable.
svn path=/trunk/; revision=49341
2013-05-16 20:25:44 +00:00
Guy Harris e6e5aa7fa4 wth->priv is always set in the open routine; no need to check that it's
non-null.

svn path=/trunk/; revision=49338
2013-05-16 18:30:24 +00:00
Guy Harris d9d8174f12 Pull all the post-processing for a parsed line into a common routine,
used in both the seek and seek_read routines.

(And, yes, the time stamp *is* supposed to be filled in by seek_read
routines.)

Pull some now-used-only-once routines into the new routine.

svn path=/trunk/; revision=49335
2013-05-16 18:27:27 +00:00
Pascal Quantin ba4cb4bad7 From Weston Schmidt via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8689:
csids wiretap heuristic overriding mp2t

svn path=/trunk/; revision=49334
2013-05-16 18:27:03 +00:00
Evan Huus 930d0c1ed6 From Ravi Kondamuru via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8637
Add support for version 2.6 of netscaler capture format.

svn path=/trunk/; revision=49250
2013-05-11 18:43:53 +00:00
Jörg Mayer 7e51c9713b dumpabi: This would create the directories in the sourcedir instead
of the binary dir. Fixed that.
  NOTE: It fails with and without this patch for out of tree builds:

jmayer@egg:~/work/wireshark/svn/build/qt-gtk3> make dumpabi
[  1%] Built target wsutil
[  1%] Generating libwsutil.abi.tar.gz
ERROR: can't find modules
cp: cannot stat `abi_dumps/libwsutil/libwsutil_*': No such file or directory
make[3]: *** [wsutil/libwsutil.abi.tar.gz] Error 1
make[2]: *** [wsutil/CMakeFiles/dumpabi-libwsutil.dir/all] Error 2
make[1]: *** [CMakeFiles/dumpabi.dir/rule] Error 2
make: *** [dumpabi] Error 2
jmayer@egg:~/work/wireshark/svn/build/qt-gtk3>


svn path=/trunk/; revision=49014
2013-04-24 12:57:56 +00:00
Gerald Combs ea19c7f952 1.9.3 → 1.11.0.
svn path=/trunk/; revision=48972
2013-04-22 17:59:38 +00:00
Pascal Quantin 6910f9428f From Tomasz Mon via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8503 :
Add USBPcap support

svn path=/trunk/; revision=48847
2013-04-14 16:00:34 +00:00
Guy Harris c5d1d8d80e From Anthony Coddington: don't check for MPEG-2 Transport before
checking for ERF.

From me: note some heuristic checkers that are in the "magic number" set.

#BACKPORT 1.8

svn path=/trunk/; revision=48724
2013-04-04 04:35:09 +00:00
Guy Harris d517ab3698 In the Lua dumper code, don't bother checking whether the encapsulation
is supported before trying to open for writing - the attempt to open for
writing will do the check for you.  Instead, check for specific errors
if the attempt to open for writing fails, and use somewhat more specific
error messages for certain error codes.  (We should perhaps check for
even more error codes in those cases.)

That gets rid of all external calls to wtap_dump_can_write_encap(), so
remove it from wtap.h and make it static.

svn path=/trunk/; revision=48691
2013-04-01 21:39:28 +00:00
Guy Harris b1ecd8d217 Add a wtap_dump_can_write() routine that indicates whether Wiretap
supports writing files with a given set of encapsulations and comment
types.  Use it, rather than asking for a list of file formats that
support the given set of encapsulation and comment types and checking
whether we got back such a list, or duplicating its logic.

Having file.c use it means that nobody's using
wtap_dump_can_write_encaps() any more; get rid of it.  Instead, have a
private routine that checks whether a given file format supports a given
set of encapsulations *and* comment types, and use that internally.

svn path=/trunk/; revision=48690
2013-04-01 21:17:50 +00:00
Guy Harris 82a602d697 Define a collection of bits for different types of capture file comments.
For each capture file type, have a bitset of comment types supported by
that capture file type.

Add a Wiretap routine that, for a given file type, returns the bitset of
comment types it supports.

Have wtap_get_savable_file_types() take a bitset of comment types that
need to be supported by the file types it returns.

Replace cf_has_comments() with a routine that returns a bitset of
capture file comment types in the capture file.

Use those routines in the capture file dialogs; don't wire in the notion
that pcap-NG supports all comment types and no other file formats
support any comment types.  (That's currently true, but we don't want to
wire that in as being forever true.)

svn path=/trunk/; revision=48689
2013-04-01 20:36:42 +00:00
Martin Kaiser 7a2bdedff6 wiretap support for the CAM Inspector file format
svn path=/trunk/; revision=48647
2013-03-30 09:56:57 +00:00
Gerald Combs b60e41b984 1.9.2 → 1.9.3.
svn path=/trunk/; revision=48627
2013-03-28 18:13:22 +00:00
Evan Huus 202680971d Wiretap file open routines should not free wth->priv on error, since that
leads to a double-free in wtap_close. Fix all the instances I found via
manual code review, and add a brief comment to the list of open routines in
file_access.c

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

svn path=/trunk/; revision=48552
2013-03-25 22:04:15 +00:00
Evan Huus b8ae49755d From Prafulla Harpanhalli via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8513
Add support for encapsulation 136, Juniper service PIC cookie.

svn path=/trunk/; revision=48494
2013-03-23 02:42:12 +00:00
Anders Broman 089dfcd108 From beroset:
remove C++ incompatibilities 
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8416

svn path=/trunk/; revision=48424
2013-03-19 19:02:25 +00:00
Gerald Combs 4c87778b7a 1.9.1 → 1.9.2.
svn path=/trunk/; revision=48406
2013-03-18 22:18:52 +00:00
Anders Broman 05a8c94ddf From beroset:
implemented wtap_dump_file_seek() and _tell()

implemented the previously declared but unimplemented wtap_dump_file_seek() and wtap_dump_file_tell() functions and used them in the seven files that had previously used a plain ftell or fseek and added error checking as appropriate.  I also added a new error WTAP_ERR_CANT_SEEK_COMPRESSED and put it next to WTAP_ERR_CANT_SEEK causing renumbering of two of the existing error codes.

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

svn path=/trunk/; revision=48348
2013-03-17 09:20:13 +00:00
Jaap Keuter 827eb58b04 From David Arnold:
Replace use of INCLUDES with AM_CPPFLAGS in all Makefiles to placate recent autotools.

svn path=/trunk/; revision=48261
2013-03-12 06:53:39 +00:00
Bill Meier db6243a180 Use consistent indentation (4 spaces);
Reformat  long single line comments for readability;
Add editor modelines.

svn path=/trunk/; revision=48086
2013-03-05 15:28:10 +00:00
Anders Broman 85973068cc From beroset:
remove C++ incompatibilities

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

svn path=/trunk/; revision=48038
2013-03-03 17:14:19 +00:00
Pascal Quantin fc9156a8a0 Try to fix LNK4217 (locally defined symbol imported in function) and C4273 (inconsistent DLL linkage) warnings when compiling for Windows
svn path=/trunk/; revision=48021
2013-03-02 22:19:33 +00:00
Balint Reczey 1ebdb2e521 Export libwireshark symbols using WS_DLL_PUBLIC define
Also remove old WS_VAR_IMPORT define and related Makefile magic
everywhere in the project.

svn path=/trunk/; revision=47992
2013-03-01 23:53:11 +00:00
Balint Reczey 4cf12b41be Revert "Fix MSVC build errors related to symbol visibility"
This reverts commit r47952.
The problem was different from what I originally thought, thus
the commit was obsolete.

svn path=/trunk/; revision=47954
2013-02-28 22:17:06 +00:00
Balint Reczey 383d73be05 Add -DWS_BUILD_DLL to wiretap Windows builds
It fixes symbol exporting from DLLs.

svn path=/trunk/; revision=47953
2013-02-28 21:42:23 +00:00
Balint Reczey ccc76ff07f Fix MSVC build errors related to symbol visibility
svn path=/trunk/; revision=47952
2013-02-28 21:11:32 +00:00
Balint Reczey aa659985a5 Export libwiretap symbols using WS_DLL_PUBLIC define
TODO: hide flex-generated functions

svn path=/trunk/; revision=47948
2013-02-28 19:35:59 +00:00
Bill Meier 96a24cc79f Fix spelling/typos found using a list of commonly misspelled words.
The misspellings were mostly in comments but some were
in text strings visible to the user.


svn path=/trunk/; revision=47899
2013-02-26 04:42:26 +00:00
Bill Meier 722b4985f1 its ==> it's
svn path=/trunk/; revision=47895
2013-02-26 01:50:44 +00:00
Balint Reczey 82843905c5 ABI dumps don't have to depend on config.h directly
They depend on libs which need config.h already.

svn path=/trunk/; revision=47883
2013-02-25 21:27:07 +00:00
Balint Reczey d2e0724afc Add dumpabi targets to CMake builds
Also update automake generated targets to match CMake generated ones

svn path=/trunk/; revision=47879
2013-02-25 18:12:20 +00:00
Balint Reczey e1d24fdb49 Generate abi-descriptor.xml-s in CMake builds
svn path=/trunk/; revision=47865
2013-02-24 21:14:17 +00:00
Balint Reczey 7f0ee327ca Set library versions in CMake builds
svn path=/trunk/; revision=47848
2013-02-23 22:54:36 +00:00
Martin Mathieson cf15301cbf Add support for reading/writing 'sprint' lines from test scripts.
svn path=/trunk/; revision=47686
2013-02-15 23:43:30 +00:00
Guy Harris ebacca89a7 Add %option noinput to a bunch of Flex files, as we aren't using the
input() routine and thus don't need to have it generated - and as it
produces warnings of a routine defined but not used, we don't want to
have it generated.

Squelch a casting-const-away warning.

svn path=/trunk/; revision=47613
2013-02-10 19:13:07 +00:00
Guy Harris b2fd895135 Clean up white space.
Define the PNG magic number as a mixture of hex and ASCII, to make it a
bit clearer what's going on.

svn path=/trunk/; revision=47378
2013-01-30 22:55:32 +00:00
Michael Mann d6901da1d1 Wiretap: Add support for files contain GIF, PNG images
From Michal Labedzki, bug 8278 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8278)

svn path=/trunk/; revision=47368
2013-01-30 19:26:05 +00:00
Gerald Combs ec880b7db3 Use readlink instead of ls.
svn path=/trunk/; revision=47338
2013-01-29 01:06:24 +00:00
Balint Reczey c6f9d4c131 make dumpabi target build with multiple digits in library version numbers
svn path=/trunk/; revision=47329
2013-01-28 21:45:44 +00:00
Gilbert Ramirez 10dd94fa0b Add support for HFI and infiniband interfaces in AIX iptrace files.
svn path=/trunk/; revision=47258
2013-01-24 18:08:25 +00:00
Chris Maynard 231bd8ab50 Fix Coverity CID 762007: Logically dead code.
svn path=/trunk/; revision=47067
2013-01-14 16:06:20 +00:00
Anders Broman f6d8712284 Use const char in wtap_register_encap_type() just as in proto_register_protocol().
svn path=/trunk/; revision=46990
2013-01-07 21:02:56 +00:00
Guy Harris 544f8eb69d When writing an ERF record, the case where the encapsulation type is
"ERF record" is very different from, and much simpler than, the case
where it's not; tweak the code to more clearly separate the "we're being
handed ERF records" case from the "we're being handed packets" case.

svn path=/trunk/; revision=46984
2013-01-06 20:44:49 +00:00
Guy Harris 073e2aa45a Make some Boolean flags gbooleans, rename one of them to more clearly
indicate what it means, and use an enum for the compression types.

Note that file_getc() returns a byte, not a character.

svn path=/trunk/; revision=46983
2013-01-06 20:36:33 +00:00
Guy Harris 40a5e8b991 Clean up comment alignment.
Get rid of unnecessary pointer cast.

svn path=/trunk/; revision=46982
2013-01-06 20:20:35 +00:00
Alexis La Goutte b763df41d8 Fix some Dead Store (Dead assignement/Dead increment) Warning found by Clang
svn path=/trunk/; revision=46980
2013-01-06 19:42:03 +00:00
Alexis La Goutte 261ed08fc5 Fix some Dead Store (Dead assignement/Dead increment) Warning found by Clang
svn path=/trunk/; revision=46979
2013-01-06 19:41:55 +00:00
Pascal Quantin deb4f08cb2 Fix https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8105 :
Allow use of huges values for localtime / ctime / gmtime with MSVC 2008 or later

svn path=/trunk/; revision=46930
2013-01-04 14:56:27 +00:00
Michael Mann 86d690880f replace "unsigned" datatype with "guint". Some mpeg files needed "unsigned int" instead.
bugs 7825-7827 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7825)

svn path=/trunk/; revision=46928
2013-01-04 05:22:43 +00:00
Guy Harris 844ee8059a Update TODO list - the first two items are done, and with stuff added to
support pcap-NG we might have a better way of doing the third item (more
stuff is needed, but that stuff belongs there for pcap-NG, too).

When parsing hex dump lines, skip leading white space, and skip lines
that have nothing but white space, rather than guessing where the hex
dump information ends based on the line length.  Parse the hex bytes
manually.

svn path=/trunk/; revision=46905
2013-01-02 22:56:24 +00:00
Guy Harris 8be92d6af2 Give some more details, as per the Web page cited as a reference.
svn path=/trunk/; revision=46852
2012-12-29 21:59:27 +00:00
Guy Harris b2f58e4e4d Oops, one instance of "airopeekv9" that wasn't supposed to have been
changed was changed.

svn path=/trunk/; revision=46851
2012-12-29 21:46:59 +00:00
Guy Harris c6ede6cf55 Use the "if (file_gets(...) == NULL) { fail }" style, as used elsewhere.
svn path=/trunk/; revision=46822
2012-12-28 09:10:59 +00:00
Guy Harris 41e6e0f7e6 Always check the return value of read_new_line().
svn path=/trunk/; revision=46821
2012-12-28 09:10:18 +00:00
Guy Harris d8b37bafb7 Errors take precedence over EOF; use file_error() after operations that
return an "EOF or error" indication - an EOF without an error will
return 0.

In iseries_seek_next_packet(), return an error code of WTAP_ERR_BAD_FILE
and an appropriate error message if we don't find a packet header within
the next ISERIES_MAX_TRACE_LEN lines, don't just return -1 and leave the
error information unchanged.

Setting an argument variable before returning has no effect, so don't do
it (so that we don't leave the mistaken impression that it *is* doing
something).

Clean up indentation.

svn path=/trunk/; revision=46819
2012-12-27 22:59:39 +00:00
Guy Harris db0c2de004 OK, fine, how about 4 characters initializing a 4-character array?
svn path=/trunk/; revision=46804
2012-12-27 12:41:24 +00:00
Guy Harris 88e9d1c1e5 Do not call wtap_file_read_unknown_bytes() or
wtap_file_read_expected_bytes() from an open routine - open routines are
supposed to return -1 on error, 0 if the file doesn't appear to be a
file of the specified type, or 1 if the file does appear to be a file of
the specified type, but those macros will cause the caller to return
FALSE on errors (so that, even if there's an I/O error, it reports "the
file isn't a file of the specified type" rather than "we got an error
trying to read the file").

When doing reads in an open routine before we've concluded that the file
is probably of the right type, return 0, rather than -1, if we get
WTAP_ERR_SHORT_READ - if we don't have enough data to check whether a
file is of a given type, we should keep trying other types, not give up.
For reads done *after* we've concluded the file is probably of the right
type, if a read doesn't return the number of bytes we asked for, but
returns an error of 0, return WTAP_ERR_SHORT_READ - the file is
apparently cut short.

For NetMon and NetXRay/Windows Sniffer files, use a #define for the
magic number size, and use that for both magic numbers.

svn path=/trunk/; revision=46803
2012-12-27 12:19:25 +00:00
Guy Harris b467ecfc8b If the attempt to read the record header fails because we hit the EOF,
treat that as "this isn't a CommView file" rather than "this is a bad
file".

svn path=/trunk/; revision=46774
2012-12-26 12:01:14 +00:00
Guy Harris 1825519526 On I/O errors when opening a file, use wtap_close() to clean up, to make
sure we clean up everything.

svn path=/trunk/; revision=46773
2012-12-26 11:59:47 +00:00
Guy Harris 6d678c20d6 OK, does *this* convince the compiler that the loop isn't ever going to
be infinite?

svn path=/trunk/; revision=46757
2012-12-26 06:56:17 +00:00
Guy Harris 44d7a093e8 Widen an argument to match its (theoretical) widest possible width. See
if that squelches a loop-optimization warning.

svn path=/trunk/; revision=46752
2012-12-26 06:14:44 +00:00
Guy Harris 07350b2b53 Squelch a (Y2.038K) warning.
svn path=/trunk/; revision=46751
2012-12-26 06:10:25 +00:00
Guy Harris 8ed7a73e22 Fix a bunch of warnings.
Cast away some implicit 64-bit-to-32-bit conversion errors due to use of
sizeof.

Cast away some implicit 64-bit-to-32-bit conversion errors due to use of
strtol() and strtoul().

Change some data types to avoid those implicit conversion warnings.

When assigning a constant to a float, make sure the constant isn't a
double, by appending "f" to the constant.

Constify a bunch of variables, parameters, and return values to
eliminate warnings due to strings being given const qualifiers.  Cast
away those warnings in some cases where an API we don't control forces
us to do so.

Enable a bunch of additional warnings by default.  Note why at least
some of the other warnings aren't enabled.

randpkt.c and text2pcap.c are used to build programs, so they don't need
to be in EXTRA_DIST.

If the user specifies --enable-warnings-as-errors, add -Werror *even if
the user specified --enable-extra-gcc-flags; assume they know what
they're doing and are willing to have the compile fail due to the extra
GCC warnings being treated as errors.

svn path=/trunk/; revision=46748
2012-12-26 05:57:06 +00:00
Michael Tüxen ef0282ee9c Fix syntax error showing up when using debug ouput.
svn path=/trunk/; revision=46713
2012-12-23 08:59:30 +00:00
Michael Tüxen 6af6ce5ee0 Add support for writing the packet block flags for pcapng.
While there, do some minor cleanup.

svn path=/trunk/; revision=46699
2012-12-22 20:38:08 +00:00
Michael Tüxen 40c0a21bee Whitespace changes.
svn path=/trunk/; revision=46694
2012-12-22 14:06:50 +00:00
Gerald Combs 7b55219d1a Microsoft CRT's _write expects an unsigned int.
svn path=/trunk/; revision=46684
2012-12-21 18:59:42 +00:00
Guy Harris 14d5511143 Squelch a warning - the code shouldn't ever let "have" get so large that
it exceeds size_t on any platform, including Win64.

svn path=/trunk/; revision=46652
2012-12-21 04:52:15 +00:00
Guy Harris 5996b49c53 Squelch implicit 64-bit-to-32-bit conversion warnings.
svn path=/trunk/; revision=46650
2012-12-21 03:32:16 +00:00
Guy Harris 9bfcd83721 Squelch 64-bit-to-32-bit implicit conversion warning; the warning
appears to be bogus - even if I put "(gint64) phdr->ts.nsecs" in an
extra layer of parentheses, i.e.

	(((gint64) phdr->ts.nsecs) / 1000)

I still get the warning from

	i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple
	    Inc. build 5658) (LLVM build 2336.11.00)

svn path=/trunk/; revision=46649
2012-12-21 02:30:35 +00:00
Bill Meier 95a64a667d Fix another instance of a variable/parameter name "shadowing" a library function name;
(At least some (gcc ?) compilers give a "shadow" warning for these).

svn path=/trunk/; revision=46404
2012-12-05 16:19:12 +00:00
Guy Harris 4e3f76bebd Add a bunch of #defines for converting between tm_year/tm_mon/tm_mday to
a DOS date.

Use them - which fixes a bug, bug 7998, wherein we were doing the wrong
check to see whether tm_year would fit in a DOS date or not.

svn path=/trunk/; revision=46387
2012-12-05 08:29:22 +00:00
Michael Tüxen 99d406059f Add native SCTP encapsulation.
svn path=/trunk/; revision=46244
2012-11-28 12:16:12 +00:00
Guy Harris 0c0cec7e69 Have separate seek-read routines for V1.0 and V2.0.
Set the subtype_read and subtype_seek_read routines for the file type,
rather than having a common read routine that checks the file type each
time.

Make the macros used in the read and seek-read routines more similar,
and use them more similarly in both.

svn path=/trunk/; revision=45706
2012-10-22 11:38:57 +00:00
Guy Harris 5071e32079 Pull the length-and-caplen setting operations in the read routines into
the macros.

Note why we don't pull the time setting operations into the macros (it's
because that would mean the macros can't be used in the seek-read
routines, as calculating time stamps requires accumulating the time
stamps in a sequential pass through the packets, given that the records
have time stamps relative to the previous packet).

Fix what is probably a typo in the definitions of some macros (which
happen to work without the fix because "fp" and "pp" are both local
variable names as well as macro arguments).

svn path=/trunk/; revision=45705
2012-10-22 10:06:13 +00:00
Guy Harris 3f032cdd12 Pass a pointer to a struct wtap_pkthdr to a bunch of macros; this allows
us to avoid one redefinition of those macros that, in the one
definition, for the read routines, refer to the pseudo-header as
wth->phdr.pseudo_header and, in the next definition, for the seek-read
routine, refer to it as *pseudo_header - instead, we pass &wth->phdr in
the read routine and phdr in the seek-read routine.

svn path=/trunk/; revision=45704
2012-10-22 08:09:05 +00:00
Guy Harris a0227ab739 More white-space cleanups.
svn path=/trunk/; revision=45702
2012-10-21 22:47:32 +00:00
Guy Harris 720271dd08 Use phdr->pseudo_header in the seek-read routine, rather than putting
its address into a pseudo_header pointer and using that.

svn path=/trunk/; revision=45701
2012-10-21 22:45:27 +00:00
Guy Harris 7c8f5f852b Tabs -> spaces, and other whitespace cleanups.
svn path=/trunk/; revision=45700
2012-10-21 22:30:01 +00:00
Guy Harris 6bcb25c6cb Pass parse_vms_hex_dump() a pointer to a wtap_pkthdr structure and have
it always fill it in.  Have the seek-read routine pass its phdr argument
in.  Have it just return a success/failure indication; do the check for
the packet size in the seek-read routine by looking at the caplen field
of the wtap_pkthdr structure.

svn path=/trunk/; revision=45663
2012-10-19 21:05:03 +00:00
Jakub Zawadzki 6f50f7bf50 Mark unused variable with _U_
svn path=/trunk/; revision=45656
2012-10-19 07:29:56 +00:00
Guy Harris fe22586b79 Hoist the code to set the wtap_pkthdr into a routine, and call it in
both the read and the seek-read routine, now that a pointer to the
wtap_pkthdr is passed to the seek-read routine.

svn path=/trunk/; revision=45655
2012-10-19 00:34:28 +00:00
Guy Harris 9f5431f1d9 Wrap lines a little differently.
svn path=/trunk/; revision=45654
2012-10-18 23:18:23 +00:00
Guy Harris e0e8d220b7 Get rid of unnecessary block braces, clean up white space.
svn path=/trunk/; revision=45653
2012-10-18 23:11:40 +00:00
Guy Harris 11aa25f668 Move some arguments up a line.
svn path=/trunk/; revision=45649
2012-10-18 21:54:47 +00:00
Guy Harris 70d39d2dcc Handle the fractions-of-a-second part of the time stamp correctly.
Extract it as a string, not a number, and determine the resolution based
on the length of the string, i.e. on the number of digits presented. 
(If you base it on the numerical value, leading zeroes will not be taken
into account, but they aren't any different from other digits when
determining the resolution.)  The resolution is 1/10^ndigits seconds, so
we have to multiply it by 10^(9-ndigits) to convert the number to
nanoseconds.

svn path=/trunk/; revision=45627
2012-10-18 05:20:09 +00:00
Guy Harris 25b493fbcb Redo the processing of lines in iSeries text packet dumps.
Process several different flavors of header lines the same: "IP Header",
"IPv6 Header", "ARP Header", "TCP Header", "UDP Header", "ICMP Header",
"ICMPv6 Hdr", "Option Hdr" - the hex data for all of them should be
included in the packet data.  Process continuation lines if those
headers wrap over more than one line.

Do not assume, or require, that *any* of those be present; there is no
guarantee that "IP Header" or "IPv6 Header" will be present (there's at
least one IBM page showing a packet with "ARP Header" in a trace), and
there is no guarantee that "TCP Header" will be present (there are
traces with "UDP Header" and "ICMPv6 Hdr").

Do not impose limits, other than the overall line limit, on the amount
of hex data in header or data lines; there is no guarantee that, for
example, a TCP header is 20 bytes long (if there are TCP options, it
*will* have more than 20 bytes).

Make sure we have an even number of hex digits.

Set "caplen" to the actual number of bytes we've read, even if that's
less than the purported packet length.

svn path=/trunk/; revision=45626
2012-10-18 04:52:33 +00:00
Jakub Zawadzki 6b5045dd7b Fill some phdr values also when doing random read
svn path=/trunk/; revision=45619
2012-10-17 20:28:22 +00:00
Jakub Zawadzki 78631020b8 Add wtap_pseudo_header union to wtap_pkthdr structure.
Use pkthdr instead of pseudo_header as argument for dissecting.

svn path=/trunk/; revision=45601
2012-10-16 21:50:57 +00:00
Gerald Combs c91c1df500 Use seasonal allocation for name resolution. This effectively scrubs our
resolution information between capture files so that we don't leak host
entries from one file to another (e.g. embarassing-host-name.example.com
from file1.pcapng into a name resolution block in file2.pcapng).

host_name_lookup_cleanup and host_name_lookup_init must now be called
after each call to se_free_all. As a result we now end up reading our
various name resolution files much more than we should.

svn path=/trunk/; revision=45511
2012-10-12 21:37:02 +00:00
Guy Harris a2c64e173e And that also means that we need to split the data rate from the
pseudo-header into two bytes and fill in both the rate and direction
fields when writing CommView NCF files out.

svn path=/trunk/; revision=45507
2012-10-12 20:59:08 +00:00
Guy Harris 10b89e0430 The "rate" field in the CommView NCF format is 1 byte long, not 2 bytes
long; that means we read only one byte into our structure, so make its
"rate" element one byte long, so we don't fill in half the "rate"
element with the read - and the *wrong* half on big-endian machines -
and leave the other half un-set and thus containing some random possibly
non-zero data.

In addition, that's not the full data rate for faster networks; for
Wi-Fi, the one-byte "direction" field is actually the upper 8 bits of
the data rate, so combine them when we fill in the data rate in the
pseudo-header.

#BACKPORT

svn path=/trunk/; revision=45504
2012-10-12 20:51:04 +00:00
Guy Harris 928ebf0ea3 If we see an SHB after we've read the first SHB, report that as an
unsupported feature.

If we see an IDB after all the IDBs at the beginning of the file,
process it.  Fixes bug 7851.

Get rid of unused read_idbs flag in pcapng_t structure.  (Also, as per
the above, just because we've read all the IDBs at the beginning of the
section, that doesn't necessarily mean we've read all the IDBs in the
section.)

Fix some places where we reject SPBs.

svn path=/trunk/; revision=45495
2012-10-12 03:55:10 +00:00
Guy Harris b8b899fc36 From Bill Parker: fix typo.
svn path=/trunk/; revision=45457
2012-10-10 21:09:10 +00:00
Guy Harris 8c2916b5bb From Bill Parker: check for ws_fopen() failing.
From me: instead of logging the error with a macro that requires dbg_out
to be set, and giving up, set dbg_out to stderr, log the message (which
now notes that logging will be done to the standard error), and drive
on.

Part of fix for bug 7824.

svn path=/trunk/; revision=45454
2012-10-10 19:33:49 +00:00
Evan Huus 25103896f9 Remove unused variable caught by cppcheck.
svn path=/trunk/; revision=45344
2012-10-06 15:39:21 +00:00
Jeff Morriss 2fbf659e28 Stop defining HAVE_CONFIG_H on Windows builds too.
svn path=/trunk/; revision=45231
2012-10-01 11:47:36 +00:00
Martin Mathieson 5809e2cfdf Some improvements after looking at profile of large reordercap run.
- speed up writing timestamp by avoiding g_snprintf()
- avoid call to strstr()
- don't use g_snprintf() for writing a liternal string
- avoid atio() for single-digit strings
- avoid some strcmp() calls where the release number at the end wasn't
  important

svn path=/trunk/; revision=45091
2012-09-24 10:29:19 +00:00
Martin Mathieson 32ed74e83d Shouldn't set the time in seek_read() after all. At least the pcap
support doesn't.

svn path=/trunk/; revision=45022
2012-09-20 10:21:04 +00:00
Jeff Morriss 3729335973 We always HAVE_CONFIG_H so don't bother checking whether we have it or not.
svn path=/trunk/; revision=45016
2012-09-20 01:48:30 +00:00
Jeff Morriss 3551a86c36 We always HAVE_CONFIG_H so don't bother checking whether we have it or not.
svn path=/trunk/; revision=45015
2012-09-20 01:29:52 +00:00
Martin Mathieson a59117bd87 Fix a couple of dumping issues seen while working on 'reorder'.
svn path=/trunk/; revision=45003
2012-09-19 09:24:11 +00:00
Gerald Combs 762e5ac93f Create a common libui using CMake similar to what we do with Autotools.
Move the GTK+ text import code to the common UI directory. Create
wtap_encap_requires_phdr() from code in file_import_dlg.c.

svn path=/trunk/; revision=44904
2012-09-14 20:23:18 +00:00
Anders Broman 19f6a77cee From Nikhil Kalu:
Enhancement to add more trace record fields in Citrix NetScaler capture file format.

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

svn path=/trunk/; revision=44895
2012-09-14 11:11:37 +00:00
Jeff Morriss 621120248d From Stephen Donnelly via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7266 :
Since we have to 'downconvert' the ERF time stamps to Wireshark's internal
representation anyway, we may as well report the resolution which we convert
to, rather than the original native resolution.

svn path=/trunk/; revision=44800
2012-09-07 01:23:48 +00:00
Martin Mathieson d2b7806d3f Avoid some calls to strlen() by remembering return value from
g_strlcpy().

svn path=/trunk/; revision=44608
2012-08-21 17:19:05 +00:00
Martin Mathieson d29d88e687 Ignore '\r' which will be found at the end of a line when a windows host
writes a log.

Also re-line-up args under function definitions.

svn path=/trunk/; revision=44444
2012-08-11 15:19:25 +00:00
Anders Broman 056c44a13e Create (fake)interface information when loading a libpcap file it might be needed when wrinting the file if the format is converted to pcapng.
Should we do this for other file formats as well?

A pcapng file with per packet encapsulation will need an IDB per encapsulation as the EPB does not have a linktype indicator only a interface index.

svn path=/trunk/; revision=44281
2012-08-06 11:53:26 +00:00
Guy Harris 835111692f From Richard Stearn: support for AX.25, including support for
LINKTYPE_AX25.

svn path=/trunk/; revision=44211
2012-08-02 16:54:43 +00:00
Guy Harris 4fc130af79 From Richard Stearn: AX.25 KISS protocol support.
Part 1 of the fix for bug 7529.

svn path=/trunk/; revision=44202
2012-08-02 06:45:51 +00:00
Michael Tüxen afe900aa9f Avoid a division by zero due to overflow.
This should fix the crash in
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7266

svn path=/trunk/; revision=44141
2012-07-30 20:53:42 +00:00
Stig Bjørlykke 5affa94d1e Added missing entry for WTAP_ENCAP_SDH.
svn path=/trunk/; revision=44138
2012-07-30 13:54:28 +00:00
Michael Tüxen 64ab313254 Some more debug info.
svn path=/trunk/; revision=44076
2012-07-27 19:13:38 +00:00
Michael Tüxen f4e855f1fc It seems that the length should unsigned, not signed.
This fixes part of
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7533
which deals with Crash in vwr.c while reading the capture file.

svn path=/trunk/; revision=44075
2012-07-27 18:59:29 +00:00
Michael Tüxen d8c4c4617c Handle the case where no IDB follows the SHB. This fixes part of
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7533
which deals with Div by 0 crash in pcapng_read_packet_block().

svn path=/trunk/; revision=44074
2012-07-27 18:43:53 +00:00
Martin Mathieson 7901962209 Fix another uninitialised bug (the same bug in _read() I fixed
yesterday, also in _seek_read()).  Spotted by running 'valgrind-wireshark.sh -2'.

svn path=/trunk/; revision=44043
2012-07-26 13:59:20 +00:00
Martin Mathieson ca8d59f834 Initialize a byte to avoid more valgrind warnings.
svn path=/trunk/; revision=44019
2012-07-25 22:56:08 +00:00
Martin Mathieson 2f3a057bca Don't write one payload byte too many. Spotted by valgrind!
svn path=/trunk/; revision=44016
2012-07-25 21:53:39 +00:00
Guy Harris 633de5c7d1 Add a routine that, given a set of packet encapsulation types, returns
the per-file encapsulation type needed to write out a set of packets
with all those encapsulation types.  If there's only one such
encapsulation type, that's the type, otherwise WTAP_ENCAP_PER_PACKET is
needed.  Use that in wtap_dump_can_write_encaps().

Also use it in cf_save_packets() and cf_export_specified_packets(), so
that we can write out files with WTAP_ENCAP_PER_PACKET as the file
encapsulation type and only one actual per-packet encapsulation type in
some cases where that failed before.  This fixes the case that showed up
in bug 7505, although there are other cases where we *could* write out a
capture in a given file format but won't be able to do so; fixing those
will take more work.

#BACKPORT

(Note: this adds a routine to libwiretap, so, when backported, the
*minor* version of the library should be increased.  Code that worked
with the version of the library prior to this change will continue to
work, so there's no need to change the *major* version of the library.)

svn path=/trunk/; revision=43847
2012-07-20 04:00:29 +00:00
Michael Mann 7184dac548 Addresses https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3895. Note that this doesn't write a Nokia file type properly, it just doesn't corrupt an existing one (read in by Wireshark) if resaved.
svn path=/trunk/; revision=43815
2012-07-19 01:00:49 +00:00
Guy Harris b459c468a3 Set the 802.11 "already decrypted" flag to FALSE for file formats other
than Network Instruments Observer files, as we don't know whether they
are already decrypted.

svn path=/trunk/; revision=43796
2012-07-18 22:48:18 +00:00
Guy Harris b40db9cf4c Add to the 802.11 pseudo-header a "this is already decrypted" flag, set
it as appropriate in the code to read Network Instruments Observer
captures (rather than tweaking the "protected" flag in the packet data),
and use that flag in the 802.11 dissector.

Fix indentation while we're at it (tabs are not *ipso facto* 4 spaces).

svn path=/trunk/; revision=43795
2012-07-18 22:10:34 +00:00
Anders Broman 14ba8d892e From Network Instruments by Tom Brezinski When a Network Instruments wireless capture is decrypted a flag is set on the packet in the BFR file indicating that the packet is decrypted instead of modifying the protected flag in the frame control flags of the packet header. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7478
svn path=/trunk/; revision=43727
2012-07-15 16:37:25 +00:00
Martin Mathieson e7b8e93e27 memcpy() is quite a bit faster than g_strlcpy()!
svn path=/trunk/; revision=43675
2012-07-11 20:53:24 +00:00
Guy Harris 4de568eb10 Don't ask for information about an interface greater than the maximum
interface for which we have information.

Fixes bug 7467.

Should also cause an error message, rather than an unreadable capture
file, to be produced for the cases in bug 7381.  (This isn't a fix for
bug 7381; it's arguably an improvement, in the sense that a circuit
breaker tripping or a fuse blowing for a short circuit is an improvement
over a fire starting, but it's not a *fix*, any more than a circuit
break or fuse *fixes* the short circuit.)

#BACKPORT

svn path=/trunk/; revision=43657
2012-07-11 03:57:13 +00:00
Guy Harris 447bc256c1 AARGH. There are two lumps of (almost-)identical code to handle
interface information when opening an output file, one of which I fixed
in my previous checkin and the other of which I didn't notice.  Shuffle
code around a little bit so that the lumps are identical and then put
them into a common routine (*with* the fix in question).

#BACKPORT

svn path=/trunk/; revision=43655
2012-07-11 03:50:28 +00:00
Guy Harris d419e7e30c Set the time units per second correctly if, in wtap_dump_open_ng(),
we're making a fake interface description (it should match the time
stamp resolution).  The dump code for pcap-NG now requires the time
units per second value, as it needs to correctly compute the time stamp
value to write out in an EPB.

svn path=/trunk/; revision=43652
2012-07-10 19:59:39 +00:00
Guy Harris 8891144224 When writing an EPB, calculate the time stamp based on the resolution
for the interface, not based on the default resolution of 1 microsecond.
Fixes bug 7457.

Fix a comment.

Clean up indentation.

#BACKPORT

svn path=/trunk/; revision=43649
2012-07-10 19:12:37 +00:00
Guy Harris f71fd4318c Fix up some comments.
svn path=/trunk/; revision=43633
2012-07-09 23:14:50 +00:00
Guy Harris 881a925f6a Fix another comment.
svn path=/trunk/; revision=43632
2012-07-09 23:12:21 +00:00
Guy Harris 65b2c9a80e Fix some comments.
svn path=/trunk/; revision=43631
2012-07-09 23:10:45 +00:00
Guy Harris 9fcbc2377f The names "etherpeek" and "airopeek" are a bit misleading, as the
"etherpeek.c" file format is used by AiroPeek and the "airopeek9.c" file
format is used by EtherPeek.

Instead, use the names that WildPackets apparently uses for those
formats - "classic" and "tagged".

svn path=/trunk/; revision=43630
2012-07-09 23:07:28 +00:00
Anders Broman 1ae38887b6 From Evan Huus:
Grab-bag of unused variables.

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

svn path=/trunk/; revision=43616
2012-07-09 01:49:02 +00:00
Jakub Zawadzki 33bfa85452 Initial support for D-Bus dissection (bug #5502)
svn path=/trunk/; revision=43542
2012-06-29 15:23:21 +00:00
Jakub Zawadzki bf81b42e1e Update Free Software Foundation address.
(COPYING will be updated in next commit)

svn path=/trunk/; revision=43536
2012-06-28 22:56:06 +00:00
Gerald Combs ff0d1ec3fa ascend_scanner.c includes ascend.h. Add corresponding makefile
dependencies, otherwise we might have a race condition when doing
parallel makes. Hopefully this will fix intermitten buildbot failures
we've been getting lately.

svn path=/trunk/; revision=43387
2012-06-19 19:53:03 +00:00
Guy Harris fc2d1024de Forgot to use wtap_dump_can_write_encaps()'s final name.
svn path=/trunk/; revision=43317
2012-06-17 16:53:31 +00:00
Guy Harris 2bd813507a Export a wtap_dump_can_write_encaps() routine from Wiretap; it takes a
file type and a GArray of encapsulation types and returns TRUE if a
capture with all those encapsulation types can be written to a file in
that file type and FALSE otherwise.  Use it where appropriate.

svn path=/trunk/; revision=43315
2012-06-17 16:44:09 +00:00
Guy Harris c63aa61658 Have wtap_get_savable_file_types() take an array of encapsulations and
only return file types that could handle a single file with all those
encapsulations - this means that

	1) if there's more then one encapsulation, the file format has
to handle per-packet encapsulation;

	2) just because a file format handles per-packet encapsulation,
that doesn't mean that it can handle the *particular* encapsulations
being handed to it.

This fixes some cases where we were claiming that a file could be saved
in a format that doesn't actually support it (e.g., ISDN files being
reported as savable in pcap-NG format - there's no LINKTYPE_ value for
ISDN including B and D channels).

svn path=/trunk/; revision=43300
2012-06-17 01:32:50 +00:00
Gerald Combs 1a7470c6be Forward-port r43165 and r43168 from trunk-1.6.
------------------------------------------------------------------------
  r43165 | gerald | 2012-06-08 14:23:25 -0700 (Fri, 08 Jun 2012) | 4 lines
  Changed paths:
     M /trunk-1.6/epan/Makefile.am
     M /trunk-1.6/wiretap/Makefile.am
     M /trunk-1.6/wsutil/Makefile.am
  
  Use separate commands in the dumpabi recipes instead a big huge long
  chain. If abi-compliance-checker fails print the contents of its
  log file.
  ------------------------------------------------------------------------
  r43168 | gerald | 2012-06-08 15:43:50 -0700 (Fri, 08 Jun 2012) | 2 lines
  Changed paths:
     M /trunk-1.6/epan/Makefile.am
     M /trunk-1.6/wiretap/Makefile.am
     M /trunk-1.6/wsutil/Makefile.am
  
  Make sure ln happens in the right directory.
  ------------------------------------------------------------------------

We don't currently have a usable tag for "git describe --tags
--abbrev=0" to latch onto so just use the first 1.9 commit.

svn path=/trunk/; revision=43170
2012-06-08 23:54:22 +00:00
Gerald Combs 39dbd45c9f Fix some dead assignments.
svn path=/trunk/; revision=43157
2012-06-08 17:20:44 +00:00
Anders Broman 7881fe8493 From Stephen Donnelly: Correct ERF name, add WTAP_ENCAP string display https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7313
svn path=/trunk/; revision=43141
2012-06-06 20:35:37 +00:00
Jakub Zawadzki 9435b3f693 Fix bug #7340
interface name can also contain hyphen (v1-untrust, v1-trust).

svn path=/trunk/; revision=43139
2012-06-06 19:59:55 +00:00
Anders Broman 5bd0c263f2 From Andrew Kampjes:
SDH support for wireshark.

- Added GPL license.
- Removed not needed includes.
- Skipped th .h file as it wasn't used.

svn path=/trunk/; revision=43106
2012-06-05 10:42:38 +00:00
Guy Harris 00d329575d Casting a negative value to unsigned makes it positive; I'm not sure
that will do the right thing here.  Instead, cast its negative (which is
positive) to unsigned, use that value as the adjustment, and flip the
signs of the subsequent adjustment operations.

svn path=/trunk/; revision=43105
2012-06-05 08:59:37 +00:00
Anders Broman af9f210f5c Add another cast to make it build on Win32.
svn path=/trunk/; revision=43104
2012-06-05 08:39:58 +00:00
Guy Harris 92bd70a380 Making "had" a ptrdiff_t caused warnings, even if it eliminated a
warning about assigning the difference between two (64-bit) pointers to
a (32-bit) variable.  That difference is guaranteed to fit in an
unsigned int; make "had" an unsigned int, and cast the difference to
unsigned int before assigning it to "had".

svn path=/trunk/; revision=43103
2012-06-05 08:04:15 +00:00
Guy Harris 7ed3d0e959 From Jakub Zawadzki: when seeking backwards, if the seek will put you at
a position that's in our data buffer, just reposition within the
buffer, don't do any seeks or I/O on the underlying file.  This lets us
do some backwards seeking on a pipe, to allow the rewind-and-try scheme
we use to try to identify capture file types to work, at least for some
capture file formats (those that have magic numbers at the beginning or
have heuristics that don't require much data), on pipes, allowing, for
example, TShark to read those formats from a pipe.

svn path=/trunk/; revision=43102
2012-06-05 07:24:17 +00:00
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
Bill Meier ee89329b9a Various minor cleanup:
- fix a few small memory leaks;
 - fix some indentation to match style used (gnu);
 - remove trailing whitespace;
 - ...

svn path=/trunk/; revision=42196
2012-04-22 18:44:10 +00:00
Guy Harris 7dc39930a6 Global variables considered harmful (and unnecessary).
svn path=/trunk/; revision=42189
2012-04-22 02:03:29 +00:00
Martin Mathieson dae0b453f0 Lose some more unused variables reported by clang.
svn path=/trunk/; revision=42173
2012-04-21 02:43:11 +00:00
Martin Mathieson 048833b933 Try to fix up some clang warnings. Will look at other modules I added
recently later.

svn path=/trunk/; revision=42167
2012-04-20 18:09:50 +00:00
Martin Mathieson d74383ed1c Add a couple of casts to try to make the Windows-7-x64 buildbot happy.
svn path=/trunk/; revision=42159
2012-04-20 12:44:19 +00:00
Martin Mathieson b227c024fe Missed file from previous commit.
svn path=/trunk/; revision=42156
2012-04-20 12:09:16 +00:00
Martin Mathieson 45252c84e3 Patch for https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5048
From Tom Cook and Tom Alexander.

1. A VWR encapsulation that reads VeriWave capture files (*.vwr)
generated from
WaveTest test hardware
2. Dissectors that display the VeriWave tap headers (both 802.11 and
Ethernet)
3. A dissector for the WaveAgent protocol.  The WaveAgent dissector is
heuristic and parses the WaveAgent packet (a UDP payload).

The WaveAgent dissector has been Fuzz tested.

The VWR ENCAP and dissectors have been used extensively by VeriWave
customers in a special version of WireSark compiled by VeriWave.

svn path=/trunk/; revision=42155
2012-04-20 12:08:31 +00:00
Guy Harris bb36edf54e Fix more indentation.
svn path=/trunk/; revision=42147
2012-04-20 01:44:49 +00:00
Guy Harris 5a1b276845 Use consistent 2-space indentation, and don't use tabs.
svn path=/trunk/; revision=42146
2012-04-20 01:43:12 +00:00
Guy Harris 33fc4a29bc Fix typo.
svn path=/trunk/; revision=42145
2012-04-19 23:58:53 +00:00
Guy Harris 13592b9b57 Don't byte-swap bytes that aren't there.
svn path=/trunk/; revision=42144
2012-04-19 23:19:10 +00:00
Anders Broman ec0c5baf4f From Rolf Fiedler:
patch to fix mp2t.c to reject more byte streams that are not MPEG2.

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

svn path=/trunk/; revision=42127
2012-04-18 08:32:12 +00:00
Anders Broman be31ffaeb0 Get the Windows build going again. The Netxray "fix" cast to guint8 may not be OK.
svn path=/trunk/; revision=42125
2012-04-18 08:15:32 +00:00
Alexis La Goutte 6aedbbaf35 From Colus Tang via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7134
Unable to display the correct IEEE802.11 MCS data rates due to header definition

The problem is due to the ieee_802_11_phdr.data_rate is defined as guint8,
since this variable is counting number of 0.5Mbps units, any datarates which is
higher than 255Mbps would get wrapped up.  In the above example, only the lower
8bit value will be put into the ieee_802_11_phdr which is 0x04 and result in
the incorrect 2Mbps display.

There are 802.11n WLAN product is capable to transmit @450Mbps, we should fix
this data_rate from guint8 to guint16.

#BACKPORT

svn path=/trunk/; revision=42123
2012-04-18 07:22:12 +00:00
Guy Harris 477185a387 If we see a 5View time-stamped header with a bad key, make sure we
return the right error code and information string.

InfoVista bought Accellent Group, and, at least according to the
InfoVista Web site, it's "5View", not "5Views".

svn path=/trunk/; revision=42119
2012-04-18 02:48:23 +00:00
Guy Harris 81209da65b Fix some indentation errors from the previous change.
svn path=/trunk/; revision=42118
2012-04-18 00:54:11 +00:00
Guy Harris e3053e0105 Get rid of tabs, so we don't have to worry about 4-space vs. 8-space tabs.
svn path=/trunk/; revision=42117
2012-04-18 00:51:18 +00:00
Michael Tüxen bacf81ff06 Fix https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7048
Write timetamps for the interface statistic blocks the way specified
by http://www.winpcap.org/ntar/draft/PCAP-DumpFileFormat.html


svn path=/trunk/; revision=42080
2012-04-15 11:11:36 +00:00
Michael Tüxen 587e0213eb Whitespace cleanup (done while debugging).
svn path=/trunk/; revision=42079
2012-04-15 11:08:40 +00:00
Martin Mathieson 722c68ec90 Fix a typo (just clearing my client out before I start doing diffs).
svn path=/trunk/; revision=42077
2012-04-15 01:38:12 +00:00
Guy Harris f3c2e6087e More double-free fixes - destroy_k12_file_data() frees its argument, so
calling g_free() on that argument after calling destroy_k12_file_data()
is always an error.

svn path=/trunk/; revision=42067
2012-04-14 17:20:22 +00:00
Anders Broman f4c5e276c5 From From Evan Huus: Potential double-free while importing k12xx *.rf5 files https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7084
svn path=/trunk/; revision=42062
2012-04-14 07:53:22 +00:00
Jakub Zawadzki 8a1dc57c03 Remove doubled semicolons and semicolons outside function.
svn path=/trunk/; revision=42053
2012-04-13 20:22:31 +00:00
Guy Harris 4a8f46a5ac Call LAPD-with-Linux-pseudoheader "linux-lapd", and fix its description
to indicate the Linux pseudo-header.

Fix the description of LAPD-without-Linux-pseudoheader to be just
"LAPD".

svn path=/trunk/; revision=42018
2012-04-10 23:32:16 +00:00
Guy Harris 51e76d89eb Fix tpo.
svn path=/trunk/; revision=42017
2012-04-10 23:28:17 +00:00
Guy Harris 4db2d3443a It's "X.25", not "X25".
svn path=/trunk/; revision=42016
2012-04-10 23:27:39 +00:00
Jakub Zawadzki ac5c40e6c5 Mark some function static.
svn path=/trunk/; revision=41999
2012-04-09 19:43:19 +00:00
Gerald Combs e5cd6c087e 1.7.1 → 1.7.2.
svn path=/trunk/; revision=41971
2012-04-06 17:27:20 +00:00
Guy Harris 154c0f37dd Indicate where BACnet MS/TP is specified.
Add a new WTAP_ENCAP_BACNET_MS_TP_WITH_PHDR encapsulation type, for use
by the EyeSDN file reader; unlike the pcap-encapsulated MS/TP, it
includes a direction indicator.  Don't treat WTAP_ENCAP_BACNET_MS_TP as
if it has a direction indicator, as it doesn't; instead, do that for
WTAP_ENCAP_BACNET_MS_TP_WITH_PHDR.

Add some missing entries to encap_table_base for WTAP_ENCAP_ values that
didn't get entries added.

svn path=/trunk/; revision=41969
2012-04-06 03:42:32 +00:00
Guy Harris ae62dc3bdb Use tabs more uniformly.
svn path=/trunk/; revision=41966
2012-04-05 21:24:10 +00:00
Guy Harris a98336862a WTAP_ENCAP_MTP2 is for MTP2 *without* a pseudo-header giving direction
or other information; WTAP_ENCAP_MTP2_WITH_PHDR is for MTP2 *with* such
a pseudo-header.  Use WTAP_ENCAP_MTP2_WITH_PHDR for the EyeSDN captures,
and don't assume there's a pseudo-header if you have WTAP_ENCAP_MTP2.

svn path=/trunk/; revision=41962
2012-04-05 20:25:26 +00:00
Jakub Zawadzki c67d24077e Allow loading xml files (file MUST start with <?xml).
I needed it for testing (bug #7028)
if you feel like it's stupid idea give me nfo :)

svn path=/trunk/; revision=41944
2012-04-04 20:52:52 +00:00
Jeff Morriss 75c3c92f19 Add a "-build" argument to checkAPIs.pl. Use that argument when building
from makefiles (and thus from the buildbot).

The intention is to be able to tell when a human is running the tool so we
can provide more code-review guidance.

As a starter, enable the "too many proto_tree_add_text() calls" check when
a human is running the tool.

svn path=/trunk/; revision=41943
2012-04-04 20:46:49 +00:00
Anders Broman 77b67c7456 From Rolf Fiedler:
Patch to add V5.2 tracing capability on E1 links using EyeSDN probes.

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

Removed preference related stufff as it's not needed.

svn path=/trunk/; revision=41915
2012-04-04 07:33:39 +00:00
Martin Mathieson f0798dabd1 Set up table to help with ascii-hex -> hex conversion in advance to
avoid testing static for every conversion.

svn path=/trunk/; revision=41900
2012-04-03 01:49:27 +00:00
Jakub Zawadzki bb8afe3f68 Add initial support for dissecting packets encapsulated in Netfilter LOG (DLT_NFLOG=239).
svn path=/trunk/; revision=41872
2012-03-31 17:29:41 +00:00
Jeff Morriss a572670849 From Martin Kaiser via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6984 :
The attached patch extends the mpeg2 ts format detection to take into account
that trailing bytes might be added to each packet.

Once it finds no sync after 188 bytes, it checks an additional 40 bytes for the
next sync byte and adjusts the packet size accordingly.

Only the 188 bytes of the actual ts packet are passed on to wiretap, the
trailer is omitted.

svn path=/trunk/; revision=41863
2012-03-30 23:19:49 +00:00
Gerald Combs beee8db906 Print the correct block size in a debug message.
svn path=/trunk/; revision=41773
2012-03-26 19:29:33 +00:00
Jeff Morriss 9c1bf7223e Don't mark the file as unsaved unless the capture or packet comments actually changed.
svn path=/trunk/; revision=41744
2012-03-23 01:41:59 +00:00
Anders Broman efa9387886 From Krishna:
Enhancement to add more trace record fields in Citrix NetScaler capture file format.

https://bugs.wireshark.org/bugzilla/show_bug.cgi?

svn path=/trunk/; revision=41740
2012-03-22 15:36:37 +00:00
Anders Broman 63c19bd071 Disable debug.
svn path=/trunk/; revision=41716
2012-03-21 08:58:27 +00:00
Anders Broman 456c7c2dc6 Try to make the buildbot happy.
svn path=/trunk/; revision=41684
2012-03-20 11:58:29 +00:00
Anders Broman 148c8a3a30 Write ISB:s if we have them.
svn path=/trunk/; revision=41683
2012-03-20 11:42:55 +00:00
Jeff Morriss 90df1a9d94 Set eol-style to native (just to make these files readable on *NIX).
svn path=/trunk/; revision=41654
2012-03-19 01:46:24 +00:00
Guy Harris 6c500f66f8 Fix indentation.
svn path=/trunk/; revision=41627
2012-03-17 08:46:20 +00:00
Jeff Morriss fb46cda196 When we're in a for(i=0,[...]) loop, don't reuse (and thus reset) 'i' in another for(i=0,[...]) loop. This fixes the capinfos double-free crashes that the fuzz bot has been experiencing.
svn path=/trunk/; revision=41610
2012-03-16 14:07:22 +00:00
Guy Harris 8af620acd7 Initialize the new num_stat_entries and interface_statistics members of
a wtapng_if_descr_t, so that we don't crash on a close (as is happening
in the buildbot).

Fix up some 4-space tabs.

svn path=/trunk/; revision=41575
2012-03-15 21:44:54 +00:00
Anders Broman fb0fec7c1c If we have one ISB, display the droped count from it.
svn path=/trunk/; revision=41561
2012-03-15 14:33:04 +00:00
Anders Broman dc674a6043 - Store ISB data.
- free IDB and ISB data when closing.

svn path=/trunk/; revision=41558
2012-03-15 13:46:42 +00:00
Jeff Morriss 603b4d4348 Don't free idb_inf in wtap_dump_open_ng(): free it in the callers. This fixes the double-free editcap crashes that the buildbot's been seeing lately.
svn path=/trunk/; revision=41542
2012-03-14 01:08:09 +00:00
Anders Broman 0e4998190f From Jose Pedro Oliveira:
Remove a printf line in wiretap/pcapng.c
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6718

svn path=/trunk/; revision=41534
2012-03-13 15:26:36 +00:00
Anders Broman bb611755e9 Add data structure to hold information from ISB:s
svn path=/trunk/; revision=41522
2012-03-13 08:36:52 +00:00
Anders Broman 35bf2e9619 From Jose Pedro Oliveira:
Enforce the modelines in wiretap/pcapng.c

svn path=/trunk/; revision=41506
2012-03-12 15:43:59 +00:00
Anders Broman 1a8f3eddc7 From Jose Pedro Oliveira: Add Modlines
svn path=/trunk/; revision=41495
2012-03-12 06:39:45 +00:00
Gerald Combs 7a8df2f485 In pcapng.c use the units per second value from the interface instead of
the default.

Add support for reading nseclibpcap files to dumpcap.

svn path=/trunk/; revision=41455
2012-03-10 00:24:42 +00:00
Anders Broman e15692be8a From Jose Pedro Oliveira: Corrects several 'wdh->bytes_dumped += ...' lines. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6718
svn path=/trunk/; revision=41443
2012-03-09 04:50:43 +00:00
Anders Broman cd2c726c8c The User & Network direction is reversed https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6656
svn path=/trunk/; revision=41402
2012-03-07 17:02:27 +00:00
Anders Broman 1b25b08a0f From Martin Kaiser: correct sorting for wiretap's file type list
svn path=/trunk/; revision=41387
2012-03-07 08:03:42 +00:00
Anders Broman 7fba54762b From Mike Wakerly: Add wiretap suport for LINKTYPE_NFC_LLCP
svn path=/trunk/; revision=41368
2012-03-06 09:02:06 +00:00
Anders Broman ddd69f4775 Use correct lenght when writing if_filter_str.
svn path=/trunk/; revision=41352
2012-03-05 09:32:21 +00:00
Anders Broman a20cfcc745 Fix calculation of pading for if_filter_str.
svn path=/trunk/; revision=41351
2012-03-05 09:21:36 +00:00
Anders Broman 995e10ef36 From Martin Kaiser:
wiretap mpeg2 ts: eof vs short read
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6909

svn path=/trunk/; revision=41350
2012-03-05 08:34:36 +00:00
Anders Broman 4db442ab90 From Martin Kaiser:
wiretap mpeg2 ts: more thorough check for sync byte.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6908

svn path=/trunk/; revision=41349
2012-03-05 08:30:39 +00:00
Guy Harris 732de9018d Squelch a can't-really-happen uninitialized reference warning.
svn path=/trunk/; revision=41342
2012-03-04 20:49:17 +00:00
Anders Broman 7348837ccd Use parentheses
svn path=/trunk/; revision=41341
2012-03-04 19:31:33 +00:00
Anders Broman 971cb84877 if_filter isn't a string per se,The first byte of the Option Data keeps a code of the filter used
svn path=/trunk/; revision=41339
2012-03-04 19:01:14 +00:00
Guy Harris aa974fda50 Make sure all names in NRB records are null-terminated; report an error
if they're not.  Also report an error for zero-length names.

Handle multiple names per IP address - the pcap-NG spec says "one or
more zero-terminated strings containing the DNS entries for that
address."

Use a Buffer to hold NRB records, so there's no maximum size (well,
there is a maximum size, because the record length is 16 bits, but let's
not allocate 64KiB on the stack if we don't have to).

svn path=/trunk/; revision=41332
2012-03-04 02:20:25 +00:00