Commit Graph

49318 Commits

Author SHA1 Message Date
Martin Mathieson 5320a5eddd DRX: start to show state prior to and after current PDU.
svn path=/trunk/; revision=52594
2013-10-13 22:00:09 +00:00
Anders Broman a361571bce As requested by Zoltán Lajos Kis, split the openflow dissector int one file per protocol version.
svn path=/trunk/; revision=52593
2013-10-13 21:25:19 +00:00
Cal Turney ee19aea96f SMB2 SRT can be very inaccurate in the presence of retransmissions: Retransmitted responses not only add additional (bogus) transactions but also the latency associated with them. This can greatly inflate the maximum and average SRT stats especially in the case of retransmissions triggered by the expiry of the rexmit timer (RTOs). Only calculating SRT for the first response received accomplishes this goal without requiring the TCP pref "Do not call subdissectors for error packets" to be set.
svn path=/trunk/; revision=52592
2013-10-13 20:19:30 +00:00
Bill Meier 2ac134b3c5 whitespace fixes; mostly: remove trailing blanks
svn path=/trunk/; revision=52591
2013-10-13 19:56:52 +00:00
Bill Meier 59277781ff Minor whitespace changes
svn path=/trunk/; revision=52590
2013-10-13 19:14:33 +00:00
Gerald Combs 3118bd5198 Don't clobber PKG_CONFIG_PATH.
svn path=/trunk/; revision=52589
2013-10-13 18:59:23 +00:00
Bill Meier 76d4b43a29 Minor whitespace, formatting & etc changes.
svn path=/trunk/; revision=52588
2013-10-13 18:14:59 +00:00
Evan Huus ee6916b838 When printing PDML, don't assume that all values with bitmasks are represented
as guint32 internally - they may be signed and/or 64-bit.

svn path=/trunk/; revision=52587
2013-10-13 16:10:43 +00:00
Gerald Combs 4e50b8bf97 [Automatic manuf, services and enterprise-numbers update for 2013-10-13]
svn path=/trunk/; revision=52584
2013-10-13 14:03:40 +00:00
Evan Huus e7a0c26bec Subsume README.binarytrees into wmem doxygen. The README was out of date
anyways, since Michael made key operations non-destructive in r44380.

svn path=/trunk/; revision=52583
2013-10-13 13:13:24 +00:00
Michael Mann 14d9d10373 openSAFETY: Dissection for second crc as well as plausability check. Bug 9261 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9261).
From Roland Knall

svn path=/trunk/; revision=52582
2013-10-13 12:25:01 +00:00
Graham Bloice 1299f24e7b Set CMake to use Python when building the tap register files.
svn path=/trunk/; revision=52581
2013-10-13 09:47:32 +00:00
Graham Bloice 9c4ee86784 Add CMake properties to targets so that they are logically organised when using a Visual Studio solution.
Add CMake properties to group the source files in epan into logical blocks when using a Visual Studio solution.

svn path=/trunk/; revision=52580
2013-10-13 09:21:55 +00:00
Pascal Quantin f5decf57f1 Fix dissection of Home Provider CID and fix a typo error
svn path=/trunk/; revision=52579
2013-10-13 08:47:05 +00:00
Evan Huus efdbb598b8 So a while back Jeff added some code to check that the offset+length passed to
proto_tree_add_item was valid *before* we short-circuited based on a NULL tree.
This was good in that it removed a common source of really-long-loop bugs. It
was less good in that it cost us about 8% in speed when doing a tree-less
dissection, but we decided the tradeoff was worth it.

After Anders' recent mail to -dev about performance, I started thinking about
how to optimize this. It occurred to me that the vast majority of the logic
involved in the check was dealing with the length value - fetching the actual
length if it was a counted string, calculating the length if it was -1, adding
the length to the offset in a way that was free from overflows, etc.

All of this is (theoretically) unnecessary - simply checking the offset without
worrying about the length will still catch the very-long-loops, since it is the
offset that increases in each iteration, not the length.

All that to justify:
- implement tvb_ensure_offset_exists which throws an exception if the offset is
  not within the tvb
- use it instead of all the complicated other logic in the pre-short-circuit
  step of proto_tree_add_item and friends

This gives us back about 3/4 of the performance we lost in the original patch.
We're still ~2% slower than without any check, but this is the best I can think
of right now.

svn path=/trunk/; revision=52578
2013-10-13 04:54:14 +00:00
Evan Huus f65ab9499b Order our conditionals to take advantage of the fact that we know tvb->length <=
tvb->reported_length. Small performance win on the hot path, and a bit easier to
read.

svn path=/trunk/; revision=52577
2013-10-13 00:13:20 +00:00
Pascal Quantin 6390f33772 Update the User Guide for the upcoming 1.11.0 release
svn path=/trunk/; revision=52576
2013-10-12 23:48:43 +00:00
Evan Huus a11b04b5d8 Tweak/simplify some tvbuff length check functions slightly. In my benchmarks of
dissecting without tree, they are costly because they now happen for every
proto_tree_add_item call even if tree is NULL.

svn path=/trunk/; revision=52575
2013-10-12 23:41:55 +00:00
Jörg Mayer 3ab8799526 Remove some things that I added while not understanding the real
problem/solution.
"Long" since solved by copying the solution from Makefile.nmake.

Small update to the status of cmake builds on windows

svn path=/trunk/; revision=52574
2013-10-12 22:08:03 +00:00
Evan Huus c2b2d204db Redo r52569 in a way that doesn't break the GUI. Add a mem_pool member to
tree_data and reference it directly when allocating/freeing tree items. This
lets us keep multiple around when we need them, and still lets us use
wmem_free_all for a major speedup. It also, coincidentally, lets us get rid of
the annoying fi_tmp hack that was needed before, since that element gets swept
up in the free_all with everything else.

Keep one pool cached to avoid creating/destroying a pool for each packet,
another minor performance win.

The various changes in approach seem to balance out pretty much exactly, this
still gives ~11% over pre-52569.

svn path=/trunk/; revision=52573
2013-10-12 21:01:17 +00:00
Evan Huus 2e1497b532 Revert r52569, it breaks the GUI since that sometimes has multiple trees active
at once.

svn path=/trunk/; revision=52572
2013-10-12 18:14:19 +00:00
Chris Maynard b610734a12 If the offset is out of bounds, have tvb_length_remaining() and tvb_reported_length_remaining() return 0 instead of -1. This should provide a better long-term fix for bugs/problems such as seen in https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9263. In the long-run, if we like this behavior, we can change the return value to a guint as well. Let's let it simmer for awhile first ...
svn path=/trunk/; revision=52571
2013-10-12 18:13:26 +00:00
Chris Maynard 65accd3c18 Don't assume that tvb_length_remaining() or tvb_reported_length_remaining() always return a value >= 0. Part of fix for https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9263
#BACKPORT(1.10,1.8)

svn path=/trunk/; revision=52570
2013-10-12 18:03:34 +00:00
Evan Huus 540e9c745d Use wmem_free_all on the tree pool rather than freeing each node, label and
field_info separately. We still have to walk the tree in order to free certain
fvalues, but that's not a big deal. Another ~11% speed-up running "tshark -nVr"
on a large capture.

svn path=/trunk/; revision=52569
2013-10-12 17:57:51 +00:00
Evan Huus d19a20746b Use a wmem block allocator to allocate field_infos, proto_nodes and item_labels.
Even without making use of free_all (which should be possible) this still
results in ~8% speedup running "tshark -nVr" on a large file in my tests.

svn path=/trunk/; revision=52568
2013-10-12 17:32:41 +00:00
Pascal Quantin f1ee43ab0a Update User Guide for 1.11 preparation
svn path=/trunk/; revision=52567
2013-10-12 14:29:40 +00:00
Pascal Quantin 214a2d7f55 From Todd Newton via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9262 :
Fix dissection of PTP Management messages

svn path=/trunk/; revision=52566
2013-10-12 14:05:32 +00:00
Evan Huus 137be14b3d We can't use proto_tree_add_uint_* for FT_TIME fields, use proto_tree_add_time_*
instead. Fixes another one of the issues that shows up in
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9263

svn path=/trunk/; revision=52565
2013-10-12 13:14:30 +00:00
Evan Huus b581aff2c3 Based on help and suggestions from Johannes Berg, fix Radiotap Header decode the
right way.

Fixes https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9256 without
reintroducing https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9212

svn path=/trunk/; revision=52564
2013-10-12 12:53:35 +00:00
Evan Huus fa1027a004 From RobiOneKenobi via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9229
Add a new strutil function format_text_chr that replaces unprintable characters
with a single passed-in char (eg a '.' or a '-') instead of a C-style escape.
This is useful for displaying binary data that frequently but not always
contains text; otherwise the number of C escape codes makes it unreadable.

svn path=/trunk/; revision=52563
2013-10-12 12:38:56 +00:00
Gerald Combs 522f74e9aa Have pixbuf_to_widget() use a guint8 * to match
gdk_pixbuf_new_from_inline().

svn path=/trunk/; revision=52562
2013-10-12 03:44:20 +00:00
Gerald Combs 73353437ce Another Solaris Studio C++ fix.
svn path=/trunk/; revision=52561
2013-10-12 03:00:04 +00:00
Evan Huus 6e3892e43a Free the actual struct, not the typedef thereof, because the typedef is actually
a typedef of a *pointer* to the struct, not the struct itself, which are
different sizes.

This doesn't show up under valgrind because the length isn't checked in that
case, everything gets subsumed in valgrind's malloc/free hooks.

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

svn path=/trunk/; revision=52560
2013-10-12 02:41:44 +00:00
Gerald Combs 1f2043d69c Solaris Studio C++ won't let us pass the address of main() to
init_progfile_dir(). Try using QCoreApplication::applicationFilePath()
instead.

svn path=/trunk/; revision=52559
2013-10-12 02:29:17 +00:00
Gerald Combs 6a5afa8e95 Update to the latest Windows library tags. Add an "install_qt" target.
svn path=/trunk/; revision=52558
2013-10-12 01:02:34 +00:00
Gerald Combs fcff2c96e6 QT_DIR → QT5_BASE_DIR. This matches the CMake environment.
svn path=/trunk/; revision=52557
2013-10-12 00:12:24 +00:00
Gerald Combs 383ed6465a Look for Qt in WIRESHARK_LIB_DIR. Add a conditional check for qmake.
svn path=/trunk/; revision=52556
2013-10-11 23:52:19 +00:00
Jörg Mayer c01ab40cde With Gerald's patch we should no longer require GTK includes for QT-Only builds
(untested).

svn path=/trunk/; revision=52555
2013-10-11 23:03:18 +00:00
Gerald Combs 90b20ab830 One more HAVE_LIBPCAP.
svn path=/trunk/; revision=52554
2013-10-11 21:42:49 +00:00
Jeff Morriss aae1de7f9e cf_start_tail() is (now) just a wrapper around cf_open(). Get rid of it and just call cf_open().
svn path=/trunk/; revision=52553
2013-10-11 21:29:12 +00:00
Gerald Combs 564ca2d5e9 Try to fix Qt compilation when libpcap is disabled.
svn path=/trunk/; revision=52552
2013-10-11 21:26:26 +00:00
Jeff Morriss 2dcfce371b Fix some formatting.
svn path=/trunk/; revision=52551
2013-10-11 20:48:13 +00:00
Jeff Morriss 15b539fcbc Replace a question in a comment with a better explanation (that answers the question).
svn path=/trunk/; revision=52550
2013-10-11 20:29:11 +00:00
Jeff Morriss d06d2fde90 Fix https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8943 :
List Windows Server 2012 (and a couple of Home Server versions) as supported OS.

While at it, remove the list of the various "NT-based" Windows versions from
a couple of other places (this effectively removes statements that we still
support NT4.0 and 2000).

svn path=/trunk/; revision=52549
2013-10-11 19:55:34 +00:00
Gerald Combs d643779b9b Build with Qt by default.
svn path=/trunk/; revision=52548
2013-10-11 18:42:34 +00:00
Gerald Combs a631772243 More ui/util.h includes.
svn path=/trunk/; revision=52545
2013-10-11 17:58:12 +00:00
Gerald Combs 3623167b81 Include ui/util.h.
svn path=/trunk/; revision=52544
2013-10-11 17:47:43 +00:00
Jeff Morriss 6262bb3f4d There's no need to include prefs.h twice.
svn path=/trunk/; revision=52543
2013-10-11 17:43:07 +00:00
Gerald Combs 259768dc1a Remove GTK+ and global cfile dependencies from file_dlg_win32.c.
Move the declaration of set_last_open_dir() to ui/util.h. It still
has separate GTK+ and Qt implemenations. We might want to move it to
ui/util.c at some point. Remove a lot of unnecessary GTK+ includes.
Remove most of the references to the global cfile while we're at it.

svn path=/trunk/; revision=52542
2013-10-11 17:20:50 +00:00
Jörg Mayer ee5397d832 The env variable is QT5_BASE_DIR, as documented in README.cmake
Make documentation and implementatoin consistent

svn path=/trunk/; revision=52541
2013-10-11 11:43:37 +00:00