Commit Graph

1919 Commits

Author SHA1 Message Date
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