Commit Graph

79109 Commits

Author SHA1 Message Date
Guy Harris d09878a74b Fix the way we get high-resolution time.
If we're not on Windows, use clock_gettime(CLOCK_REALTIME) *if* we have
it; otherwise, fall back on gettimeofday().

(Note: neither Linux, nor macOS, nor Windows necessarily "have"
particular APIs; particular *versions* of Linux distributions
(kernel+libc) have them, particular *versions* of macOS have them, and
particular *versions* of Windows+MSVC have them.

And Linux, Windows and macOS aren't the only platforms on which we run.)

Fixes #17101.


(cherry picked from commit ca99a821b4)
2020-12-20 22:31:49 +00:00
Gerald Combs 498192a7b4 [Automatic update for 2020-12-20]
Update manuf, services enterprise numbers, translations, and other items.
2020-12-20 20:08:18 +00:00
Nardi Ivan f209b56885 GQUIC: add decoding of QLVE tag
Latest GQUIC versions encapsulate their first flight in Q043 packets.


(cherry picked from commit bfb889910a)
2020-12-20 14:29:29 +00:00
Nardi Ivan 2fa8940607 QUIC: improve heurist to avoid false positives
Improve visualization of "Version Negotiation" fields


(cherry picked from commit 60401ca54e)
2020-12-20 13:52:21 +00:00
Guy Harris e898cf7257 macos-setup: clean up snappy uninstall to match the trunk version.
[skip ci]
2020-12-19 21:33:42 -08:00
Guy Harris 8ecb2b907f macos-setup: various cleanups.
In uninstall_autoconf, when running uninstall subfunctions, pass the
arguments to the subfunctions.

When uninstalling Ninja, remove the "we've finished installing this"
indicator file.

Get rid of a debugging "set +x".


(cherry picked from commit 9fbf79c045)
2020-12-20 04:44:38 +00:00
Guy Harris ba3e22673a macos-setup: work around a botch in GLib "make distclean".
[skip ci]


(cherry picked from commit f3dc269df6)
2020-12-20 04:37:34 +00:00
Guy Harris 7e54366ef9 macos-setup: don't configure p11-kit to use libffi.
See comment for an explanation.


(cherry picked from commit 1949b6a5ee)
2020-12-20 03:09:15 +00:00
Guy Harris 5e31174b33 macos-setup: remove tabs.
Consistenly use spaces for indentation.


(cherry picked from commit 2db0c64034)
2020-12-20 02:37:58 +00:00
Guy Harris 566f03b3c3 macos-setup: get rid of a debugging "set -x".
(cherry picked from commit ca13c3ce49)
2020-12-20 02:19:11 +00:00
Guy Harris 1aeaf65ea5 macos-setup: fix uninstallation of libtasn1.
Fix a copy-and-pasteo.


(cherry picked from commit f2af1ea66d)
2020-12-20 01:50:54 +00:00
Guy Harris 303ee87fd2 macos-setup: clean up uninstallation of snappy.
For a CMake build done in a subdirectory of the source directory, the
equivalent of "make distclean" is "rm -rf {that subdirectory}".  Make it
so.

When uninstalling the stuff snappy installs with "rm -rf", use $DO_RM,
so it's done with sudo iff /usr/local isn't writable by us, just as
"make uninstall" is done with $DO_MAKE_UNINSTALL so it's done with sudo
iff /usr/local isn't writable by us.

Fix up the list of what to remove, now that we're building snappy as a
shared library, so that it removes shared libraries rather than the
non-existent static library.

Update a comment while we're at it, as Lua isn't the only dependency
that doesn't support "make uninstall".


(cherry picked from commit 7d01e3a74e)
2020-12-20 01:18:15 +00:00
Guy Harris dec868cb42 macos-setup: build snappy as a shared library.
The older versions of snappy apparently used autotools and build a
shared library by default; for example, Wireshark 3.2.6 for macOS is
built with snappy, and includes a snappy dynamic library in the app
bundle.

The current version uses CMake and does *not* build a shared library by
default.  Instead, it builds a static library, which, when you try to
link it to a C-only shared library...

...does not work.

The linker sees that you're statically linking in a bunch of C++ .o
files and gets upset because it can't find C++ standard library routines
used by that code.

If it's a dynamic library, the library was itself already linked with
the C++ standard library, so the external references to that library
from the snappy library are already marked as having been resolved to
the extent that they're expected to be in the C++ standard library at
run time - and, when the dynamic snappy library is built, it's marked as
depending on the C++ standard library, so the run time linker will, when
it loads the snappy dynamic library, see that the C++ standard library
is required and will load it if it hasn't already been loaded.


(cherry picked from commit e92119c608)
2020-12-20 00:45:17 +00:00
Guy Harris c98e80f365 Snappy uses CMake, and they didn't bother to provide an unintall target.
Or a distclean target, for that matter.

Do the best we can.

(libpcap and tcpdump support both autotools and CMake, and Wireshark
uses only CMake; all of them support an uninstall target in CMake.  Go
forth, read what they did, and sin no more.)


(cherry picked from commit 504f2ea42a)
2020-12-19 23:29:36 +00:00
Guy Harris 0717bf0a99 Work around more NeXTStEP-induced pain.
GNU libtool has a libtool program and a libtoolize program.

The development tools for NeXTStEP, apparently, had a libtool program as
well, and the current version of the development tools for the current
version of NeXTStEP, generally known as "Xcode for macOS", still have
that program.

This means that we do some renaming after installing GNU libtool, so
that its "libtool" becomes "glibtool" and its "libtoolize" becomes
"glibtoolize".

That meant we had to compensate for that when running autoreconf when
building and installing minizip.

It turns out we have to do that when running autogen.sh when building
and installing GLib as well.


(cherry picked from commit 2ecb606142)
2020-12-19 23:06:34 +00:00
John Thacker 5c1c84f415 macOS: Enable PKCS #11 support when building with macos-setup.sh
Enable PKCS #11 support in macOS builds with macos-setup.sh (already
supported on macOS via Homebrew and on all other OSes with GnuTLS 3.4
or greater) by installing p11-kit (and its dependency libtasn1) and
building nettle and GnuTLS against it.


(cherry picked from commit fe1f947540)
2020-12-19 22:41:57 +00:00
Joerg Mayer 6e6b4c9e7a macos-setup.sh: Update various software versions
Update versions of xz, lzip, gettext, libgpg, libgpg-error, libgcrypt, gnutls and gmp
to newest releases.

Also update glib but only to last version with autotools support - meson build is left
for another time.

Current versions of glib require a libpcre with unicode enabled which the Catalina system
version does not provide, so install the current version of libpcre as well.

Update some additional tools to commit 3a42bf0de2b9e35efcc3cea38153ab95cb71b352:
brotli, libmaxminddb, lz4, and snappy

(backported from commit 77e9d7d3f9)

These are the versions being used to build 3.4, so we're updating this
so that the 3.4 source tree's macos-setup.sh can be used to set up the
build environment for 3.4.

[skip ci]
2020-12-19 14:35:39 -08:00
Jaap Keuter af66bef360 IPv6: SRH setup correct DA for pseudo header
When a Segment Routing Header is present in the IPv6 packet provisions
have to be made to setup the right destination address for the pseudo
header used in checksum calculations. When segments are left in the header
the first address in the list has to replace the destination address.

Closes #17097


(cherry picked from commit 7052994a19)
2020-12-19 09:43:01 +00:00
Dr. Lars Völker 3b13b3051f SOME/IP-SD: hidden fields for entries are 16 bytes off (Bugfix)
This patch fixes a bug that lead to 7 hidden fields being off by
16 bytes.

Closes #17091


(cherry picked from commit ff23fb9f0c)
2020-12-19 08:17:47 +00:00
Guy Harris d09e9fe0ea macos-setup: explain why we're running autoreconf on minizip.
[skip ci]


(cherry picked from commit 8b0d19c634)
2020-12-19 07:54:41 +00:00
Guy Harris f647aebf86 macos-setup: fix the name of the -done file for Minizip.
It's minizip-$installed_minizip_version-done, not
zlib-$installed_minizip_version-done; the tarball is
zlib-$installed_minizip_version.tar.gz, because it's a contributed file
in the zlib package, but we don't use zlib in the name of the -done
file.

[skip ci]


(cherry picked from commit 0cdbdcc5a4)
2020-12-19 07:46:25 +00:00
Guy Harris ffb049f040 macos-setup: do "make clean", not "make distclean", for zstd.
It has no configure script, so there's no need for "make distclean", and
the Makefile supplied with it has no "make distclean" rule; just do
"make clean".

[skip ci]


(cherry picked from commit 806f524a10)
2020-12-19 07:21:26 +00:00
Guy Harris 10985f6e27 In Wireshark's version info, indicate whether we were built with Minizip.
We can't determine the version number, as there's nothing in the header
to indicate the version with which we were compiled, nor is there an API
to determine the version with which we're running.


(cherry picked from commit 6498bde741)
2020-12-19 06:42:39 +00:00
Gerald Combs 03ebce0c30 Version: 3.4.2 → 3.4.3.
[skip ci]
2020-12-18 13:57:11 -08:00
Gerald Combs a889cf1b1b Build 3.4.2. 2020-12-18 10:46:47 -08:00
Nardi Ivan 7ac76765fc QUIC: update to draft-33
QUIC (final?) constants for v1 are defined in draft-33


(cherry picked from commit 91bd291b90ab78fa2ccb1eaca27fc1685f6ad0ab)
2020-12-18 07:44:30 +00:00
Gerald Combs 2437f45a49 Prep for 3.4.2. 2020-12-17 16:26:52 -08:00
Guy Harris bd4259557b macos-setup: Update a comment.
Lua isn't the only dependency that doesn't support "make uninstall".

(backported from commit 7d01e3a74e)
2020-12-17 12:33:55 -08:00
Guy Harris d1be8e80e2 Don't assume macOS version numbers are of the form 10.N.
Big Sur goes to 11, and it appears that next year's (San Juan Capistrano?)
will go to 12, and so on.

Split version numbers into major and minor, and do version-number
comparison (alas, whilst CMake has that built in, the Bourne shell
doesn't, and neither does the Bourne-again shell).

This should fix issue #17043.


(cherry picked from commit 8e2815bfc0)
2020-12-17 06:50:37 +00:00
Guy Harris e1535a9aa3 macos-setup: various cleanups.
In uninstall_autoconf, when running uninstall subfunctions, pass the
arguments to the subfunctions.

When uninstalling Ninja, remove the "we've finished installing this"
indicator file.

Get rid of a debugging "set +x".


(cherry picked from commit 9fbf79c045)
2020-12-17 06:23:41 +00:00
Guy Harris 7901947b11 macos-setup: set SDKROOT when running xcrun.
That lets it find the right SDK path if you're not using the default
SDK.

(backported from commit 190442d76e)
2020-12-16 21:59:21 -08:00
Guy Harris 67f0d0ed73 macos-setup: more cleanups.
Fix/update/expand some comments.

Do uninstalls for dependencies using CMake more similarly.

For LZ4, as it comes with a Makefile rather than any
autotools/CMake/etc. configuration, "make distclean" might not be
necessary, so, as it's not supported, just do "make clean".

For libssh, do all removes in the uninstall in a single command, and use
$DO_RM, so that it uses sudo iff /usr/local isn't writable by us.  In
addition, remove the build directory as the equivalent of "make
distclean".

As with libssh, so with brotli.

(backported from commit 02c5f50009)
2020-12-16 21:22:38 -08:00
Gerald Combs 6b950fe6f0 Qt: Force layer backing on Big Sur when needed.
Make sure NSView.wantsLayer is true by setting QT_MAC_WANTS_LAYER=1 at
startup if we're running on Big Sur and we were built with a version of
Qt susceptible to QTBUG-87014. Fixes #17075?


(cherry picked from commit d4b40c0047)
2020-12-17 00:11:52 +00:00
Gerald Combs 4a102163d0 macOS: Add a workaround for libsnappy.
Work around an issue with libsnappy similar to what we do with libssh.


(cherry picked from commit bf45e8c3f1)
2020-12-16 21:39:55 +00:00
Guy Harris 64578cba75 fcdns: the Owner Id field is a 3-octet FC address, not a text string.
Make it FT_BYTES with SEP_DOT, like other 3-octet FC addresses.


(cherry picked from commit 19ffed19bd)
2020-12-16 17:14:54 +00:00
Guy Harris 9bb44ac156 fcswils: fix a comment.
In an ESS capability object, the well-known type and well-known subtype
fields are 1 byte, not 2 bytes.


(cherry picked from commit ed6f6a49aa)
2020-12-16 09:59:27 +00:00
Jaap Keuter 564ec58f6d FC: use ETHERTYPE_UNK when applicable, no excuses
Two interlocking problems cause the dissection of FC to fail in some cases,
as shown in the capture of the related issue.

The FC dissector assumes that ETHERTYPE_UNK in the data structure passed
to it is coming from the MDS header dissector only, and thus that header
sizes have to be taken into account. This is not / no longer the case.
It always passes down ETHERTYPE_FCFT. Therefore the MDS header size
checking does not apply to ETHERTYP_UNK, so is removed as condition.

The other FC related dissectors were forced to setup a data structure to
pass to FC for it to handle that part of the frame. Because these weren't
related to ethernet, these lazily set the ethertype field in the data
structure to 0. This unfortunately matches ETHERTYPE_UNK, triggering the
MDS header size checking in FC, leading to this issue. With the first
problem resolved, now make it explicit that unknown ethertype is indicated
by ETHERTYPE_UNK, not '0'.

Addresses primary part of issue #17084


(cherry picked from commit 3f0fc1b232)
2020-12-15 21:26:37 +00:00
Jaap Keuter e228784c4e FCdNS: use correct header field for field of flags
closes #17084


(cherry picked from commit 354a6fd015)
2020-12-15 20:27:50 +00:00
Nardi Ivan a2ceb50866 QUIC: fix a stack overflow
While at it, fix also a memory leak
Close #17073


(cherry picked from commit 4227e5a1ad)
2020-12-14 11:18:20 +00:00
Gerald Combs f53f5e64d5 [Automatic update for 2020-12-13]
Update manuf, services enterprise numbers, translations, and other items.
2020-12-13 17:27:50 +00:00
j.novak@netsystem.cz c865975463 SNMP: Fix checking of SNMP v3 auth if MD5 method is used
When the user enters row to SNMP Users table in wireshark and Authentication model is set to MD5, row is ignored in processing. The reason is that constant for MD5 is 0, but the code checks if the value is defined by simple 'usm_p.user_assoc' condition. Therefore 0 never succeeds.
As item can have only listed values, I think the check can be removed.
Function verified on sample.

I propose to cherry pick the change to all stable branches.


(cherry picked from commit 7f376c7ced)
2020-12-13 16:47:38 +00:00
Nardi Ivan a16388824b QUIC: fix handling of unencrypted padding data
We must be able to correctly detect valid coalesced packets and
recognize them from random padding.

Close #17011
Close #16914


(cherry picked from commit 0af60377b4)
2020-12-13 11:38:54 +00:00
Andrii Vladyka 4908474b1f DOCSIS: Add FDX support to Downstream Active Channel List MDD TLV
(cherry picked from commit 37f11e9a36)
2020-12-12 20:34:03 +00:00
Pascal Quantin b621801877 Qt: fix crash when opening/saving IP map on Windows
According to https://bugreports.qt.io/browse/QTBUG-20372 you need to close
a QFile before calling fclose, otherwise it leads to an unexpected behavior.
Let's duplicate the file handle to avoid this issue as suggested in
https://stackoverflow.com/questions/9465727/convert-qfile-to-file

Closes #17074


(cherry picked from commit 746051d099)
2020-12-12 14:44:34 +00:00
Jaap Keuter 747a03de06 Qt: Add missing break in Win32 file export init dialog function
(cherry picked from commit b09161d758807a6a08b5afcbfdb416ca0781a946)
2020-12-12 13:50:54 +00:00
Gerald Combs 862a55ae54 Win32: Add an include guard.
Add "#ifdef _WIN32" to file_dlg_win32.c so that it's ignored by
tools/validate-clang-check.sh.


(cherry picked from commit 6e1142c33a)
2020-12-12 12:49:43 +00:00
Gerald Combs bf311c44a5 Tools: skip commit validation for merge trains.
Skip commit validation if it looks like we're in a GitLab merge train.


(cherry picked from commit 404802dc34)
2020-12-12 10:18:33 +00:00
Pascal Quantin 81bcbf0ed6 Qt: create endpoint IP map in temp folder
Closes #17074


(cherry picked from commit 9fb03566c2)
2020-12-12 08:25:57 +00:00
Jaap Keuter 18ada21232 USB-HID: Tertiery is usually three
(cherry picked from commit 976738cd6c)
2020-12-10 22:37:07 +00:00
Pascal Quantin 655cb724fd sshdump: fix detection of custom version in Windows
(cherry picked from commit 10377c4d92)
2020-12-10 06:14:14 +00:00