Its handling of warnings, and of warnings-treated-as-errors, is horribly
broken; once you've asked for a warning, and have specified -Werror,
there appears to be nothing whatsoever that you can do to keep that
warning from being an error *everywhere* in the code.
Prior to change Ib591a1d6beaa13337d927a446b4d8d5e687ff610, the tests for
warnings were all failing on the macOS buildbot, so *no* warnings were
being requested.
With this change, a warning won't be reported as an error, but at least
it'll be reported.
(We should probably switch to using Clang on the macOS buildbot at some
point; I don't know whether the version of Clang currently on the
buildbot is safe to use, but if we ever run a newer version of Xcode,
which doesn't come with llvm-gcc - which may involve running a newer
version of macOS on the buildbot as well - it's presumably safe, given
that it's the only compiler Apple shipped.)
Change-Id: I677967cb87b91f68f08de546e59abff1dbd6788b
Reviewed-on: https://code.wireshark.org/review/29623
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Messages with long headers have a payload length while short header
messages extend to the end of a datagram.
Create a new tvb for every message since the decryption routines assume
that the header starts from the beginning of the tvb.
quic_get_message_tvb tries to avoid throwing exceptions in most cases if
the (payload) length is too large such that dissection can proceed until
the payload is encountered. (One edge case is when the varint cannot
even be read, but then indeed the message is severely malformed.)
Change-Id: Id42f55dfd73905b709b218002b9ca660f6f703f1
Ping-Bug: 13881
Reviewed-on: https://code.wireshark.org/review/29607
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
It was setting EF_TYPE and then clearing it; it should set EF_TYPE and
clear EF_VALS.
Change-Id: Ie0a85a12646c0395e50abb34caf32367e4191da0
Reviewed-on: https://code.wireshark.org/review/29621
Reviewed-by: Guy Harris <guy@alum.mit.edu>
If you specify -Werror and -Wshorten-64-to-32, there does not appear to
be any way to get llvm-gcc *NOT* to treat those warnings as errors - not
with pragmas, and not even with -Wno-error=shorten-64-to-32.
Change-Id: Ia82df3f548085cca8d187c4b43c02060b87f0542
Reviewed-on: https://code.wireshark.org/review/29620
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Replace a tab in an arguments string with a space while we're at it.
Change-Id: Iee6ce920fbd7a883fb23bc798abb7f965e3757e6
Reviewed-on: https://code.wireshark.org/review/29619
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Ninja, at least, complains about tabs.
Change-Id: I65c3458dadc7096773084864d5e3970d1d9d580d
Reviewed-on: https://code.wireshark.org/review/29618
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Prepare for PKN decryption (draft -12) during the initial handshake.
Ping-Bug: 13881
Change-Id: I675086f732e39679bcb94e2e20da3d4bd40d0f2e
Reviewed-on: https://code.wireshark.org/review/29606
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
It appears that -Werror overrides them, at least with llvm-gcc; I guess
the options are evaluated in order.
Change-Id: I0fd9e544a8e191a8950e17e97513912034763645
Reviewed-on: https://code.wireshark.org/review/29615
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Was Apple trying to release a game for Mac OS X, somewhat resembling
Whack-A-Mole, when they went into the lab and had Igor help them stitch
together the GCC front end and the LLVM back end?
Change-Id: If08392c3d244a83f50f62b4d7c878ae9a274ec4b
Reviewed-on: https://code.wireshark.org/review/29614
Reviewed-by: Guy Harris <guy@alum.mit.edu>
See if *that* prevents us from failing with a warning;
-Wno-error=unused-function doesn't seem to do the trick.
Change-Id: If2dec4ca70451670d0181c6cd0c7bc714e856c95
Reviewed-on: https://code.wireshark.org/review/29613
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Always use -Werror if it's supported, even with Apple's llvm-gcc, and
only use -Wno-error= with llvm-gcc. Use -Wno-error= with all the errors
we get in the buildbot.
Change-Id: I6797f064d2d354f979e24fcb04f592e9313af721
Reviewed-on: https://code.wireshark.org/review/29612
Reviewed-by: Guy Harris <guy@alum.mit.edu>
This reverts commit f6b8bc39c6.
Reason for revert: prior to 4.6 or so, the pragmas didn't work as well,
e.g. they couldn't be used inside a function; we depend on them being
usable within a function.
Change-Id: I7a7a0c08a2aca553233c237b8b6c43115095804e
Reviewed-on: https://code.wireshark.org/review/29610
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Apple's llvm-gcc appears not to support suppressing warnings with
pragmas, so, if we're building on a Mac (we check for APPLE), and we're
not using Clang, we don't turn on -Werror, because we rely on those
pragmas to suppress otherwise-unremovable warnings in order to build
warning-free.
Change-Id: I43bd1ab42918c6ba22643b4a2d4cc3618c25434b
Reviewed-on: https://code.wireshark.org/review/29609
Reviewed-by: Guy Harris <guy@alum.mit.edu>
The ieee80211ax D3.0 support got merged accidentally with some issues.
This fixes the remainder of those issues.
Change-Id: I2a3a427e04cb1dca076fd761458de92d4d5e0df2
Reviewed-on: https://code.wireshark.org/review/29602
Petri-Dish: Richard Sharpe <realrichardsharpe@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Replace $HOME with ~ in window title %F variable.
Optimize code to check if variable is used before doing replacement.
Change-Id: I95ef8505e50379d98fdb1661e09394d1ded7ecca
Reviewed-on: https://code.wireshark.org/review/29597
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
The macOS buildbot is currently using llvm-gcc, which is based on GCC
4.2.
Change-Id: I8497243333410380e1d0bc7fa35bccbf841cada1
Reviewed-on: https://code.wireshark.org/review/29596
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Srsly, you're dealing with *one-byte*, *two_byte*, and *four-byte*
values, might as well say "1", "2", and "4" - either sizeof(guint8) is
guaranteed to be 1, sizeof(guint16) is guaranteed to be 2, and
sizeof(guint32) is guaranteed to be 4, in which case you might as well
just use 1, 2, and 4, or they're *not* guaranteed to be 1, 2, and 44, in
which case you *have* to use 1, 2, and 4, because a value other than 1,
2, or 4 is invalid.
Change-Id: I49b354cd619f6fe8d625af0322f4861ad8f9b1f1
Reviewed-on: https://code.wireshark.org/review/29591
Reviewed-by: Guy Harris <guy@alum.mit.edu>
The original reason for having a WARN_FLAGS set of variables has
been lost.
Change-Id: I3eae3cf9d0bad5f3895f6fee59c2c64183c8f244
Reviewed-on: https://code.wireshark.org/review/29526
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
This changeset merges in the changes that have been tested in a resent
test event at the WFA. It will not dissect older D2.x packet captures.
Change-Id: Id38a27a61a6a2a083575448e5c59a8e190827e6d
Reviewed-on: https://code.wireshark.org/review/29512
Petri-Dish: Richard Sharpe <realrichardsharpe@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
- this change re-enables dissection of large lists of sequential objects lacking prefixes.
- corrected some object/variation text in the comments
Change-Id: Ia410f53198e9918509208739c94dbb4df4ecfc25
Reviewed-on: https://code.wireshark.org/review/29582
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Srsly, you're dealing with *four-byte* value, might as well say "4" -
either sizeof(guint32) is guaranteed to be 4, in which case you might as
well just use 4, or it's *not* guaranteed to be 4, in which case you
*have* to use 4, because a value other than 4 is invalid.
Change-Id: I6deb106f326e9402744a2e728468b3ce4c220b02
Reviewed-on: https://code.wireshark.org/review/29586
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Srsly, you're fetching a *two-byte* value, might as well say "2" -
either sizeof(guint16) is guaranteed to be 2, in which case you might as
well just use 2, or it's *not* guaranteed to be 2, in which case you
*have* to use 2, because a value other than 2 is invalid.
Change-Id: I9da8dc66d3a77e98cb0a0a5501655594c509eb87
Reviewed-on: https://code.wireshark.org/review/29585
Reviewed-by: Guy Harris <guy@alum.mit.edu>
(It's llvm-gcc, and appears to be a version too old to support
_Pragma("gcc diagnostic ...").)
Change-Id: I220997890636d5a5c33889d2e6c640feee155deb
Reviewed-on: https://code.wireshark.org/review/29580
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Add some new variables to be used in custom window title.
%F = file path of the capture file
%S = a conditional separator (" - ") that only shows when surrounded
by variables with values or static text
Change-Id: I20a60a3018cc86236f4991030eadb7f51681cc32
Reviewed-on: https://code.wireshark.org/review/29534
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>