Commit Graph

2249 Commits

Author SHA1 Message Date
Joerg Mayer 14b2d4c4a3 Add asciidoctor and asciidoctor-pdf to macos-setup.sh
Change-Id: I531c3cbb4685e722e9b5f7762f184063eca61976
Reviewed-on: https://code.wireshark.org/review/26129
Reviewed-by: Jörg Mayer <jmayer@loplof.de>
2018-05-23 17:38:11 +00:00
Guy Harris 5ed87ffe06 If the OS version of curl isn't new enough, download and install from source.
The Mountain Lion version, and presumably earlier versions, can't handle
the site for xz.

This means we don't need to check the OS version before downloading
Ninja or MaxMindDB.

Change-Id: I0afa2216d67cddc58d5c3d91d1620f3004026dfa
Reviewed-on: https://code.wireshark.org/review/27652
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-05-19 00:29:59 +00:00
Guy Harris 7138fc8dc5 Install CMake 3.5.2 on Lion and 3.7.2 on later releases.
See the comment for the painful details.

Change-Id: Ic82de342b1d9c8d118e08c7b298ab7514a6f4ed3
Reviewed-on: https://code.wireshark.org/review/27651
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-05-18 23:40:57 +00:00
Guy Harris 1a4f65c4a3 Don't try to download MaxMindDB on Lion or earlier.
Same problem as with Ninja - I guess this version can't handle the TLS
version those sites use.

Change-Id: I659313813d0e0d68c9ab7426e8feaf1f3f52b06e
Reviewed-on: https://code.wireshark.org/review/27648
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-05-18 20:44:37 +00:00
Guy Harris 52e3e79ec7 Wrong Darwin major version - Lion is 11, not 10.
Change-Id: I3977bf33b7c9d66c299fa945b49791dac7a03126
Reviewed-on: https://code.wireshark.org/review/27646
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-05-18 20:07:32 +00:00
Guy Harris 7ae53c7e95 Don't try to download Ninja on Lion or earlier.
The version of curl that comes with Lion gets a TLS error when trying to
download Ninja.

Also note some other issues.

Change-Id: I0e26a5b2f2f54e36461d3d3909f719fcca2ac04b
Reviewed-on: https://code.wireshark.org/review/27645
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-05-18 20:03:58 +00:00
Gerald Combs 4a01a952ed Remove older Visual Studio suport.
Remove conditional checks for Visual Studio 2013 and earlier from
CMakeLists.txt.

Remove the VSVersion flag from win-setup.ps1. We haven't used it in
quite a while.

Change-Id: Iea80f8cd566f4909e1bac2d0a620488255c4d0a7
Reviewed-on: https://code.wireshark.org/review/27607
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-05-17 04:14:19 +00:00
Gerald Combs 7612814769 Add a few more notes to git-export-release.sh.
Change-Id: I8a2250387cc3187ecd5ca8abb6e29442668398a9
Reviewed-on: https://code.wireshark.org/review/27604
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2018-05-16 20:14:59 +00:00
Joerg Mayer de354e3149 Minimum supported QT-Version is 5.2
Change-Id: I9652a4d19b73a95022b39f738d6ad01dd458df94
Reviewed-on: https://code.wireshark.org/review/27572
Reviewed-by: Jörg Mayer <jmayer@loplof.de>
2018-05-16 07:08:58 +00:00
Guy Harris 4dc27d9b7d CMake 3.11.0 has problems on Lion; use 3.5.2, which works.
We're using 3.5.2 on the buildbot.  3.11.0 appears to be getting tripped
up by the libc++ on Lion, cutting off lines at 1024 characters in
generated Makefiles.

Change-Id: Iff1a2fb13ef873e5d0976544f3c8248239a9772d
Reviewed-on: https://code.wireshark.org/review/27570
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-05-16 04:17:25 +00:00
Peter Wu 4c1690ac47 CMake: require at least CMake 3.5
CMake 3.11 with the Ninja generator started complaining about CMP0058
related to ui/qt/CMakeFiles/qtui_autogen.dir/RCCstock_iconsInfo.cmake
amd other files (AUTORCC). While the policy could be set explicitly,
let's try to modernize the CMake configuration:

- Drop CMP0042, if this gives issues with macOS, then it must be solved
  in a different way using non-deprecated methods.
- Drop CMP0054 and ensure that all if("${foo}") and if(${foo}) are
  converted to if(foo).
- Remove string comparison against "-NOTFOUND", it already evaluates to
  false in an if condition.
- Use CXX_STANDARD/CXX_STANDARD_REQUIRED for Qt 5.7 and newer.
- Assume that copy_if_different can accept multiple sources (CMake 3.5).
- Consistency: Out of the 60 CMake 3.11 FindXxx.cmake files that use
  find_library, 34 contain "XXX_LIBRAR" while 16 contain "Xxx_LIBRAR".
  Let's assume uppercase variables (now custom MaxMindDB include dirs
  are correctly used).

CMake 3.5 was chosen as the next version because of its wide support.
Ubuntu 14.04 ships with cmake3 3.5.1, Debian jessie-backports has 3.6.2,
EPEL for CentOS/RHEL6 includes cmake3 3.6.1 and SLES12 SP2 has 3.5.

Change-Id: I2fa7b94bf8cc78411f414987d17bab3a33dfb360
Reviewed-on: https://code.wireshark.org/review/27444
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-05-15 10:28:09 +00:00
Guy Harris 9c20675d0e Give Ninja build instructions if we've installed Ninja.
Change-Id: I629f0e48e1b66ae9bb65f025669fd94b2480e765
Reviewed-on: https://code.wireshark.org/review/27548
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-05-15 06:33:21 +00:00
Guy Harris ec8b402a76 Download and install Ninja.
The Developer's Guide recommends Ninja for all UN*Xes, so download it
rather than having to say "but on macOS use make".

Change-Id: I147b96144c25d01151c68e13d249172023b1fccc
Reviewed-on: https://code.wireshark.org/review/27544
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-05-15 03:43:53 +00:00
Guy Harris e7db145b7f Get rid of debugging printout.
Change-Id: I6641aca753b40a8a06ce8d3baf47d37cdf0c420a
Reviewed-on: https://code.wireshark.org/review/27543
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-05-15 03:30:04 +00:00
Guy Harris 748c569f88 Clean up Qt installation.
We don't support 32-bit builds on macOS, so get rid of the now-unused
TARGET_PLATFORM variable and the comment about how to build 32-bit
libraries.

Follow the complex rules that Qt's download directories unfortunately
require to get the .dmg for a given release.  Drop support for
installing Qt 4.

CMake doesn't use pkg-config to find the Qt frameworks, so we don't need
to fix up the .pc files (which aren't even shipped with later versions
of Qt).

Change-Id: I5edc69f8b34dac47bb2310689f296ce37347f495
Reviewed-on: https://code.wireshark.org/review/27542
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-05-15 03:26:12 +00:00
Guy Harris 67b9ccd45f Update a comment.
Change-Id: Ia5971b466f2e2da40730933b44bba5672d94c399
Reviewed-on: https://code.wireshark.org/review/27541
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-05-14 22:09:54 +00:00
Guy Harris 33c836af9f Builds require CMake, so always install it.
Don't have an option not to install it.  (If we want to avoid installing
it when it's already been installed by something other than this script,
we should check for its existence before installing, and skip the
installation step for it.)

Get rid of the instructions for autotools builds; always show the
instructions for CMake builds.

We wouldn't get to the uninstall stage if it hadn't been installed by
this script; remove the comment asking about that.

Change-Id: I276ee96bf955ef4ff33dea87bc27c21111301ea0
Reviewed-on: https://code.wireshark.org/review/27540
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-05-14 22:08:03 +00:00
Guy Harris 57e2e0c10d Update some comments.
(Wireshark hasn't been strictly a C program for a while, and we now
allow C99-and-later comments in the C code.)

Change-Id: Ic68e053eed7aae1971a800cf74135bc86d211e97
Reviewed-on: https://code.wireshark.org/review/27520
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-05-14 07:04:03 +00:00
Peter Wu 5e5cc440a2 checkAPIs: handle C++ / C99-style '//' comments
Avoids a warning in epan/dissectors/packet-enip.c due to "time"
appearing in a comment.

Change-Id: I88b6856425c09fc3b8cb2edc345047062a07b662
Reviewed-on: https://code.wireshark.org/review/27516
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-05-14 06:54:19 +00:00
Dario Lombardo 7d1c534ac9 tools: add missing packages to osx setup.
Change-Id: Iac480865198478dee6de37476e22a727576cb066
Reviewed-on: https://code.wireshark.org/review/27511
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Reviewed-by: Dario Lombardo <lomato@gmail.com>
2018-05-13 20:04:50 +00:00
Matej Tkac f8ac12c5b3 html2txt.py: replaced 2 occurences of '{}' with equal '{0}' because of CentOS 6.x+Python2.6.6 issues
Change-Id: Ibf395007e32db70f49b7bdae22fff8c377ae41b0
Reviewed-on: https://code.wireshark.org/review/27457
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2018-05-12 19:54:05 +00:00
Guy Harris 02a67d4e1e Report the file name in the "#if/#endif mismatch" error.
Change-Id: I54d2b98e471e04a2ad0a8ecc036180af04bb8359
Reviewed-on: https://code.wireshark.org/review/27394
Petri-Dish: Guy Harris <guy@alum.mit.edu>
Tested-by: Petri Dish Buildbot
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-05-08 09:15:34 +00:00
Gerald Combs 230d7d4e90 Test: Integrate ftsanity directly into our tests.
Move tools/ftsanity.py to test/suite_unittests.py.

Change-Id: I8582b19c0544d032eb0566bc1e82be385e904c11
Reviewed-on: https://code.wireshark.org/review/27341
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2018-05-05 16:10:24 +00:00
Guy Harris 15cfc41e94 Don't use dladdr() to get a pathname for the current executable().
Change-Id: I24ad11a659c2cb936f873339dc2b36ac9944280a
Reviewed-on: https://code.wireshark.org/review/27359
Petri-Dish: Guy Harris <guy@alum.mit.edu>
Tested-by: Petri Dish Buildbot
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-05-05 08:06:35 +00:00
Gerald Combs 7591ed848e Test: Add dftest to our tests.
Move the dfilter tests and captures from tools to test.

Change-Id: I2e6a6cc1d383c985ba07c76c93ae1c57d3c8f84c
Reviewed-on: https://code.wireshark.org/review/27339
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2018-05-04 22:44:32 +00:00
Dario Lombardo 12613415ef travis: use ninja for building.
Change-Id: I18cf4c79e6073955d8224c7a37f906ec54a8edbc
Reviewed-on: https://code.wireshark.org/review/27324
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2018-05-04 08:30:07 +00:00
Dario Lombardo 3dce4ea3d3 tools: add missing optional packages in debian/rpm setup.
Change-Id: Ie84f8d6e9ebdff0b760bc71ec227358ce23f427d
Reviewed-on: https://code.wireshark.org/review/27307
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Dario Lombardo <lomato@gmail.com>
2018-05-03 14:24:34 +00:00
Dario Lombardo d431863e70 tools: add ninja to debian/rpm additional packages.
Change-Id: I56c1af8a5a4bdd4f9c2276a6e246a1b76a003049
Reviewed-on: https://code.wireshark.org/review/27302
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Dario Lombardo <lomato@gmail.com>
2018-05-03 14:23:32 +00:00
Gerald Combs f4378d70dd Windows: Upgrade WinSparkle to 0.5.7.
Bug: 14642
Change-Id: Iac5e417f05eb7a5f0acb36c3588352ceefb8bf6e
Reviewed-on: https://code.wireshark.org/review/27276
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2018-05-02 20:15:43 +00:00
Gerald Combs cd94b1cb8e Force textify.ps1 to read files as UTF-8.
Prior to the switch from AsciiDoc to Asciidoctor we converted
release_notes.html to NEWS using elinks or lynx, which in turn generated
ASCII output. It was sufficient to read NEWS in PowerShell using
Get-Content, which defaults to ASCII.

We now use tools/html2text.py, which generates UTF-8. Switch Get-Content's
encoding to match. Note that Notepad detects file encodings heuristically,
and that we might want to use a BOM.

Bug: 14636
Change-Id: Ibd92ef7ad642631a938bb4d75a2d83f479099032
Reviewed-on: https://code.wireshark.org/review/27240
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-05-02 04:06:30 +00:00
Stig Bjørlykke 14720ace06 Fix comment end after SPDX identifier
Move */ to a separate line below the SPDX identifier.

Change-Id: Id1032215449cfccae0933147b45e04b65e0b727f
Reviewed-on: https://code.wireshark.org/review/27211
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-05-01 06:56:37 +00:00
Peter Wu 4694c7acf0 checkAPIs.pl: fix false positive with C++ method names
Fix false positives due to method names that are considered deprecated:

    int CaptureFileDialog::open(...
    first_elapsed = QString().sprintf(
    int open(QString &file_name, unsigned int &type);

Change-Id: Ib3c255a9f17b2cb44cd441e5277a97db63afaa72
Reviewed-on: https://code.wireshark.org/review/27189
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2018-04-30 10:37:35 +00:00
Peter Wu 1a26b56c26 Ensure test directories are included with git archive
"make dist" will currently fail with "git archive" archives because
dftestfiles and dftestlib is missing. To encourage distributors to run
tests, ensure that these files (1.64MiB uncompressed, 688KiB
gzip-compressed) are bundled.

Change-Id: I1fc2bd6df45db40e64e7691235f716bbf3562f87
Reviewed-on: https://code.wireshark.org/review/27158
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2018-04-26 15:09:12 +00:00
Guy Harris f23a934492 Don't install autotools or GTK+, but do install CMake.
We no longer use autotools/libtool, so we don't need to install
automake, autoconf, or libtool; we only support CMake, so we *do* need
to install it.

We no longer support GTK+, so we don't need to install it.

Change-Id: I41df9f67c8aba486220e77f7c8c67efa7784a7f2
Reviewed-on: https://code.wireshark.org/review/27152
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-04-25 17:57:42 +00:00
Peter Wu 6144951380 dfilter: fix memleaks with functions and slice operator
Running tools/dfilter-test.py with LSan enabled resulted in 38 test
failures due to memory leaks from "fvalue_new". Problematic dfilters:
- Return values from functions, e.g. `len(data.data) > 8` (instruction
  CALL_FUNCTION invoking functions from epan/dfilter/dfunctions.c)
- Slice operator: `data.data[1:2] == aa:bb` (function mk_range)

These values end up in "registers", but as some values (from READ_TREE)
reference the proto tree, a new tracking flag ("owns_memory") is added.

Add missing tests for some functions and try to improve documentation.

Change-Id: I28e8cf872675d0a81ea7aa5fac7398257de3f47b
Reviewed-on: https://code.wireshark.org/review/27132
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-04-25 06:57:00 +00:00
Guy Harris 372b820255 Get rid of more .libs stuff.
Again, no more autotools/libtool, so no more .libs, as that's a
libtoolism.

Change-Id: I909c18b969ca8e04a252ff45f7f3e6bc9d0c8476
Reviewed-on: https://code.wireshark.org/review/27138
Petri-Dish: Guy Harris <guy@alum.mit.edu>
Tested-by: Petri Dish Buildbot
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-04-25 04:24:21 +00:00
Peter Wu ecb04e4076 vg-suppressions: suppress more GLib-related memleaks
g_get_charset, g_get_filename_charsets, g_strerror, g_get_home_dir all
return a const char pointer. get_global_random is internally called by
g_random_int, g_random_int_range, etc.

On Arch Linux with glibc 2.26-11 and glib2 2.56.0+7+g66948ae23-1,
"call_init" is not visible in the stack trace, so replace it by "...".
It also has "possibly lost" entries due to GLib types initialization
(gobject_init -> _g_enum_types_init). Finally "g_private_set" internally
leaks after calling "g_private_get_impl".

Change-Id: Ifb2be3188add7bdd060d1e7321c8126e5924a738
Reviewed-on: https://code.wireshark.org/review/27118
Reviewed-by: Dario Lombardo <lomato@gmail.com>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2018-04-24 21:12:49 +00:00
Dario Lombardo 0202bc995b tools: make rpm and debian setup scripts more similar.
Change-Id: Ie46d56aff91694a3b8c4c62b4b03e38d3fb1e68a
Reviewed-on: https://code.wireshark.org/review/27116
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2018-04-24 20:28:34 +00:00
Dario Lombardo 47b6bb6fb1 tools: remove install_rpms_for_devel.sh.
Obsoleted by tools/rpm_setup.sh.

Change-Id: I2d13f4ae96970802b2edfe3e4028ec37b9cb6269
Reviewed-on: https://code.wireshark.org/review/27113
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-04-24 10:56:48 +00:00
chinarulezzz dfb92c2a1d tools/cppcheck/cppcheck.sh: improve script; add new option: colorize html output
Change-Id: I34dad2fa9ea80529997103491219027edaf3ac41
Reviewed-on: https://code.wireshark.org/review/27080
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-04-24 03:51:17 +00:00
Jakub Zawadzki 4a488919e3 oss-fuzzshark: use install directory for headers. Install missing one.
From compilation log:
  epan/ipv4.h:19:10: fatal error: 'wsutil/inet_ipv4.h' file not found
  tools/oss-fuzzshark/fuzzshark.c:27:10: fatal error: 'version_info.h' file not found

Change-Id: I3e147e014ae398ae07e64aec5a6535a8f9e357a3
Reviewed-on: https://code.wireshark.org/review/27076
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-04-24 03:49:15 +00:00
Joerg Mayer 7853d0e354 Remove a few obsolete references to gtk from checkapi and faq.py
Change-Id: Ice9aec64fddbed94c7be96575c6e1bc800e8ac9e
Reviewed-on: https://code.wireshark.org/review/27067
Petri-Dish: Jörg Mayer <jmayer@loplof.de>
Tested-by: Petri Dish Buildbot
Reviewed-by: Jörg Mayer <jmayer@loplof.de>
2018-04-21 23:34:40 +00:00
Pascal Quantin 4704b89aa1 Windows: add JSON-GLib library
Change-Id: I9b266bffc74779f9d28eabb5642644a2b0afa7cf
Reviewed-on: https://code.wireshark.org/review/27049
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-04-20 10:46:19 +00:00
Pascal Quantin 2b65e9e74b Windows: upgrade GLib to 2.52.2
Change-Id: If54ec9f8c62d95697a5703ea24cf3ad7c2d6112c
Reviewed-on: https://code.wireshark.org/review/27048
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-04-20 10:46:06 +00:00
Dario Lombardo 511c2e166a tshark: add -G elastic-mapping report.
This option generates an ElasticSearch mapping file as described here:
https://www.elastic.co/blog/analyzing-network-packets-with-wireshark-elasticsearch-and-kibana

It leverages the Glib-json library.

Change-Id: Iff25f991e87d3da07bf06654e353fb785799dde9
Reviewed-on: https://code.wireshark.org/review/26848
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: Dario Lombardo <lomato@gmail.com>
2018-04-18 08:57:39 +00:00
Peter Wu 699ee5dc52 dfilter: make spaces around ".." optional in display filter
For numeric values such as port numbers, "4430..4434" looks more
natural than "4430 .. 4434", so support that.

To make this possible, the display filter syntax needs to be restricted.
Assume that neither field names nor values can contain "..". The display
filter `data contains ..` will now be considered a syntax error and must
be written as `data contains ".."` instead. More generally, all values
that contain ".." must be quoted.

Other than the ".." restriction, the scanner deliberately accepts more
characters that can potentially form invalid input. This is to prevent
accidentally splitting input in multiple tokens.  For example, "9.2." in
"frame.time_delta in {9.2.}" is currently parsed as one token and then
rejected because it cannot be parsed as time. If the scanner was made
stricter, it could treat it as two tokens (floats), "9." and "2." which
has different meaning for the set membership operator.

An unhandled edge case is "1....2" which is parsed as "1 .. ..  2" but
could have been parsed as "1. .. .2" instead. A float with trailing dots
followed by ".." seems sufficiently weird, so rejection is fine.

Ping-Bug: 14180
Change-Id: Ibad8e851b49346c9d470f09d5d6a54defa21bcb9
Reviewed-on: https://code.wireshark.org/review/26960
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-04-18 03:47:31 +00:00
Peter Wu 1ff82572ca dfilter: add range support to set membership operator ("f in {x .. y}")
Allow "tcp.srcport in {1662 1663 1664}" to be abbreviated to
"tcp.srcport in {1662 .. 1664}". The range operator is supported for any
field value which supports the "<=" and "=>" operators and thus works
for integers, IP addresses, etc.

The naive mapping "tcp.srcport >= 1662 and tcp.srcport <= 1664" is not
used because it does not have the intended effect with fields that have
multiple occurrences (e.g. tcp.port). Each condition could be satisfied
by an other value. Therefore a new DVFM instruction (ANY_IN_RANGE) is
added to test the range condition against each individual field value.

Bug: 14180
Change-Id: I53c2d0f9bc9d4f0ffaabde9a83442122965c95f7
Reviewed-on: https://code.wireshark.org/review/26945
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-04-18 03:47:02 +00:00
Dario Lombardo 4a156da068 Remove autotools build system.
It has been replaced by cmake.

Change-Id: I83a5eddb8645dbbf6bca9f026066d2e995d8e87a
Reviewed-on: https://code.wireshark.org/review/26969
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-04-18 03:46:17 +00:00
Gerald Combs 1d030928ef Remove some GTK+-only code.
Change-Id: Ic2498c7acd6a1a522be45094148402ee34a6b4d1
Reviewed-on: https://code.wireshark.org/review/26958
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-04-17 03:44:47 +00:00
Gerald Combs c8cf127375 Add a destination directory flag to git-export-release.
Add a destination directory flag to git-export-release.sh. Use it to
replace the current "dist" target. Use it in the RPM section to avoid a
symlink.

Change-Id: I30ae76b3ab1a995d232e748b79aa37440f90f854
Reviewed-on: https://code.wireshark.org/review/26974
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-04-17 03:43:38 +00:00
Gerald Combs 129d574d96 Add some notes to git-export-release.sh.
Add some notes about avoiding the use of git stash.

Change-Id: I441adef099e5d64834a73e9f0f260d00c21be585
Reviewed-on: https://code.wireshark.org/review/26973
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2018-04-16 18:17:23 +00:00
Gerald Combs 80256442af More PortAudio removal.
Change-Id: Ib56212e09d41fc76494d8186c77541302700104c
Reviewed-on: https://code.wireshark.org/review/26952
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2018-04-15 16:49:53 +00:00
Joerg Mayer d1ee982115 Provide alternative paths for the macosx-support-libs.
That way I won't have to restore the dir after a "git -dfX"
Also Update CMake to 1.11.0 (current) and Qt to 5.9.5 (LTS)

Change-Id: Idcc481b517d6379f97fa5d30ce3b886cfcf3c9d4
Reviewed-on: https://code.wireshark.org/review/26951
Reviewed-by: Jörg Mayer <jmayer@loplof.de>
2018-04-15 13:06:53 +00:00
Peter Wu 82e8aa33a7 dfilter-test.py: document parallelization support
Tests are independent and can be run in parallel using pytest-xdist
(https://github.com/pytest-dev/pytest-xdist), document it.

While at it, allow running the tests from other directories.

Change-Id: I3e55c549669f7d59d35cd64eca53680cea6dec2d
Reviewed-on: https://code.wireshark.org/review/26943
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-04-15 05:34:41 +00:00
Peter Wu 4adaa3a4b1 dftestlib: remove unnecessary execute bit
tools/dfilter-test.py is the main script, others are imported as needed.

Change-Id: I5ce7bd298b90d3e16c83c6b219c2717ccbcf2a10
Reviewed-on: https://code.wireshark.org/review/26944
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-04-15 05:32:27 +00:00
Dario Lombardo afbdd66fc2 tools: add openSUSE asciidoctor to rpm_setup.sh.
Change-Id: I939110047739ac9b7a5c6984a84351d4fdfbf556
Reviewed-on: https://code.wireshark.org/review/26860
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-04-11 00:10:16 +00:00
Joerg Mayer 2c7b678d7e macos-setup.sh: More GTK and minimum supported version cleanups
Change-Id: Ia2992fe65c2c16e4b42d252ba0f08266a95f4b10
Reviewed-on: https://code.wireshark.org/review/26840
Reviewed-by: Jörg Mayer <jmayer@loplof.de>
2018-04-10 05:02:17 +00:00
Joerg Mayer 25f925840d Remove GTK-related stuff from macos-setup.sh
Change-Id: Iaf6298a5f810c9fa0c2a3c31cce50af8856d8d14
Reviewed-on: https://code.wireshark.org/review/26818
Reviewed-by: Jörg Mayer <jmayer@loplof.de>
2018-04-09 05:07:38 +00:00
Dario Lombardo 35c83b22c0 lemon: remove leaks in main().
Change-Id: If6693d2ad87fcd1dcceb137d76d890663f83a827
Reviewed-on: https://code.wireshark.org/review/26705
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2018-04-05 18:52:28 +00:00
Dario Lombardo c95e18333c lemon: remove leak in tplt_open().
Change-Id: I6a13c89e27797f8c8d1e187aef8923b9df0c8ee4
Reviewed-on: https://code.wireshark.org/review/26706
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2018-04-05 18:51:57 +00:00
Dario Lombardo 02ef13fac7 lemon: remove scan-build warning in errline().
Warning: Argument with 'nonnull' attribute passed null.

Change-Id: Ie46733ae8663161b957acaabbaa2da539018693d
Reviewed-on: https://code.wireshark.org/review/26704
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2018-04-05 18:51:34 +00:00
Guy Harris c4da7ed843 Don't install PortAudio if we're not installing GTK+.
Change-Id: I99bad59b34ff0688cf527ae69b5e48e4c14e7380
Reviewed-on: https://code.wireshark.org/review/26758
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-04-05 18:48:41 +00:00
Darius Davis 5c2eade45d Tweak ws_cpuid so that Valgrind is happy.
Valgrind considers the "cpuid" instruction to always depend on inputs from eax
and ecx, even though it's only a subset of values of eax for which ecx is
relevant.  If ecx is undefined when cpuid is executed, the outputs of cpuid
will be considered undefined.

Instead of suppressing the resulting uninitialised-value warning (the
suppression for which is now out-of-date anyway, now that
register_all_protocols is moved to a worker thread), let's simply set ecx to
zero in ws_cpuid.

Testing done: Built Wireshark on Linux amd64.  Before this change, running
   "tools/valgrind-wireshark.sh ./test/captures/dhcp.pcap" with
   valgrind-3.12.0.SVN on Debian 9.4 amd64 would yield the following Valgrind
   error:

   ==2416== Thread 2:
   ==2416== Conditional jump or move depends on uninitialised value(s)
   ==2416==    at 0xACB8B22: ws_mempbrk_sse42_compile (ws_mempbrk_sse42.c:58)
   ==2416==    by 0x74F4960: register_all_protocols_worker (register.c:37)
   ==2416==    by 0xB1403D4: g_thread_proxy (gthread.c:784)
   ==2416==    by 0xD438493: start_thread (pthread_create.c:333)
   ==2416==    by 0xB4CAACE: clone (clone.S:97)

   With the change, the above message is gone.  Inspected the disassembly of
   function ws_cpuid, and it looks sane -- just an added "xor ecx, ecx" at the
   top.

Change-Id: I2fb382309cac234c400286a6e9fac7d922912c63
Reviewed-on: https://code.wireshark.org/review/26733
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-04-05 07:34:01 +00:00
Pascal Quantin 5a9d0caa11 extract_asn1_from_spec.pl: fix parsing of END tag
Change-Id: I2eb73f74b456ffb5a9bae50e78f7edb4204912e0
Reviewed-on: https://code.wireshark.org/review/26740
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2018-04-04 17:52:47 +00:00
Dario Lombardo 60d5edb41c lemon: make some functions static.
Change-Id: I41a78d6cb87223d13854ca4aad4ffdf70daecaf3
Reviewed-on: https://code.wireshark.org/review/26687
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-04-04 10:00:49 +00:00
Dario Lombardo 8131922b26 lemon: comment out unused OptErr function.
Change-Id: I889c2f0df721d93752c77e6b31ddaa8702ab47bf
Reviewed-on: https://code.wireshark.org/review/26703
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-04-04 04:12:52 +00:00
Dario Lombardo d7c98ddde7 lemon: skip clang analyzer for more code.
Change-Id: I3c2c0e1581c759fb4eef48008a7d905701958913
Reviewed-on: https://code.wireshark.org/review/26688
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2018-03-30 19:02:13 +00:00
Dario Lombardo 072e24fa0a lemon: remove unneeded assignment.
Change-Id: Id7bd4b5f7db1c9c797a2f50e7896799a0ad64532
Reviewed-on: https://code.wireshark.org/review/26690
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2018-03-30 19:02:04 +00:00
Dario Lombardo 4feb47dca2 lemon: remove clang scan warnings.
Add assert and remove some code from scan builds.

Change-Id: I32747d1a61f183e4c918d9f50ec8337eaef47f0d
Reviewed-on: https://code.wireshark.org/review/26483
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-03-30 07:30:41 +00:00
Anders 653af0f6d0 lemon: Sync with latest trunk.
Change-Id: Iab0d64f675b482eee97b300d419ffa1e8090632e
Reviewed-on: https://code.wireshark.org/review/26676
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-03-28 16:20:24 +00:00
Anders 85a0646490 lemon: Sync with upstream, Jun 28, 2017
Change-Id: I4c6dbd018302fdf176e955e0e5e735a7aee22b10
Reviewed-on: https://code.wireshark.org/review/26669
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-03-28 07:10:47 +00:00
Anders 5ef22d4a4b lemon: Align struct s_options with upstream.
Change-Id: I87ce8123a625a643a7c3d9e426f5ce103a670f2a
Reviewed-on: https://code.wireshark.org/review/26666
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-03-28 04:09:39 +00:00
Anders 036c5a4e6a lemon: Trivial changes to make it easier to compare with upstream.
Change-Id: I1bfac3d39a50b3d2093c66a77280b355e678d427
Reviewed-on: https://code.wireshark.org/review/26664
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-03-27 20:04:59 +00:00
Gerald Combs 1cd92c4961 CMake: Add an rpm-package target.
Copy the current wireshark.spec.in and update it for use with CMake.
Remove the Qt4, GTK+2, and GTK+3 options. Add Ninja and mmdbresolve
options.

The rpm-package target builds a tarball using git-export-release.sh and
therefore must be run from a git checkout. The RPM _prefix macro is set
to CMAKE_INSTALL_PREFIX, so you'll probably want to run

cmake -DCMAKE_INSTALL_PREFIX=/usr ...

Change-Id: Ib014494d8858a0059126404cd91528ded5d8a9f6
Reviewed-on: https://code.wireshark.org/review/26579
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Jaap Keuter <jaap.keuter@xs4all.nl>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-03-26 14:00:35 +00:00
Gerald Combs 4bff0e6dd1 html2text: Wrap at 72 characters.
Change-Id: Id8c9d74b71cabce6bbfb25fd857f71c4b2a4e8ea
Reviewed-on: https://code.wireshark.org/review/26556
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2018-03-20 15:46:08 +00:00
Pascal Quantin d1c1348601 Windows: use c-ares 1.14.0
Change-Id: Iefe3caf1856fd322c657a31d1eefe9a645a13070
Reviewed-on: https://code.wireshark.org/review/26495
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2018-03-16 10:05:04 +00:00
Gerald Combs 0874b8bac6 Remove popcount in favor of ws_count_ones.
Remove our popcount implementation in favor of ws_count_ones, which
is our other popcount implementation. This required updating and
running process-x11-xcb.pl.

Change-Id: I8634c55242113b338c5b0173837c35f98b148b4f
Reviewed-on: https://code.wireshark.org/review/26454
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-03-13 17:18:01 +00:00
Michael Mann 7e842fa551 F5ETHTRAILER: Initial cleanup from submission
The dissector had been a plugin since at least 1.3 (based on comments in the
dissector).  Not all of the most current APIs were used for functionality
and there was some cruft left over.
Also disable F5ETHTRAILER by default since it doesn't have a discriminating
heuristic.

Change-Id: I8c977167a906eafd6fbb663d2fe6c44f080f2209
Reviewed-on: https://code.wireshark.org/review/26428
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
2018-03-11 15:08:16 +00:00
Joerg Mayer 68efae8588 Adapt to current WS code base to make it compile and run without warnings or errors
Change-Id: I135df8b0e49346e32a19620d52cd1a9a44b4ac08
Reviewed-on: https://code.wireshark.org/review/26426
Reviewed-by: Jörg Mayer <jmayer@loplof.de>
2018-03-11 11:17:47 +00:00
Dario Lombardo fe2355e061 licensecheck: handle multiple licenses.
Change-Id: I1df4406e4bfcdcea99dc1c1446f1863c0a4522a0
Reviewed-on: https://code.wireshark.org/review/26386
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-03-09 11:50:15 +00:00
Pascal Quantin 4e6d989df4 Add MaxMindDB 1.3.2 library to Windows
Change-Id: I328b6a05cc356be59ac63e80eae55a832bf76a47
Reviewed-on: https://code.wireshark.org/review/26347
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2018-03-09 11:20:41 +00:00
Dario Lombardo e7ab7a907c spdx: more licenses converted.
Change-Id: I8f6693108c43959e54911d35b4fbf730c59add60
Reviewed-on: https://code.wireshark.org/review/26361
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-03-09 04:50:23 +00:00
Dario Lombardo fdd426e410 spdx: more licenses converted.
Change-Id: Ia1650bc02511f7bd47fb90be91b623177f05bcbd
Reviewed-on: https://code.wireshark.org/review/26337
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-03-09 04:48:20 +00:00
Dario Lombardo fe71e26af2 spdx: more licenses converted.
Change-Id: I3861061ec261e63b23621799e020e811ed78a343
Reviewed-on: https://code.wireshark.org/review/26333
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-03-07 15:56:44 +00:00
Dario Lombardo 71f36379ae licensecheck: add BSD licenses.
Change-Id: I764d03e4dc6d8925e656f37c98ece3da1fb1f001
Reviewed-on: https://code.wireshark.org/review/26335
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-03-07 15:41:50 +00:00
Dario Lombardo 8a5385b9c9 More licenses converted to SPDX.
Change-Id: Id4f987dcdacf06622d70263f4659a4400e30dc39
Reviewed-on: https://code.wireshark.org/review/26332
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-03-07 13:35:49 +00:00
Gerald Combs a1da75c554 Transition from GeoIP Legacy to MaxMindDB.
MaxMind is discontinuing its legacy databases in April in favor of
GeoIP2, which use a newer database format (MaxMind DB). The reference C
library (libmaxminddb) is available under the Apache 2.0 license which
isn't quite compatible with ours.

Add mmdbresolve, a utility that reads IPv4 and IPv6 addresses on stdin
and prints resolved information on stdout. Place it under a liberal
license (MIT) so that we can keep libmaxminddb at arm's length. Add
epan/maxmind_db.[ch], which spawns mmdbresolve and communicates with it
via stdio.

Migrate the preferences and documentation to MaxMindDB.

Change the IPv4 and IPv6 asnum fields to FT_UINT32s. Change the
geographic coordinate fields to FT_DOUBLEs.

Bug: 10658
Change-Id: I24aeed637bea1b41d173270bda413af230f4425f
Reviewed-on: https://code.wireshark.org/review/26214
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2018-03-06 18:02:21 +00:00
Gerald Combs 184ef02111 Fuzz-test: Handle ABRT.
Trap ABRT and try to pass it on to our runners.

Change-Id: I6e5a9fd63822c9bc84e116b3574abc4ccca448f5
Reviewed-on: https://code.wireshark.org/review/26227
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2018-03-02 18:03:48 +00:00
Jaap Keuter 0fb38879af L16_mono: Add L16 monaural codec plugin as functional example
This codec plugin serves a dual purpose.
First it is to add L16 codec suppport to Wireshark.
Second it is an illustration of a basic codec plugin module.

Change-Id: I64394dab3257ae49dece0257b16cd969503918e2
Reviewed-on: https://code.wireshark.org/review/26131
Reviewed-by: Jaap Keuter <jaap.keuter@xs4all.nl>
Petri-Dish: Jaap Keuter <jaap.keuter@xs4all.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-02-28 12:04:29 +00:00
Gerald Combs e73e3580f6 Rename airpdcap to dot11decrypt.
Our 802.11 decryption code isn't tied to any specific product. Change
the file and API names to dot11decrypt.

Change-Id: I14fd951be3ae9b656a4e1959067fc0bdcc681ee2
Reviewed-on: https://code.wireshark.org/review/26058
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
2018-02-24 11:56:18 +00:00
Dario Lombardo d0b07245ec tools: add git to optional pkgs in debian-setup script.
Change-Id: I2931ee2bee9a719596318615d2cba7973e30e082
Reviewed-on: https://code.wireshark.org/review/25921
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2018-02-21 05:50:32 +00:00
Jakub Zawadzki bc43d687f0 fuzzshark: don't fuzz udplite.
Don't fuzz IP->udplite protocol. It's using most of UDP code,
but cause udplite calls also udp dissectors it duplicates
work of UDP fuzzer.

This should also decrease IP corpus size, cause in IP corpus
~7.6% (9 165 out of 119 780) is udplite ip.proto

Change-Id: I1d3bde6dd34f76696a34b1c728ce36f3c802e6c9
Link: https://github.com/google/oss-fuzz/issues/1087
Reviewed-on: https://code.wireshark.org/review/25950
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2018-02-20 23:02:38 +00:00
Guy Harris 459bd4646d Don't have CLEAN_FILES variables for the "clean" source files.
Except for the one directory that (currently) has "not yet clean" files,
epan/dissectors, we don't need a separate variable to keep track of the
"clean" source files.

In the cases where not all files were in CLEAN_FILES, put them into the
variable used to enable -Werror or its equivalent.

Change-Id: Ic4119861c1d9e381adfe31e9977e1ac71d623f5b
Reviewed-on: https://code.wireshark.org/review/25830
Petri-Dish: Guy Harris <guy@alum.mit.edu>
Tested-by: Petri Dish Buildbot
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-02-17 02:50:24 +00:00
Your Name a660215dea fuzzshark: disable reassembly for few protocols
Reassembly (or in general being stateful) doesn't help when fuzzing,
even if wireshark will crash oss-fuzz will try to reproduce the crash
with just single sample.

Single sample will not reproduce the crash, so being stateful makes
wireshark 'buggy target'.

I hope change will also make IP corpus a little bit smaller.

Change-Id: I01ba8177a653d220c4cfe8a56a5836c96010c6fe
Reviewed-on: https://code.wireshark.org/review/25799
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2018-02-15 06:03:34 +00:00
Gerald Combs 048c4373e1 Asciidoctor macro fixups.
Fix a few errors in the Asciidoctor macros. Use the new macro names in
the release notes and gen-bugnote.

Change-Id: I2ca672949c59ca3da8a6b963cb5bd9abd66c348d
Reviewed-on: https://code.wireshark.org/review/25774
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2018-02-13 18:32:56 +00:00
Dario Lombardo 7650151311 more SPDX convertions.
Change-Id: I6b8404c28b31a81767a3b64ffe9ba96156c4c217
Reviewed-on: https://code.wireshark.org/review/25757
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-02-13 13:57:30 +00:00
Dario Lombardo 3db1c06404 tools: fix zlib check in licensecheck.pl.
Change-Id: I0b1708c6e4530115698d050e41b691af2a948578
Reviewed-on: https://code.wireshark.org/review/25766
Reviewed-by: Dario Lombardo <lomato@gmail.com>
2018-02-13 12:25:29 +00:00
Dario Lombardo 7fd6abc1eb tools: remove extra spaces from licensecheck.pl.
Change-Id: Iab25373f047cc084efaf751cb9a3cfbf62fd1f7a
Reviewed-on: https://code.wireshark.org/review/25767
Reviewed-by: Dario Lombardo <lomato@gmail.com>
2018-02-13 09:46:18 +00:00
Gerald Combs 045c48e81e html2text: Prefix lists with a bullet.
Prefix lists with a bullet symbol (U+2022) instead on an asterisk.

Skip the <head> tag while we're here so that we don't print the title
twice.

Change-Id: I1dfad1fc70aa05319e14c55b663dd2183ab87d79
Reviewed-on: https://code.wireshark.org/review/25762
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2018-02-12 23:35:00 +00:00
Gerald Combs 8ebbf99173 Remove Lynx.
Use tools/html2text.py to convert HTML to text.

Remove some now-obsolete documentation.

Change-Id: Ib21a1ab10c789182da5fcc68e98917a00f2fa650
Reviewed-on: https://code.wireshark.org/review/25733
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2018-02-12 19:19:11 +00:00
Jakub Zawadzki a958533c6a fuzzshark: disable protocol in fuzzer if it's used by other fuzzer.
Change-Id: I4dcc38b2ac9711660c8cf27cbbabd879c2eee930
Link: https://github.com/google/oss-fuzz/issues/1087
Reviewed-on: https://code.wireshark.org/review/25738
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-02-12 06:39:04 +00:00
Gerald Combs 94a0f7c641 Switch from AsciiDoc to Asciidoctor.
Switch the markup text processor for files in the docbook directory from
AsciiDoc to Asciidoctor. Asciidoctor has several useful features (such
as direct PDF output) and is actively developed. It's written in Ruby
but that dependency can be sidestepped with AsciidoctorJ, a
self-contained bundle that only depends on the JRE.

The current toolchain targets require Python, AsciiDoc, DocBook XML,
DocBook XSL, Java, FOP, xsltproc, lynx, and the HTMLHelp compiler:

HTML: AsciiDoc → DocBook XML → xsltproc + DocBook XSL
Chunked HTML: AsciiDoc → DocBook XML → xsltproc + DocBook XSL
PDF: AsciiDoc → DocBook XML → xsltproc + DocBook XSL → FOP
HTMLHelp: AsciiDoc → DocBook XML → xsltproc + DocBook XSL → HHC

This change removes the AsciiDoc and FOP requirements and adds either
AsciidoctorJ or Asciidoctor + Ruby:

HTML: Asciidoctor → DocBook XML → xsltproc + DocBook XSL
Chunked HTML: Asciidoctor → DocBook XML → xsltproc + DocBook XSL
PDF: Asciidoctor
HTMLHelp: Asciidoctor → DocBook XML → xsltproc + DocBook XSL → HHC

Ideally we could generate all of these using AsciidoctorJ, Java, and
lynx. Unfortunately we're not there yet.

The release notes depend on several macros (ws-buglink, ws-salink,
cve-idlink, sort-and-group). Add Asciidoctor (Ruby) equivalents.

Remove the BUILD_xxx_GUIDES CMake options and add various output targets
automatically. This means that you have to build the various documentation
targets explicitly.

Change-Id: I31930677a656b99b1c6839bb6c33a13db951eb9a
Reviewed-on: https://code.wireshark.org/review/25668
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2018-02-11 18:22:09 +00:00
Dario Lombardo be38102eea caputils/tools: more SPDX convertions.
Change-Id: I44a8d1848f768acf4c3b31a68c845264c74e4bba
Reviewed-on: https://code.wireshark.org/review/25709
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-02-09 15:20:05 +00:00
Dario Lombardo a9733b5cd5 tools: fix BSD license name in licensecheck.pl.
Change-Id: I401efcbb4f8f9eec5ef38f3788e979a3752c4a7f
Reviewed-on: https://code.wireshark.org/review/25714
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-02-09 14:13:12 +00:00
Gerald Combs b511312633 html2text: Skip some tags and add references.
Skip the contents of <style> and <script> tags. Add URL footnotes
similar to `lynx -dump`.

Change-Id: I721bdfabeacc000d604aa8475f13be1d797ad0fb
Reviewed-on: https://code.wireshark.org/review/25697
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-02-09 05:30:14 +00:00
Guy Harris 1f5f63f8ef Generalize wtap_pkthdr into a structure for packet and non-packet records.
Separate the stuff that any record could have from the stuff that only
particular record types have; put the latter into a union, and put all
that into a wtap_rec structure.

Add some record-type checks as necessary.

Change-Id: Id6b3486858f826fce4b096c59231f463e44bfaa2
Reviewed-on: https://code.wireshark.org/review/25696
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-02-09 00:29:51 +00:00
Dario Lombardo 8cd389e161 replace SPDX identifier GPL-2.0+ with GPL-2.0-or-later.
The first is deprecated, as per https://spdx.org/licenses/.

Change-Id: I8e21e1d32d09b8b94b93a2dc9fbdde5ffeba6bed
Reviewed-on: https://code.wireshark.org/review/25661
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-02-08 14:57:36 +00:00
Dario Lombardo bfd2dbcf25 tools: remove garbage from licensecheck.pl.
Change-Id: I9a0e00c9e033618ee2ced94dadf1a98640e0d914
Reviewed-on: https://code.wireshark.org/review/25684
Reviewed-by: Dario Lombardo <lomato@gmail.com>
2018-02-08 13:37:17 +00:00
Dario Lombardo f814c40ad3 tools: add new SPDX GPL format to licensecheck.pl.
Change-Id: Ie148f8a660027df8194bd3890a108c0639a18823
Reviewed-on: https://code.wireshark.org/review/25680
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-02-08 11:45:50 +00:00
Dario Lombardo 8eed71f539 tools: remake the indentation of licencecheck.pl.
Change-Id: Ib1b320e5b99e8842df61fd3dc584b6df4fc461f8
Reviewed-on: https://code.wireshark.org/review/25639
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-02-08 11:44:58 +00:00
Gerald Combs 8ae0467e61 tools: Add SPDX MIT to licensecheck.pl.
Add a check for "SPDX-License-Identifier: MIT".

Change-Id: Id69c87e7d8d7fd3904a02f9fb410bae8e9d99d10
Reviewed-on: https://code.wireshark.org/review/25669
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2018-02-07 19:55:34 +00:00
Dario Lombardo c1f37d25c3 tools: add files from wsutil and caputils to checklicense whitelist.
Change-Id: I35b6df8fbb31c209e7e79d5c002568d5194f3485
Reviewed-on: https://code.wireshark.org/review/25641
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-02-07 05:33:17 +00:00
Dario Lombardo c4a6016be2 tools: add licenses to licensecheck.pl.
Include the following licenses in licensecheck.pl
1. LGPL-2.0-or-later
2. Zlib
3. BSD-3-Clause

Change-Id: I65f0ca1f957ee072ed595ab56d20ec200bd7047e
Reviewed-on: https://code.wireshark.org/review/25638
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-02-07 05:24:04 +00:00
Dario Lombardo d9368545f4 fuzzshark: use SPDX identifier.
Change-Id: I9c786b8bbb96a4bfa1560536c3929b844aa8afb7
Reviewed-on: https://code.wireshark.org/review/25562
Reviewed-by: Michael Mann <mmann78@netscape.net>
2018-02-02 13:38:48 +00:00
Jakub Zawadzki d1b1575f6d oss-fuzzshark: try to fix oss-fuzz assert fails.
Change-Id: Ic4ff70dfc55b2694f761cdadcac1962242fca753
Reviewed-on: https://code.wireshark.org/review/25551
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2018-02-01 17:35:16 +00:00
Jakub Zawadzki dd3b82ebc8 oss-fuzzshark: test code to debug some oss-fuzz assert fails.
Change-Id: I5dbe899ca8a4f9107d62667ca107a4d3a48fe51b
Reviewed-on: https://code.wireshark.org/review/25545
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2018-02-01 07:08:59 +00:00
Martin Mathieson 9972110f31 valgrind-wireshark.sh: fix typo in usage
Change-Id: If9210c6f71d4e258a489d254482cf5543b818e11
Reviewed-on: https://code.wireshark.org/review/25491
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-01-27 23:10:57 +00:00
Lazar Sumar 0d5cbc7303 Added the Proconx CAN-ETH protocol dissector
Change-Id: I306341c7cddf8facb4a9ca62254a465a1da22174
Reviewed-on: https://code.wireshark.org/review/25423
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
2018-01-26 03:19:50 +00:00
Gerald Combs 00a528f123 Qt: Translate files in subdirectories.
Make sure we pass ui/qt/*/*.{cpp,h} to lupdate. Make update-tx a
bash script and make sure it passes ShellCheck. Add a -n flag, which
disables pushing back to Transifex.

Change-Id: Ia7d6564bbdbf69285f1f9b88cde09e37da4f916c
Reviewed-on: https://code.wireshark.org/review/25382
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-01-21 20:16:58 +00:00
Dario Lombardo 43833239fc Qt: change obsolete qVariantFromValue into QVariant::fromValue.
Change-Id: I767b06c0e316347cdb28b769f1032e6d44cba45b
Reviewed-on: https://code.wireshark.org/review/25321
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Roland Knall <rknall@gmail.com>
Reviewed-by: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-01-15 12:20:32 +00:00
Pascal Quantin 88abff68df NR RRC: add initial dissector based on v15.0.0
ASN.1 prose imported from the specification and heavily modified
manually to workaround its poor quality.
Some of them are marked with -- WS modification comment, some are not.
Probably useless as-is, but it is an initial start until an updated
version is available.

Change-Id: I19ab6cedb6aa23c8ed57bae525ee4a3391494e32
Reviewed-on: https://code.wireshark.org/review/25235
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-01-10 05:31:33 +00:00
Pascal Quantin fc9af81a13 wiretap: add a parameter to wtap_init() indicating whether plugins must be loaded
g995812c5f1 moved wiretap plugins registration from applications to
wiretap library init function.
As we do not want to load plugins for all users of libwiretap, let's
make it configurable.

Bug: 14314
Change-Id: Id8fdcc484e2d0d31d3ab0bd357d3a6678570f700
Reviewed-on: https://code.wireshark.org/review/25194
Reviewed-by: Dario Lombardo <lomato@gmail.com>
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-01-09 21:25:06 +00:00
Nathaniel Clark 958374f352 [lustre] Initial Lustre support
This interperates the main body of Lustre traffic.
This dissects all current Lustre OPCODES (as of Lustre 2.10.2)
This dissects MDS REINT sub-opcodes
This dissects LDLM Intent opcodes
This dissects LLOG EADATA

Conversation matching is just IP based and not IP/port based.
Only one lustre "instance" can be running on a given host at a given time,
and request / reply pairs aren't don't always match by port numbers.

Add exception for lustre_* structure names in PROTOABBREV.
We have several lustre.lustre_* because the internal lustre structre is
named lustre_ (i.e. lustre_handle or lustre_msg_v2)

This is still a work in progress, as there are missing FLAG values
and some LLOG EADATA structures that aren't fully decoded.

Change-Id: If57085e2692565336e49f40fb475ca1035da7a35
Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Reviewed-on: https://code.wireshark.org/review/24800
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-01-09 06:38:05 +00:00
Gerald Combs 0f3aa8522e Qt: Move sized toolbar images to stock_icons.
The sized (WWxHH) icons in the toolbar directory aren't limited to
toolbars. Create a "stock_icons" directory and move them and their
related SVGs there.

Change-Id: I2c1852499594aa738371c79542f24bd3351653bb
Reviewed-on: https://code.wireshark.org/review/25133
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
2018-01-05 03:27:15 +00:00
Gerald Combs 8bf24f51cb Pre-commit: Don't force whitespace checks everywhere.
Move the whitespace check (git diff-index --check --cached) inside the
CHECK_FILES loop, otherwise editing SVGs with Inkscape will be much less
convenient.

Change-Id: I2b9e3575d54091572caa89e3e317e5e121984010
Reviewed-on: https://code.wireshark.org/review/25144
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2018-01-04 21:32:27 +00:00
Alexis La Goutte 65276a4ebb plugins: fix no previous prototype for function 'plugin_register' [-Wmissing-prototypes]
Change-Id: I84f1fd02f99e7d4757e418539f932c550e409f92
Reviewed-on: https://code.wireshark.org/review/24920
Petri-Dish: João Valverde <j@v6e.pt>
Reviewed-by: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2017-12-23 13:09:25 +00:00
Alexis La Goutte 917867c432 fuzzshark: fix no previous prototype for function 'LLVMFuzzerTestOneInput/LLVMFuzzerInitialize' [-Wmissing-prototypes]
Change-Id: If5f425dda3cd793a63a69680c12aba12a20ed12e
Reviewed-on: https://code.wireshark.org/review/24917
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-12-21 00:04:18 +00:00
Alexis La Goutte 12e25c1a86 plugin: fix extra ';' outside of a function [-Wextra-semi]
Change-Id: I923e4a4f84e8786523333daf372fc5d7cc7ad729
Reviewed-on: https://code.wireshark.org/review/24897
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: João Valverde <j@v6e.pt>
2017-12-19 15:39:57 +00:00
João Valverde f3444ed0f9 plugins: Remove moduleinfo.h
Micro version bump for mate to homogenize it between CMake and autotools.
The cmake macro doesn't handle the "a" suffix and it doesn't seem worth
implementing.

Change-Id: Ib022c6aa170623b83a9700e4fa098c60a9cddfab
Reviewed-on: https://code.wireshark.org/review/24847
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot
Reviewed-by: João Valverde <j@v6e.pt>
2017-12-17 11:47:17 +00:00
Pascal Quantin afc6e773dc Fix registration of wiretap plugins
Change-Id: I1277870cab348feda7e23cffb277410bd4b10a0e
Reviewed-on: https://code.wireshark.org/review/24832
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2017-12-14 22:59:10 +00:00
João Valverde 995812c5f1 Refactor plugin registration and loading
Put different types of plugins (libwiretap, libwireshark) in different
subdirectories, give libwiretap and libwireshark init routines that
load the plugins, and have them scan the appropriate subdirectories
so that we don't even *try* to, for example, load libwireshark plugins
in programs that only use libwiretap.

Compiled plugins are stored in subfolders of the plugin folders, with
the subfolder name being the Wireshark minor version number (X.Y). There is
another hierarchical level for each Wireshark library (libwireshark, libwscodecs
and libwiretap).

The folder names are respectively plugins/X.Y/{epan,codecs,wiretap}.

Currently we only distribute "epan" (libwireshark) plugins.

Change-Id: I3438787a6f45820d64ba4ca91cbe3c8864708acb
Reviewed-on: https://code.wireshark.org/review/23983
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot
Reviewed-by: João Valverde <j@v6e.pt>
2017-12-14 08:43:57 +00:00
Guy Harris 7539469d79 Fix types.
ftell() returns a long; assign its value to a variable of that type.
size_t is unsigned, so checking that it's >= 0 always succeeds.

We can cast the variable's value to size_t once we've determined that it's
non-negative; do so, to avoid other warnings.

Change-Id: I0da6a220ce140ebf073df5f5bcd0c9526bf9c3c3
Reviewed-on: https://code.wireshark.org/review/24817
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-12-14 02:44:51 +00:00
Dario Lombardo 326591ef6d fuzzer: add check for ftell return value (CID: 1426073).
Change-Id: I9b619c79433f267d87f6680eeb78a25daa169f4d
Reviewed-on: https://code.wireshark.org/review/24778
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-12-12 14:56:54 +00:00
João Valverde 0d5ad701b4 Fix make distcheck
Change-Id: Ie0e6ef4595be4f981b919ed609cc62a0595c3320
Reviewed-on: https://code.wireshark.org/review/24764
Reviewed-by: João Valverde <j@v6e.pt>
2017-12-11 03:38:28 +00:00
João Valverde 5fc43fe63a Rewrite make-tap-reg.py in C
Change-Id: Ief5b1fffecc9712c01ff10292c403b7c84a5908a
Reviewed-on: https://code.wireshark.org/review/24756
Reviewed-by: João Valverde <j@v6e.pt>
2017-12-11 02:52:28 +00:00
Jakub Zawadzki 157ea91f2e oss-fuzzshark: fix compilation.
/src/wireshark/tools/oss-fuzzshark/fuzzshark.c:268:58: error: too few arguments to function call, expected 2, have 1
        fuzz_handle = get_dissector_handle(FUZZ_DISSECTOR_TARGET);
                      ~~~~~~~~~~~~~~~~~~~~                      ^
/src/wireshark/tools/oss-fuzzshark/fuzzshark.c:133:1: note: 'get_dissector_handle' declared here

Change-Id: I6c6e25017f0045b833d9249c9648145893fe0439
Reviewed-on: https://code.wireshark.org/review/24742
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2017-12-08 19:39:37 +00:00
Guy Harris 48e65c4af4 Hand the packet provider functions to epan_new().
Have separate packet_provider_data structures and packet_provider_funcs
structures; the latter holds a table of functions that libwireshark can
call for information about packets, the latter holds the data that those
functions use.

This means we no longer need to expose the structure of an epan_t
outside epan/epan.c; get rid of epan/epan-int.h.

Change-Id: I381b88993aa19e55720ce02c42ad33738e3f51f4
Reviewed-on: https://code.wireshark.org/review/24732
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-12-08 04:33:55 +00:00
Guy Harris 797d2f6a87 Move the frame_set stuff back into the capture_file structure.
libwireshark now expects an epan_t to be created with a pointer to a
"packet provider" structure; that structure is opaque within
libwireshark, and a pointer to it is passed to the callbacks that
provide interface names, interface, descriptions, user comments, and
packet time stamps, and that set user comments.  The code that calls
epan_new() is expected to provide those callbacks, and to define the
structure, which can be used by the providers.  If none of the callbacks
need that extra information, the "packet provider" structure can be
null.

Have a "file" packet provider for all the programs that provide packets
from a file.

Change-Id: I4b5709a3dd7b098ebd7d2a7d95bcdd7b5903c1a0
Reviewed-on: https://code.wireshark.org/review/24731
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-12-08 03:32:25 +00:00
Jakub Zawadzki 038aa2a616 Add fuzzshark to cmake/autotools.
Add fuzzshark target to make sure that oss-fuzzshark always build.

Change-Id: I802b679c18023daa1475a54bae722b5e90c72a59
Reviewed-on: https://code.wireshark.org/review/24716
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2017-12-07 23:26:52 +00:00
Jakub Zawadzki 038fe4c2d4 oss-fuzzshark: fix handler of epan->get_frame_ts to fix build.
Fix oss-fuzzshark build after [1834dca365]: Move the parts of a capture_file used by libwireshark to a new structure.

I really need to integrate oss-fuzzshark with build system...

Change-Id: I75595db392acfbdb7885975e458d8b434830cfec
Reviewed-on: https://code.wireshark.org/review/24713
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2017-12-06 18:41:31 +00:00
Guy Harris eb8ffb74e2 Use cfile.h to define the capture_file type.
Have cfile-int.h declare the structure, and use it in files that
directly access the structure.

Have cfile.h just incompletely declare the structure and include it
rather than explicitly declaring it in source files or other header
files.

Never directly refer to struct _capture_file except when typedeffing
capture_file.

Add #includes as necessary, now that cfile.h doesn't drag in a ton of

Change-Id: I7931c8039d75ff7c980b0f2a6e221f20e602a556
Reviewed-on: https://code.wireshark.org/review/24686
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-12-03 18:54:37 +00:00
Gerald Combs 28b6616ea0 Get rid of some void pointers.
Explictly struct _capture_file * in epan_session and its callbacks.

Change-Id: I63703015c661a08f3350a7448a7bcdaf98f119dc
Reviewed-on: https://code.wireshark.org/review/24675
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-12-01 21:09:24 +00:00
Gerald Combs 2fdbeb0d78 Gen-bugnote: Replace backslashes with {backslash}.
Change-Id: I12b479fedf9ca54b600919a4586c4b4c43464589
Reviewed-on: https://code.wireshark.org/review/24626
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2017-11-28 22:42:23 +00:00
João Valverde 944a3c3a58 make-plugin-reg: Update modification time to plugin.c
Let the build system handle the dependencies. Make sure to update the file
even if nothing has changed to avoid re-running the script every time.

Change-Id: I2229c13578a6278a04152825c98d8b889081dcb7
Reviewed-on: https://code.wireshark.org/review/24597
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot
Reviewed-by: João Valverde <j@v6e.pt>
2017-11-27 07:56:51 +00:00
João Valverde 121654beb2 checkAPIs: Skip make-dissectors.c
Change-Id: Ief976c2958b98dc2a5b637bc20dd5f7f993b7124
Reviewed-on: https://code.wireshark.org/review/24551
Reviewed-by: João Valverde <j@v6e.pt>
2017-11-23 16:59:04 +00:00
João Valverde 7540ac6938 Move the protocol registration routines back into libwireshark
Follow-up to b695b3e2f7.

Change-Id: I7e36519f2c3806c1205d05437671325080974257
Reviewed-on: https://code.wireshark.org/review/24524
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot
Reviewed-by: João Valverde <j@v6e.pt>
2017-11-21 20:21:50 +00:00
Jakub Zawadzki 2ad1507344 oss-fuzzshark: fix linking issues due to register_all_protocols() removed from -lepan
During compilation of oss-fuzzshark (https://github.com/google/oss-fuzz/issues/1003):
Step #3: /src/wireshark/tools/oss-fuzzshark/fuzzshark.c:213: undefined reference to `register_all_protocols'
Step #3: /src/wireshark/tools/oss-fuzzshark/fuzzshark.c:213: undefined reference to `register_all_protocol_handoffs'

After cleanup of make-dissector-reg.py [b695b3e2f7]
these functions are no longer part of epan library (I really wonder why...).
oss-fuzzshark need to compile and link register.c on their own.

Change-Id: I79adf5c1513a0934f140bbf501c181bf14d7619b
Reviewed-on: https://code.wireshark.org/review/24523
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2017-11-21 18:23:35 +00:00
João Valverde fe0c2b0485 Rewrite make-dissector-reg.py in C
The output compares equal to make-dissector-reg.py and the regex
should be more robust (multiline, complete start of function definition).

The primary motivation is to clean up the python script. This small
binary results in much cleaner code. The python script is used only
to generate plugin code, therefore it is renamed.

Also in my casual measurements the C code is much faster (without cache)
than the python script with the cache.

Change-Id: Id4e8cac3c836d56775aba4819357a95ef19bcb85
Reviewed-on: https://code.wireshark.org/review/24497
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-11-20 06:03:08 +00:00
João Valverde 262a84c384 Fix (and chop) static build option
This sets the scope of the static build option to Wireshark support
libraries only.

Before the patch:

Static plugins don't work with CMake and autotools.

autotools static build is broken, and most likely will always be, as
building Wireshark all-static is difficult and time-consuming.

After the patch:

For CMake Wireshark will be built with static or shared libraries and
dynamic plugins. Everything just works. CMake apparently doesn't want
you building static and shared libraries at the same time.

For autotools Wireshark will be built with shared libraries by default.
--disable-shared and --enable-static options work as usual. Dlopened
plugins are not built if --disable-shared is given to configure (to
disable shared libraries). This is a limitations imposed by libtool.

Tested on Linux. This removes broken support for building plugins
statically.

Change-Id: Ib8e8176976f136eea93a2ce8f9857b6cf9bec64c
Reviewed-on: https://code.wireshark.org/review/24241
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot
Reviewed-by: João Valverde <j@v6e.pt>
2017-11-19 20:16:50 +00:00
João Valverde 1097e8020a autotools: Library build products don't need explicit cleaning
Change-Id: I5d68c05f2844d6c9ae486531b189dbf10bc09cff
Reviewed-on: https://code.wireshark.org/review/24484
Reviewed-by: João Valverde <j@v6e.pt>
2017-11-18 22:29:41 +00:00