Commit Graph

2263 Commits

Author SHA1 Message Date
Alexis La Goutte 0f9f9d76ce update-tx: fix typo
Change-Id: I7ba88e9f1764a8d01c3754e032de1abd940a365c
Reviewed-on: https://code.wireshark.org/review/30868
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-12-03 04:51:23 +00:00
Pascal Quantin 4adaeee0eb Win32: update the zlib 1.2.11 CMake file
- get rid of the CMP0048 deprecation warning
- fix the absolute install path (João Valverde)

Change-Id: If2353987483b17b38a43a2400b97f1446c312e28
Reviewed-on: https://code.wireshark.org/review/30886
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: João Valverde <j@v6e.pt>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2018-12-02 16:12:57 +00:00
João Valverde dd457b0878 CMake: Generate cmake target exports on Windows
CMake requires zlib to be added to the exports via epan and wiretap
targets.

Ping-Bug: 15301
Change-Id: I5cfe746e67c195eb83b1d159a2cc2a645c8c47ea
Reviewed-on: https://code.wireshark.org/review/30793
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2018-11-30 10:52:58 +00:00
Gerald Combs 2bcc8dbf26 NSIS: Install NPcap instead of WinPcap.
Install NPcap 0.99-r7 instead of WinPcap in the NSIS installer. Update
and/or remove installer text, variables, and variable names accordingly.

Change-Id: Ied36f00c2516127969894f55698e70401dfffb4f
Reviewed-on: https://code.wireshark.org/review/30829
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-11-30 06:12:23 +00:00
Peter Wu 9bc4513d5a debian-setup: accept GnuTLS 3.2.11 on Ubuntu 14.04 for Travis
Travis still uses Ubuntu 14.04 which ships with GnuTLS 3.2.11-2ubuntu1.
That package uses libgmp10 5.1.3+dfsg-1ubuntu1 which is not GPLv2+
compliant (libgmp10 6 or newer is needed), but aside from that it still
works. Drop the version requirement to enable GnuTLS with Travis builds.

Change-Id: I235f1127e4f56df3e16b5fa279f1929a1b9577f6
Reviewed-on: https://code.wireshark.org/review/30842
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2018-11-30 01:19:15 +00:00
Milan Stute 6f2ca96359 Add Apple Wireless Direct Link (AWDL) dissector
More information on Apple's proprietary AWDL protocol can be found in
  Milan Stute, David Kreitschmann, and Matthias Hollick. "One Billion Apples'
  Secret Sauce: Recipe for the Apple Wireless Direct Link Ad hoc Protocol"
  in ACM MobiCom '18. https://doi.org/10.1145/3241539.3241566

Bug: 15245
Change-Id: I5ce18125b3c957f338909e46f18e30405a3d3941
Reviewed-on: https://code.wireshark.org/review/30413
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-11-29 22:12:42 +00:00
Peter Wu bcd32b07e7 Drop support for GnuTLS 2.12.x, require GnuTLS 3.2 or newer
Upcoming changes need GnuTLS >= 3.0.2. Require GnuTLS 3.2 (or newer) for
licensing reasons. The Debian control file still mentions 3.2.14 because
older packages linked with a GMP library that was not GPLv2+ compatible.

RHEL6 only has 2.12.23, but is already unsupported anyway.

Change-Id: I024b2a734ebb16b73a624bb2435c254e963d8b7d
Reviewed-on: https://code.wireshark.org/review/30832
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-11-29 22:11:27 +00:00
Gerald Combs 246b801f83 Fixup the "No Reassembly" profile.
Fix the pattern match in make-no-reassembly-profile.py. Have it only
write changed preferences.

Change-Id: I14f23a56f9ec598930591fae9eac2f14747c55bb
Reviewed-on: https://code.wireshark.org/review/30805
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2018-11-27 21:43:06 +00:00
Gerald Combs 0b9810ab97 Add a "No Reassembly" profile.
Add a script that disables all of our desegmentation and reassembly
preferences and use it to create a "No Reassembly" profile.

Change-Id: Icd0b72e9e271a511e637acde9018f3aae018e589
Reviewed-on: https://code.wireshark.org/review/30799
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-11-27 04:38:15 +00:00
Peter Wu 1d9aff7740 nl80211: update fields to Linux v4.20-rc4
Fix `tools/generate-nl80211-fields.py --update` to match the output from
v2.9.0rc0-1896-g43134ae252 ("netlink-*: fix various VALS/TFS misuse").
Update to match nl80211.h from Linux v4.19-rc6-1865-g0d4e14a32dca.

Change-Id: I101146867a62f2f881752c42229a218c12d6dda7
Reviewed-on: https://code.wireshark.org/review/30794
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Martin Kaiser <wireshark@kaiser.cx>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-11-27 04:34:19 +00:00
Peter Wu 7c2d8972de tools/validate-commit.py: enforce short summary followed by blank line
To keep git logs readable, enforce a short summary line. Strive for 80
characters, reject everything past 120. Descriptions should also stay
under 80 characters, but as error messages and links to protocol
specifications can be quite long, do not check the description.

Change-Id: Ife46b9ef6330aab015fc4ee5cc774a8ef6b9ad4e
Reviewed-on: https://code.wireshark.org/review/30667
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-11-21 04:31:13 +00:00
Peter Wu 811d5f7fac Drop JSON-GLib completely
JSON-GLib was added in v2.9.0rc0-201-g511c2e166a, but is no longer
necessary since we have a home-grown JSON dumper (wsutil/json_dumper.h).
Remove the remaining traces and additionally remove GObject from
FindGLIB2.cmake since it was only added for JSON-GLib.

Change-Id: If9dfd2c60cec130f98109d100bdb6618bde06ba0
Reviewed-on: https://code.wireshark.org/review/30733
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-11-20 05:04:11 +00:00
Gerald Combs 8788c990b5 rpm-setup.sh: We no longer use FOP or AsciiDoc.
Change-Id: I3b6e200be149d12a42604528a695aae98d310b9c
Reviewed-on: https://code.wireshark.org/review/30719
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2018-11-19 20:54:15 +00:00
Gerald Combs 66b9495b9e macos-setup.sh: Update library and tool versions.
Update the following versions:

CMake: 3.7.2 to 3.12.4
Qt: 5.9.5 to 5.9.7 (Current LTS)
libxml2: 2.9.4 to 2.9.7 (2.9.4 has security issues)
c-ares: 1.12.0 to 1.15.0 (1.12.0 has security issues)
libssh: 0.7.4 to 0.8.5 (0.7.4 has security issues)

Change-Id: Ia97b436981705a4d99c0b0a2f238738e18394d45
Reviewed-on: https://code.wireshark.org/review/30589
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2018-11-14 17:45:12 +00:00
Dario Lombardo 51a2a00b7f fix documentation and tests for cmake run directory.
Change-Id: If33a39c26714ebe699463d1c8c67469025767efb
Reviewed-on: https://code.wireshark.org/review/30581
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-11-12 12:36:26 +00:00
Gerald Combs 8c9f09bf34 macos-setup.sh: Remove unused variables and code.
Remove unused variables found by shellcheck. Remove a dead check for
10.5 (which we no longer support) which enables 32-bit builds (which we
no longer support).

Change-Id: I8f987f31025c74d27e46c7f74f514857ec8cdd3b
Reviewed-on: https://code.wireshark.org/review/30549
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-11-09 05:05:52 +00:00
Peter Wu e5cd755578 macos-setup.sh: fix Python 3 installation for OS X 10.8 and older
Change-Id: I3c5b7fa272fbef770b06430edadb8abfc688e951
Fixes: v2.9.0rc0-2460-ge9f7bb5127 ("Require Python 3, drop Python 2 support")
Reviewed-on: https://code.wireshark.org/review/30548
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Reviewed-by: Michael Tüxen <tuexen@wireshark.org>
2018-11-08 17:26:03 +00:00
Dario Lombardo 50a0a78bd0 rpm: update all rpm files for using python3.
This includes:
- tools/rpm-setup.sh
- packaging/rpm/wireshark.spec.in

Fixes: v2.9.0rc0-2460-ge9f7bb5127 ("Require Python 3, drop Python 2 support")
Change-Id: I9fb92be936dec5fdb819a54e132e64521fa95bbb
Reviewed-on: https://code.wireshark.org/review/30543
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
Reviewed-by: Dario Lombardo <lomato@gmail.com>
2018-11-08 15:55:20 +00:00
Peter Wu e9f7bb5127 Require Python 3, drop Python 2 support
Python 3 is widely available. All major Linux distributions support it.
RHEL is covered via EPEL (which is already required for cmake3). Drop
support for Python 2 in order to reduce maintenance costs. The main
motivation is being able to simplify the tests.

CMake is updated to search for Python >= 3.4 and will fail if
unavailable (generating dissectors.c requires Python, so it is quite an
important piece to have).

The documentation is updated to reflect the Python 3.7 paths used by
Chocolatey. Tested the git-review installation instructions in Windows 7
x64 without a previous Chocolatey installation.

macOS brew now installs Python 3 (its dependencies are already installed
by python@2 for libxml2). The macOS (non-brew variant) is updated to use
the official 64-bit installer to install Python 3.

Change-Id: I80b1e36957f338e0dad1bfcc173b6418682cddba
Reviewed-on: https://code.wireshark.org/review/30192
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-11-07 20:46:59 +00:00
Dario Lombardo 62dff7223c tools: fix LUA version and add more libs to the brew script.
brew installs lua 5.3 by default, that is not Wireshark compatible.
lua@5.1 is installed instead since lua@5.2 is not available, see
https://github.com/Homebrew/homebrew-core/issues/24409

Change-Id: I82c98bc3314e367dbdb71109887c37372f6293d2
Reviewed-on: https://code.wireshark.org/review/30494
Tested-by: Dario Lombardo <lomato@gmail.com>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: Dario Lombardo <lomato@gmail.com>
2018-11-04 18:57:18 +00:00
Pascal Quantin eb5bfcf144 IEEE1609dot2: generate automatically dissector from ASN.1 description
Add basic OER support to asn2wrs.py. There is still work required as we
miss many basic functions in packet-oer.c file.

Change-Id: I3ebebdb2e9b0c90eb1dfa8885cebbb077b16f246
Reviewed-on: https://code.wireshark.org/review/30434
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-10-30 15:33:44 +00:00
Peter Wu 52d60cac72 checkAPIs.pl: fix false positive in value_string.h
check_value_string_arrays accidentally considered a part of
value_string.h as value_string definition:

    Error: epan/value_string.h                : {0, NULL} is required as the last value_string array entry: value_string array_name[]
    #define _VS_ARRAY_TYPE_NAME(array_name) const value_string array_name[]

    #define _VS_ENUM_ENTRY( name, value, string) name

Stripping all pre-processor statements (like #define) would be one way
to solve it, but at least one function checks for the presence of a
macro, so instead forbid '#' in the regex for variable name.

Change-Id: I4f47b3a42714c5bc526b0ecd8d2fb1ab076d00a2
Fixes: v2.9.0rc0-1929-g73644b3f76 ("checkAPIs.pl: speed up check_value_string_arrays and remove_if0_code")
Reviewed-on: https://code.wireshark.org/review/30391
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2018-10-26 14:28:00 +00:00
Rickard Holmberg 24fb3a14dc dcm: Generate packet-dcm.h from DICOM standard in DocBook format
This change adds a python (3) script that generates the file packet-dcm.h from
the DocBook sources of the DICOM standard. They can either be present in the
current directory where the script is run, otherwise the current version is
downloaded from the DICOM standard official website.

Change-Id: Ibc0d88e52a5960b48624f729a67a0effbb7c1005
Reviewed-on: https://code.wireshark.org/review/30338
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2018-10-22 22:07:55 +00:00
Peter Wu 9c45fbcd08 debian-setup: install GLib development headers
Previously installed as transitive dependency of libgtk2.0-dev.
Installed as transitive dependency of libjson-glib-dev since
v2.9.0rc0-201-g511c2e166a, but this is an optional package.

Change-Id: Id4b8523b2d614d273fdb71e91878d4d1a4518572
Fixes: v2.9.0rc0-310-gf23a934492 ("Don't install autotools or GTK+, but do install CMake.")
Reviewed-on: https://code.wireshark.org/review/30336
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-10-22 18:53:32 +00:00
Guy Harris 1d39055ec9 Test C compiler flags with check_c_compiler_flag(), not check_c_linker_flag().
Change-Id: If56a6acf9935838232d6ee86e331361fb076369b
Reviewed-on: https://code.wireshark.org/review/30316
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-10-21 21:21:41 +00:00
Peter Wu 9f74af24f1 lemon: fix GCC/Clang warnings pre CMake 3.11, silence VSCA warnings
The COMPILE_OPTIONS source file property was introduced with CMake 3.11,
disable warnings via a target property instead (available since 2.8.12).

Disable some VS Code Analysis warnings. These flags seem to be accepted
since VS2015, so they can be added unconditionally.

Change-Id: Idfbf154caf8c1168f1f871a640a25b816a2cfab8
Fixes: v2.9.0rc0-2274-g7ce9081fdc ("lemon: sync with upstream (2018-09-08)")
Reviewed-on: https://code.wireshark.org/review/30298
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2018-10-21 11:46:40 +00:00
Peter Wu 7ce9081fdc lemon: sync with upstream (2018-09-08)
Changes:
- Drop the old basename modification that was present in the Wireshark
  version of lemon.c. Use a new option available since 2018-04-20
  ("Add the -dDIRECTORY command-line option to LEMON.")
- Redo the static analyzer warning fixes, identifying the root causes
  and adding assertions instead of hiding code with __clang_analyzer__.
- Ignore compiler warnings instead of adding config.h, _U_, extra const
  keywords, unsigned/signed changes, etc.
- Remove lemon.html, it is out-of-date and external links are available.

In order to make future updates easier, document the exact steps that
were followed to create the lemon.c and lempar.c files. Future changes
SHOULD follow the same process.

My process to reach this updated lemon version:
1. Identify previous sync. Found v2.5.2rc0-147-g653af0f6d0 ("lemon: Sync
   with latest trunk.") which seems based on sqlite commit 2b3d584ffe.
2. Check successive Wireshark patches. Identified many non-functional
   changes to silence compiler warnings and static analyzer issues.
   Found one feature (basename) that can be replaced with upstream -d.
3. Write minimal patches and document changes.

Upstream typos and coding style issues (other than trailing whitespace)
were deliberately not fixed to remain as close as possible to upstream.

Change-Id: I606f46dede86e34520f962a9e7163912392aad57
Reviewed-on: https://code.wireshark.org/review/30290
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-10-21 07:00:05 +00:00
Peter Wu bb2caa2a9f lemon: fix memleak in ReportTable
Building without -DENABLE_ASAN=1 but with -fsanitize=address (as is done
by oss-fuzz) still triggers a memleak report. Closer inspection revealed
that two other members were leaked.

Change-Id: I3d022ac50c554891a73b9380b7879c1a60c3c798
Reviewed-on: https://code.wireshark.org/review/30289
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-10-21 06:58:32 +00:00
Jeff Morriss 5188a1a38e checkAPIs: check ett variable registrations.
Using unregistered etts leads to an abort so check for them in checkAPIs.
This does slow down checkAPIs by about 15% but it seems a reasonable cost
for the benefit.

Note that finding ett registration blocks was fairly inaccurate so we
just check for whether ett variable addresses are used - on the assumption
that if someone's using the address they're probably using it to register
the ett.

Change-Id: Ifbac75c4a8a0fdb27d9c9d1584a2de791bfbc118
Reviewed-on: https://code.wireshark.org/review/30293
Petri-Dish: Jeff Morriss <jeff.morriss.ws@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-10-21 06:57:33 +00:00
Peter Wu 7e88bb5e53 fuzzshark: integrate oss-fuzz targets in CMake
The current fuzzshark target built by CMake is not usable for fuzzing.
Address this by adding a new ENABLE_FUZZER option that enables mandatory
instrumentation and libFuzzer linking options for the fuzzshark binary.

Create more CMake targets for specific fuzzing targets such as
fuzzshark_ip and fuzzshark_ip_proto-udp. These targets are not built by
default, either build individual targets or use the all-fuzzers target.

Now these binaries are not specific to oss-fuzz, so move them to a new
directory (perhaps the corpora can be added here in the future).
oss-fuzz build.sh is simplified and reuses the CMake targets.

When OSS_FUZZ is set, it will force static linking with external
libraries and limit parallel linker jobs (maybe not necessary for
Google's oss-fuzz builders, but my 8G/6c VM ran out of memory).

Change-Id: If3ba8f60ea1f5c3bd2131223050a81f9acbce05d
Reviewed-on: https://code.wireshark.org/review/30228
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-10-20 07:00:43 +00:00
Jeff Morriss 451b93ed99 checkAPIs: use new regex to remove comments.
The new pattern is from the Perl FAQ; it works better for me than the
old code.  Of note is that it works with C++/C99-style comments
following a statement (as opposed to at the start of a line).

The new regex is only slightly slower than the old one: `make checkAPI`
goes from 3m30s of user time to 3m35s.

The big functional difference can be seen by looking at the
post-removal contents of packet-hl7.c.

Before:

    struct msh {                    // typical/default values
        char field_separator;       //
        char component_separator;   //
        char repetition_separator;  //
        char escape_character;      // &\0\0MSH\0\0';
                    if (tree) {

(With the old regex we lost a lot of code!)

After:

    struct msh {
        char field_separator;
        char component_separator;
        char repetition_separator;
        char escape_character;
        char subcomponent_separator;
        char message_type[4];
        char trigger_event[4];
    };

Change-Id: Iac35413d480cc7b05b820cb3b292f87ed30e6801
Reviewed-on: https://code.wireshark.org/review/30265
Petri-Dish: Jeff Morriss <jeff.morriss.ws@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-10-20 06:59:20 +00:00
Peter Wu 0f3a4db657 tools/validate-commit.py: post-commit hook to check for commit issues
During review we might overlook issues with the commit messages. Some
commits somehow ended up IP addresses or local VM hostnames as author
address. Automate detecting such issues as well as other whitespace
issues with the commit message itself (detected by commit-msg).

Note: when installing as post-commit hook, it will also be executed when
doing things like 'git reset --hard'.

Change-Id: Ic638e7f51d89277ac359c04764effb69eb4f2fa1
Reviewed-on: https://code.wireshark.org/review/30225
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-10-18 04:51:00 +00:00
Peter Wu ca50195f11 validate-diameter-xml.sh: do not hard-code temporary directory
In the event that validation fails, the hard-coded temporary directory
would remain present. Use of a fixed hard-coded directory also prevents
concurrent runs.

Change-Id: I29f09dc004b1ab3578b4a9c51ea7e1a5b526159f
Reviewed-on: https://code.wireshark.org/review/30231
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
2018-10-17 15:02:42 +00:00
Peter Wu 84fd2d7968 licensecheck: fix detection of multiple licenses
licensecheck.pl: by the time the second license is evaluated, the $2
variable was already invalidated. Fix that and make it possible for
checklicenses.py to check for multiple license choices.

Change-Id: I8e9e788c33ccd64e85839c82924e28a504f6ae8f
Reviewed-on: https://code.wireshark.org/review/30223
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Dario Lombardo <lomato@gmail.com>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2018-10-16 08:25:43 +00:00
Guy Harris d2879a61bd json-glib requires GLib 2.37.6 or later.
Go for 2.37.6 for now; we may want to use a newer version.

Change-Id: Icce58716d5f7cb8367e7ff83cad070b2fcd7e1c2
Reviewed-on: https://code.wireshark.org/review/30213
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-10-14 20:09:22 +00:00
Peter Wu 189792f145 macos-setup.sh: fix missing json_glib version check
Change-Id: I3d1fecebd4cb0a7b7656cfb3342f68c4e4f929cf
Fixes: v2.9.0rc0-1933-ge9d353112e ("tools: add libjson-glib to macos-setup.")
Reviewed-on: https://code.wireshark.org/review/30196
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2018-10-14 07:21:43 +00:00
Peter Wu 1df0aca487 macos-setup.sh: fix missing bcg729 version check
Reorder spandsp for consistency with the installation steps.

Change-Id: If9ade381ef7316efb4cce0dbc6486c33d44dd9f8
Fixes: v2.5.0rc0-583-ge23e28da22 ("Add bcg729.")
Reviewed-on: https://code.wireshark.org/review/30195
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2018-10-14 07:21:03 +00:00
Gerald Combs c5d46c1986 Tools: Compress our tarball using threads.
Check to see if xz supports threads and enable them if that's the case.

Change-Id: I8a0e7100fec98e5b7d7ccd9a987f7782bf7c7512
Reviewed-on: https://code.wireshark.org/review/30137
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-10-12 05:04:45 +00:00
Peter Wu 353ad11974 checkAPIs.pl: check for return/goto in TRY/CATCH blocks
As documented in epan/exceptions.h, return/goto should never be used in
a TRY/CATCH/FINALLY block as ENDTRY must be executed first. Additionally
clamp the exit code since values larger than 255 will wrap around. Use a
small value as shells typically use 128+signal for termination signals.

Verified against packet-t125.c and ftype-protocol.c while they suffered
from the return bug. Tested against packet-gssapi.c for lack of false
positives (goto with labels within the function) and against:

    int main() {
        TRY {
            goto bar;
            goto omg;
            goto bar;
            goto barrie;
    barrie: ;
        } ENDTRY;
    bar: meh;
    }

Change-Id: I44484add34e238e07a84fc2c74b69f50ba6dc3f3
Ping-Bug: 15189
Reviewed-on: https://code.wireshark.org/review/30097
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-10-10 04:07:20 +00:00
Gerald Combs 1666d89107 Tools: Add systemd-devel to rpm-setup.sh.
Change-Id: Ib6599926146b58cff66dda978c61b6a705f7565d
Reviewed-on: https://code.wireshark.org/review/30000
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-10-03 19:33:38 +00:00
Dario Lombardo 3a0f45ea1e debian: add libsystemd-journal-dev as alternative.
Required for building on ubuntu 14.04.

Change-Id: I2ebdceb1c73d093458adc05cf38629ac0b50c9e4
Reviewed-on: https://code.wireshark.org/review/29990
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2018-10-03 16:39:58 +00:00
Gerald Combs 50dbe4df7f Rename packet-ssl* to packet-tls*
Rename packet-ssl{,-utils}.[ch] to packet-tls{,-utils}.[ch].

Change-Id: I4732162ec131ddf0734b3dd191ccc9e48a76ce06
Reviewed-on: https://code.wireshark.org/review/29659
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-09-25 13:24:17 +00:00
Peter Wu bf0ceafaf9 checkhf.pl: speed up find_remove_ei_defs and remove_if0_code
Remove leading spaces early such that the regex in find_remove_ei_defs
can avoid (falsely) matching every line (saves 97% for packet-rrc.c).
Copy the improved remove_if0_code from checkAPIs.pl (saves 600ms).

packet-ieee80211.c used to spend 240ms and now completes in 165ms.
packet-rrc.c used to spend 53.7s and now completes in 0.85s.

Change-Id: I6469f7c11839fab2f33c49d3c839473f1d4902d2
Reviewed-on: https://code.wireshark.org/review/29795
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-09-24 17:54:52 +00:00
Dario Lombardo e9d353112e tools: add libjson-glib to macos-setup.
Change-Id: I3cb83065da67891903559c1da1b45f772e656de9
Reviewed-on: https://code.wireshark.org/review/28946
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-09-24 04:18:42 +00:00
Peter Wu 73644b3f76 checkAPIs.pl: speed up check_value_string_arrays and remove_if0_code
The initial execution time on packet-ieee80211.c was 940ms. Optimize:
- Assume that "static const value_string ... = { ... };" does not have
  other preceding stuff (including optional whitespace). This speeds up
  check_value_string_arrays and reduces runtime by 440ms to 500ms.
- Rewrite remove_if0_code to avoid invoking a substitution for every
  line. This reduces runtime by 130ms to 370ms.

packet-rrc.c used to take 9.4s. The fixes improved it to 3.0s and 2.8s.

Change-Id: Ifc7efa447d64dccba3e211f0741099451b61b95a
Reviewed-on: https://code.wireshark.org/review/29794
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-09-24 04:03:50 +00:00
Peter Wu ed0741ffbd fix-encoding-args.pl: fix terrible performance with large files
"fix-encoding-args.pl epan/dissectors/packet-ieee80211.c" used to take
over 12 seconds to complete. After this change it is reduced to 400ms.
Profiling with Devel::NYTProf showed two issues:
- find_hf_array_entries (5 seconds): matching leading whitespace
  triggers a candidate match against every line. Fix this by removing
  whitespace prior to matching.
- fix_encoding_args_by_hf_type (7.5 seconds): executing 2131 different
  substitution patterns is slow. Fix this by grouping field names and
  execute the substitution only once afterwards (in total 6 calls).

packet-rrc.c is by far the largest file with 215k lines, this used to
take forever (321s) and now completes in 1.3s.

Regression tested by removing "ENC_ASCII" and "ENC_UTF_8" in
dissect_venue_name_info, the expected warnings are still visible.

Change-Id: I071038e8fcb56474ac41223568ce6724258c059d
Reviewed-on: https://code.wireshark.org/review/29789
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-09-22 15:44:20 +00:00
Guy Harris 731e182392 Get rid of unused variable, update a comment.
We no longer use red.libssh.org, so the file number isn't needed any
more.

Change-Id: I4cc6eb242eac51219742731cfa82a7bfe9fff2c3
Reviewed-on: https://code.wireshark.org/review/29771
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-09-21 05:28:42 +00:00
Guy Harris bc65ce1eca Try downloading libssh directly from www.libssh.org.
Downloading from red.libssh.org got "curl: (51) SSL: no alternative
certificate subject name matches target host name 'red.libssh.org'" on
my Mojave virtual machine.

Change-Id: Iab8016c4dc5200c80bff3c0cdc776bc922f4dd59
Reviewed-on: https://code.wireshark.org/review/29768
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-09-21 05:21:24 +00:00
Guy Harris 711a8596ae Update the URLs for GnuPG.
Use HTTP rather than FTP; the FTP server appears no longer to be
available.

Change-Id: I4446cc48818f419a341880da53db8670170794ae
Reviewed-on: https://code.wireshark.org/review/29765
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-09-21 04:45:27 +00:00
Peter Wu 1a63f1ca9b checkAPIs.pl: improve value_string validation in field definitions
Use of 32-bit value_string for 64-bit fields currently results in a
runtime error during use, better catch it earlier. Use of 64-bit
val64_string without BASE_VAL64_STRING will probably crash.

Since many dissectors use no macro for value_string_ext, accept both
VALS_EXT_PTR(x) and &x forms.

Change-Id: I59a3f67425e7c00bdd54cbffd91e498ee0b078cd
Reviewed-on: https://code.wireshark.org/review/29756
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-09-20 23:01:03 +00:00