Commit graph

4036 commits

Author SHA1 Message Date
Gerald Combs
bebb63bea9 Keep comments from stealing hierarchy statistics.
If a packet has a comment, the Protocol Hierarchy Statistics dialog will
add its stats to a top-level "Packet comments" node instead of the
"Frame" node. Add a check for the pkt_comment protocol ID and skip over
it if we find it. Affects Wireshark 2.0, 1.12, 1.10, and probably
earlier versions.

As an alternative we could always force "Frame" to be the first item in
the tree.

Change-Id: If7cd817071caf6219515f5d8121b3a1a2c0d79a6
Reviewed-on: https://code.wireshark.org/review/13297
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2016-01-15 17:56:46 +00:00
Paul Offord
d1cb746822 plugin_if: Add function to get capture file info
This is an enhancement to allow a plugin to obtain capture file
and other status information via a simple plugin_if call

Added GTK port to this revision

Bug: 11968
Change-Id: Ibcf4e8b43c6f3b48e971fa4020a07cc273234fb8
Reviewed-on: https://code.wireshark.org/review/13103
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Roland Knall <rknall@gmail.com>
2016-01-15 11:39:58 +00:00
Roland Knall
75ff25f285 extcap: Add list of extcaps to about dialog
Adds the list of available extcaps to the plugin list in the
About dialog of Wireshark (Qt only). To do this, and additional
sentence is provided in the extcap arguments list, which allows
for additional information to be passed (as of right now, just
version and display is used)

Additionally, cleans up the code when using g_free.

Bug: 11683
Change-Id: I04a958e2b73c9a707ab1cb4f2fc8345833a854a9
Reviewed-on: https://code.wireshark.org/review/13224
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Reviewed-by: Roland Knall <rknall@gmail.com>
2016-01-15 11:30:39 +00:00
Pascal Quantin
11b581be09 Qt: fix Z-order assignment: '' is not a valid widget warning
Change-Id: Ic9f41f34b017d161f13604cf8813bc70aa7a68d4
Reviewed-on: https://code.wireshark.org/review/13284
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-01-14 13:21:25 +00:00
Stig Bjørlykke
8572c6abe7 Qt: Separate window titles with Em dash on OS X
The window titles on OS X are usually separated by Em dash,
so use this when appending prefs.gui_window_title.

Change-Id: Ice46179fc872eefc7662b42052b428eabf1b6d61
Reviewed-on: https://code.wireshark.org/review/13256
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2016-01-14 07:28:43 +00:00
Stig Bjørlykke
91c166867d Qt: Add back setWindowFilePath
With support for prepend and append to the window title.

Change-Id: I2215a080b85d36ceb47495bbb94617743fc3f83e
Reviewed-on: https://code.wireshark.org/review/13031
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2016-01-14 07:27:36 +00:00
Gerald Combs
8fe1cf77eb Fix capture output options.
Remove the "permanent file" checkbox. We weren't properly checking its
value and it was extraneous. Add placeholder text about temporary files.

Move the filename above the other options. That's where it is in the
GTK+ UI and it's arguably the most important.

When capturing to multiple files the size and duration settings aren't
mutually exclusive.

Change-Id: I1da1d3524e3c2de2361050913281472a172faa3a
Reviewed-on: https://code.wireshark.org/review/13269
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-01-14 05:22:08 +00:00
Gerald Combs
cd5b932812 Qt: "Conversation" → "Coloring"
Change actionViewColorizeNewConversationRule to
actionViewColorizeNewColoringRule and change its text accordingly.
We're building a rule based on a general filter, not a conversation.

Change-Id: Ic408050eed6f24690e3e759e6963f9930fe4b5e9
Reviewed-on: https://code.wireshark.org/review/13266
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-01-14 05:21:28 +00:00
Gerald Combs
7c2eaefd07 Qt: Show the horizontal scrollbar in the packet detail.
Call resizeColumnToContents when we fill, clear, expand, or contract
items. This make sure the horizontal scrollbar shows up instead of
eliding items.

A commonly suggested solution is to call
header()->setSectionResizeMode(QHeaderView::ResizeToContents) followed
by header()->setStretchLastSection(false). This makes the scroll bar
show up when the tree is wider than the window, but when the column is
narrower than the window we end up with unused white space on the right.

Change-Id: I5896f6048385bed27858f0ac676b29a1bf1255cd
Reviewed-on: https://code.wireshark.org/review/13265
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2016-01-13 21:28:07 +00:00
Peter Wu
5539dba1df Do not apply color rule filter every dissection
Introduce a frame_data flag "need_colorize" to indicate that coloring
rules need to be evaluated and set it for the GUI (not tshark). This
restores the original performance characteristics.

It additionally fixes a regression where the color filter name and
filter is not shown anymore in the tree (I guess it is related to the
edt->tree being NULL when re-selected, resulting in empty color_filter).

Remaining problems:

 - Display filter cannot contain frame.coloring_rule.* fields. Code is
   present to enable this, but then a method is needed to avoid an
   expensive second calculation (which is why it is disabled).
 - The columns are still not updated after coloring rule change.
 - The two frame.coloring_rule fields in the tree are not updated when
   the coloring rule is changed (e.g. Ctrl-1).

The last two issues were supposed to be fixed by the previous patch, but
there is probably some missing code... Tested with GTK and Qt.

Bug: 11980
Change-Id: I3ef7713b28db242e178d20f6a5f333374718b52e
Reviewed-on: https://code.wireshark.org/review/13170
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-01-13 07:38:25 +00:00
Gerald Combs
1f0c9f6693 Qt: Update some keyboard shortcuts to match the GTK+ UI.
As the QKeySequence documentation says,

  "On Mac OS X, references to "Ctrl", Qt::CTRL, Qt::Control and
   Qt::ControlModifier correspond to the Command keys on the Macintosh
   keyboard, and references to "Meta", Qt::META, Qt::Meta and
   Qt::MetaModifier correspond to the Control keys. Developers on Mac OS
   X can use the same shortcut descriptions across all platforms, and
   their applications will automatically work as expected on Mac OS X."

This also applies to Qt Creator on OS X. If you assign a shortcut to an
action that contains the Control key, it will draw the ^ symbol in the
UI but will save "Meta" in the .ui file instead of "Ctrl", in the manner
of a well-meaning-but-not-helpful comedy sidekick.

This happened for the actions listed below. Replace "Meta" in their
shortcuts with "Ctrl".

- Unmark all (Ctrl+Alt+M)
- Next marked packet (Ctrl+Shift+N)
- Previous marked packet (Ctrl+Shift+B)
- Show packet times... (Ctrl+Alt+1 - Ctrl+Alt+8)

This matches the GTK+ UI on Windows and Linux, and uses the Command key
on OS X. If we really want to use the Control key everywhere we can
override the action sequences in main_window.cpp. We might want to do
this for the "mark" actions since Command+M is the standard key for
"Minimize this window".

Change-Id: I1537cee5bc27a32b505bace01c1de3703a18dd6a
Reviewed-on: https://code.wireshark.org/review/13238
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2016-01-13 06:06:50 +00:00
Guy Harris
fea05007e4 Need to include <epan/prefs.h> to declare preference functions.
Change-Id: I5fbc9d25dde30ce8d14c80e765a3a8a630fec708
Reviewed-on: https://code.wireshark.org/review/13239
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-01-12 19:03:28 +00:00
Evan Huus
4802325ea6 Fix type: strlen returns a size_t
Change-Id: I5a3ea655c4a362bbacb72e8c7a19f3c96d22a0fc
Reviewed-on: https://code.wireshark.org/review/13231
Reviewed-by: Evan Huus <eapache@gmail.com>
2016-01-12 15:17:40 +00:00
Michael Mann
c62547b951 Refactor "Follow Stream" functionality on all GUI interfaces.
Create a "registration" system for Follow functionality so most of the work can be abstracted into a dissector and GUI can just be responsible for "display".
This also removes the global variables in follow.c to open up multithreading possibilities.

TCP, UDP and HTTP all have the same "tap interface" for Follow functionality (passing a tvb with byte data to "follow"). SSL still has it's own behavior, so Follow structures have to take that into account.

TShark through the Follow registration now has support for HTTP.

The only thing possibly missing is dynamic menu generation to further reduce explicit knowledge of Follow "type" (and rely on registration)

Bug: 11988
Change-Id: I559d9ee1312406ad0986d4dce9fa67ea2103b339
Reviewed-on: https://code.wireshark.org/review/13161
Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-01-12 15:08:18 +00:00
Stig Bjørlykke
da798683de Qt: Refactor testCaptureFileClose
Cleanup arguments and simplify code for button texts.

Change-Id: Ie505650889212082e088a525f4b82e62b9177b0d
Reviewed-on: https://code.wireshark.org/review/13180
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2016-01-12 14:20:25 +00:00
Guy Harris
694036c0e0 Fix indentation.
Change-Id: Icefabed4c9069bb3fe015739c805cd8fb2426ea5
Reviewed-on: https://code.wireshark.org/review/13213
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-01-12 07:24:07 +00:00
Guy Harris
a5dee51a1a Move some definitions and declarations around.
This removes duplicates (including one incorrect duplicate), and also
means we have only one chunk_type_values[] value_string.

Change-Id: I4c3035b1cfb5c86cc7a5bf79feb9a5b0204b6dcc
Reviewed-on: https://code.wireshark.org/review/13212
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-01-12 07:22:30 +00:00
Guy Harris
95d6848253 Add some missing curly braces.
Change-Id: Ifcacd1fedd8c71d47ab618d036765b8195d4ccbb
Reviewed-on: https://code.wireshark.org/review/13209
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-01-12 05:24:11 +00:00
Guy Harris
8a5b29c8f3 Fix indentation.
Change-Id: I5b01865b33b65ee55718be680b6d17cdeee1a809
Reviewed-on: https://code.wireshark.org/review/13208
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-01-12 05:20:42 +00:00
Stig Bjørlykke
ebdaace002 Lua: Added reload_lua_plugins
This makes it possible to trigger reloading Lua plugins from
within a Lua plugin.  This can be used when having a plugin to
update local plugins from a external source.

Renamed reload() to reload_packets() to clarify what's reloaded,
and added a alias (marked as obsoleted) from reload().

Change-Id: I4e529992af5f651613950329e73718dbda317d2e
Reviewed-on: https://code.wireshark.org/review/13024
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2016-01-11 07:43:36 +00:00
Gerald Combs
8ee0be1513 Qt: Restore the filename in the status bar.
Change isNull checks to isEmpty. This keeps us from pushing an empty
field status and clobbering the file name in the status bar. Make sure
we do the same for other statuses.

Change-Id: I68ea669bdafc6e1177c1b8aaa07781464371de96
Reviewed-on: https://code.wireshark.org/review/13175
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2016-01-10 23:02:39 +00:00
Stig Bjørlykke
2440f534b1 Qt: Fix testCaptureFileClose without packets
In MainWindow::testCaptureFileClose() we must always stop a running
capture if closing, even if not having any packets, because
cf_close() will fail (assert) if still in progress.

This fixes an issue (crash) when closing the application with
a running capture without packets.

This also fixes restarting current capture without packets, both
with and without "Confirm unsaved capture files".

Bug: 11981
Change-Id: Id0655fcc799682a4f45c855bc2e76386dffc35a5
Reviewed-on: https://code.wireshark.org/review/13121
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2016-01-10 19:23:19 +00:00
Gerald Combs
2227b6fa70 Add a comment about improvements for the OverlayScrollBar.
Change-Id: I2953deaa29691a2d12cb158456a650202dfeec77
Reviewed-on: https://code.wireshark.org/review/13171
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2016-01-10 18:43:12 +00:00
Gerald Combs
f0fd052185 Update the packet list documentation.
Update images and describe related packets and the intelligent
scrollbar. Suggest a way to make it easier to get a screenshot of
related packets.

Change-Id: I5bf27b0c53fb62f3e567765400141a374a465e4e
Reviewed-on: https://code.wireshark.org/review/13159
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2016-01-10 18:43:05 +00:00
Gerald Combs
a19b2a4a1e [Automatic update for 2016-01-10]
Update manuf, services enterprise-numbers, translations, and other items.

Change-Id: I2087677da0b09293ff156e39acbdbab8486262f4
Reviewed-on: https://code.wireshark.org/review/13167
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2016-01-10 16:11:10 +00:00
Peter Wu
33f8f48bc0 GTK: fix infinite loop at startup
Add the tap timer after validating all preferences, otherwise a zero
timeout will result in an infinite loop, visible by a splash screen that
never goes away.

Change-Id: I180a123ac2cc7774356e17f1f1d4dcaf38f252b4
Reviewed-on: https://code.wireshark.org/review/13156
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-01-10 08:10:34 +00:00
Peter Wu
174dc98892 Qt: fix infinite loop when gui_recent_files_count_max is negative
Change-Id: I7cfddd865ebe0cd01230e19bf20fee7964c40324
Reviewed-on: https://code.wireshark.org/review/13155
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-01-10 08:07:31 +00:00
Gerald Combs
628c068a94 Qt: Save the default capture device name.
Make sure we save the device name in capture.device. This should fix
the default device selection in the welcome screen on Windows.

Change-Id: I19337cf2813f3b5aba75228e855dad0a0f5e0f78
Reviewed-on: https://code.wireshark.org/review/13138
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2016-01-09 01:33:54 +00:00
Gerald Combs
8a23da3fd2 Revert "Qt: Try to fix Main Welcome Interfaces List Scrollbar"
Instead of calling InterfaceTree::reset (which clears our selection)
when we resize, just pass our resize event to QTreeWidget.

Additionally, select our default interface using setCurrentItem. This
fixes behavior broken in gb152ca3.

This reverts commit 7baac67149.

Bug: 11733
Change-Id: I58855de38561fcb6984273ae3910c0dfcda04e69
Reviewed-on: https://code.wireshark.org/review/13135
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2016-01-08 22:46:09 +00:00
Gerald Combs
308b653da2 Qt: Queue up redissection.
Make the WiresharkApplication::packetDissectionChanged →
MainWindow::redissectPackets connection queued rather than direct.
redissectPackets eventually calls update_progress_dlg, which processes
UI events.

This should keep the profile dialog from destroying itself prematurely
in a nested event loop when the user hits "OK".

Bug: 11979
Change-Id: I7276e08c1911708c3aca5ff05ab6a40bfc336add
Reviewed-on: https://code.wireshark.org/review/13134
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2016-01-08 21:44:48 +00:00
moshekaplan
cd7026951b Fix a lot of typos and misspellings
Change-Id: I8512cfa1d424f82a873a0e0e1d22c7b075fdd7f3
Reviewed-on: https://code.wireshark.org/review/13069
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-01-08 20:04:56 +00:00
Gerald Combs
0ce9ac4137 Add a Busy status to SyntaxLineEdit.
For CaptureFilterEdit it's possible to have an indeterminate state while
we're waiting on name resolution. Add a Busy status to SyntaxLineEdit
and set the text color to a mix of the normal foreground and background
colors (gray on most platforms).

Make the Busy state valid so that we don't have to wait on an
annoyingly-long name resolution to start capturing.

Update the global capture option filters using the main welcome capture
filter when we start a capture instead of when we've finished checking
the filter syntax.

Connect the CaptureFilterEdit returnPressed signal no matter what so
that we can start a capture by pressing return in the welcome screen
CaptureFilterEdit.

Add a fake resolution timeout to the CaptureFilterSyntaxWorker debug
code to make testing the different states easier.

Bug: 11950
Change-Id: I0cf01c0fbc0dd8065cdf5a91f1d6b224291b1ce6
Reviewed-on: https://code.wireshark.org/review/13110
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2016-01-08 17:53:28 +00:00
Pascal Quantin
af6768d3ef QT: add same warning as GTK when trying to save a decoded RTP stream that is not alaw/ulaw
Change-Id: Ia11e58a20c879d1ca3ead8479f8082e204d92caf
Reviewed-on: https://code.wireshark.org/review/13131
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2016-01-08 15:54:27 +00:00
João Valverde
d3e480ac76 Fix warnings for epan/prefs.c [-Wcast-qual]
Change-Id: I86032d624ee37edc86a868eb2aaaffce81a8807b
Reviewed-on: https://code.wireshark.org/review/12719
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: João Valverde <j@v6e.pt>
2016-01-08 15:28:45 +00:00
Stig Bjørlykke
5dcce344ac Qt: Sort traffic table default protos
When changing conversation types in Conversations and endpoint types
in Endpoints the tabs will be arranged alphabetically, so ensure that
the default protos also are alphabetically.

Change-Id: Ib0e8ffb744f63867e93282b7a81b1c11b0ee3dc4
Reviewed-on: https://code.wireshark.org/review/13107
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2016-01-07 12:35:55 +00:00
Guy Harris
949b9ba755 Don't include much of anything if HAVE_LIBPCAP isn't defined.
We don't need it.

Change-Id: Idca29cbd7208c388a1f5d4e2b0131f5cfddc7896
Reviewed-on: https://code.wireshark.org/review/13096
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-01-07 05:25:19 +00:00
Guy Harris
69a81b02f5 "#ifdef" out a definition not used if HAVE_LIBPCAP isn't defined.
Change-Id: Ifc0f89706c0633925c57d1fed3a56c7e531a3b39
Reviewed-on: https://code.wireshark.org/review/13095
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-01-07 05:20:39 +00:00
Gerald Combs
613b406023 Qt: Add recent capture filter entries.
Copy over and adapt missing logic from the GTK+ UI which adds recent
capture filter entries when we start a capture.

Change-Id: Ifcf8b719e53727b7c269d9890731d542d1759efc
Ping-Bug: 11950
Reviewed-on: https://code.wireshark.org/review/13086
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2016-01-07 01:19:21 +00:00
João Valverde
f410121cf2 Remove some unnecessary dependencies and cleanup some code
No need for the GTK dependency on dissectors/packet-ipv6.h.

Add the stream_addr typedef in follow.h to make some code simpler.

Change-Id: I1cf906f58734a90263141362f2da33a140f93533
Reviewed-on: https://code.wireshark.org/review/13063
Reviewed-by: João Valverde <j@v6e.pt>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-01-07 01:09:35 +00:00
Guy Harris
32cfb5a0ce Get rid of unused #define.
Change-Id: I16abf022ea79f763b82a28f9dffccbf56630f14c
Reviewed-on: https://code.wireshark.org/review/13087
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-01-07 00:34:28 +00:00
Michael Mann
57acc227f0 KISS the Follow TCP functionality.
[KISS - Keep It Simple, Stupid]
Convert the Follow TCP functionality to use a tap from the TCP dissector that passes the tvb of the payload.  This makes things A LOT simpler, but relies on the TCP dissector to make all decisions.
The "tap" logic passes tvb data
1. Before calls to process_tcp_payload
2. Before hf_tcp_segment_data fields (that aren't retransmissions or otherwise handled)

Follow up patches will be necessary to clean up all of the supporting "follow" functionality that is now useless.

Bug: 6925
Bug: 9780
Change-Id: I4e7f5d453519be839de39a109bafa899b9987139
Reviewed-on: https://code.wireshark.org/review/13038
Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-01-06 13:35:45 +00:00
Guy Harris
71c603b2fc Clean up more includes of wtap.h.
Change-Id: Ie53b64f7e5b39a50dffb62fc0b886da71e0a3bd2
Reviewed-on: https://code.wireshark.org/review/13066
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-01-06 00:25:19 +00:00
Stig Bjørlykke
ffb51b3afb Qt: Disable configurable interface settings for extcap
Disable promiscuous mode, snaplen, buffer size and monitor mode
settings for extcap interfaces.

Bug: 11865
Change-Id: I20c67815ece99b8e742e36c727f415931b87af1f
Reviewed-on: https://code.wireshark.org/review/13023
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2016-01-05 14:46:12 +00:00
Roland Knall
cfd5457ec0 extcap: Add regular expression validation support
Regular expressions follow the Qt Regex syntax, which is
 formulated after the Perl Regex syntax. A more detailed
 overview of the possible rules can be found at:
 http://doc.qt.io/qt-4.8/qregexp.html

 If a required option is present, even the double-click on
 the interface will first start the options dialog (Qt only)

 Required fields are marked bold and put first in the dialog.
 Additionally if validation failes (which it will if a required
 field is kept empty, but also if a non-required textfield is
 violating the defined regex), the label of the field is marked
 with red.

Change-Id: If04a1146d0dfa778332ab2a39122c7a6ee1e93d2
Reviewed-on: https://code.wireshark.org/review/12914
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2016-01-05 14:41:12 +00:00
Stig Bjørlykke
a7e3ba03ce Qt: Show capture filter warning
Change-Id: I080bcb25edcee0c38984cd1a7f7f36a7fd3ff36c
Reviewed-on: https://code.wireshark.org/review/13055
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2016-01-05 14:40:27 +00:00
Stig Bjørlykke
dfbea5d47c Qt: Don't check capture filter for user DLTs
This makes it possible to use a capture filter on an interface
with user DLTs (147-162).

Bug: 11656
Ping-Bug: 11668
Change-Id: Ie9931b27e8dc8ea239e7e04e26d0ae1cacba50c9
Reviewed-on: https://code.wireshark.org/review/12996
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2016-01-05 09:13:39 +00:00
Guy Harris
c1d447fc88 Remove unneeded "#if 0"ed out code.
If we ever need to look at the value of any field in the packet, we
should do it the way we do in the RTP analysis code, rather than walking
the entire protocol tree.

Get rid of an unnecessary extra level of indirection for the filter
string.

Change-Id: Ie95c0171da79e7f24019a3f67396f6a533959881
Reviewed-on: https://code.wireshark.org/review/13046
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-01-04 21:30:54 +00:00
Guy Harris
cdf9943717 Don't walk the entire protocol tree to extract the value of one field.
Instead, prime the epan_dissect_t's tree to look for rtp.ssrc, and
extract that value with proto_get_finfo_ptr_array().

Also, have the filter used to check whether the packet is a candidate
for RTP analysis to check for RTPv2 (and add a check for IPv4 or IPv6
back to the Qt version), and get rid of an unnecessary extra level of
indirection for that string.

In the Qt version, if findStreams() set the error string, don't
overwrite it with a "No streams found." indication, and fix error
handling for the "filter didn't compile" case.

Change-Id: I09d0ea37ccd4806d99e3b6394f2a8a376e974705
Reviewed-on: https://code.wireshark.org/review/13045
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-01-04 21:14:42 +00:00
Pascal Quantin
849d87af1c PPP: fix registration of CRTP (CNTCP) protocol
Also protect against any badly registered protocol

Bug: 11958
Change-Id: I0c03f50c2c5478a9524ad06e669510ffb5739b21
Reviewed-on: https://code.wireshark.org/review/13041
Reviewed-by: Michael Mann <mmann78@netscape.net>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2016-01-04 19:17:50 +00:00
Pascal Quantin
28287ec8a7 cli: packets / bytes conversation statistics are swapped
Bug: 11959
Change-Id: I594413b26bb33f38099046e26c1d20bba7f649fa
Reviewed-on: https://code.wireshark.org/review/13042
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2016-01-04 17:47:10 +00:00