Commit Graph

79173 Commits

Author SHA1 Message Date
Pascal Quantin ea311f2e21 MBIM: fix mbim.control.ms_app_info.app_name display 2020-11-13 14:33:19 +01:00
Anders Broman 6228e18648 xml: Add default media type application/vnd.3gpp.mcptt-info+xml 2020-11-13 09:25:54 +00:00
Michael Pergament cb430d2ef2 TCP AO: Add dissection for RFC5925 TCP AO
Add TCP AO option dissector based on RFC5925
2020-11-13 09:04:41 +00:00
Alexis La Goutte 8b512665fc MMRP: Fix wrong offset for service attribute type
Issue reported by Nils Andersen

Close #17005
2020-11-13 08:41:50 +00:00
Gerald Combs 96eec0beb9 Qt: Fetch byte view text font metrics more often.
Add ByteViewText::updateLayoutMetrics, which fetches the character width
and line height.  Call it whenever our font changes and when we're about
to paint. Blind attempt at fixing #15819.
2020-11-12 13:37:56 -08:00
Martin Mathieson 580de09849 Fix a few spelling mistakes. 2020-11-12 09:52:52 +00:00
Huang Qiangxiong 08509b5aa6 Protobuf: feature of adding missing fields with default values
Make Protobuf fields that are not serialized on the wire (missing in
capture files) to be displayed with default values by setting the new
'add_default_value' preference. The default values might be explicitly
declared in 'proto2' files, or false for bools, first value for enums,
zero for numeric types.
Default values are generated in epan/protobuf_lang_tree.c during the
nodes of fields are created. The default_value_xxx() methods of field
descriptor are added into epan/protobuf-helper.c/h and
epan/protobuf_lang_tree.c/h files.

close #17000
2020-11-12 07:24:51 +00:00
Nardi Ivan 5e45f770fd QUIC: fix handling of Key Update
After a key update, we should update Packet Protection cipher but
we shouldn't touch the Header Protection one.
With the current code, PP and HP ciphers are quite entangled and we
always reset both of them. Therefore, at the second key update we
reset the used 1-RTT HP cipher too; no wonder even header decryption
fails from that point on.

To properly fix this issue, all the ciphers structures has been rewritten,
clearly separating PP code from HP one.

Close #16920
Close #16916
2020-11-11 21:55:51 +00:00
Hideaki HAYASHI 986a4712ba epan: BGP Prefix-SID attribute SRv6 SID support
[Update] BGP Prefix-SID definition (from draft-ietf-idr-bgp-prefix-sid-05 to RFC8669).
[Support] BGP Prefix-SID SRv6 SID (draft-ietf-bess-srv6-services-05)
2020-11-11 13:26:18 +00:00
Gerald Combs 33e63d19e5 RTPS: Fixup our coherent set map.
coherent_set_tracking.coherent_set_registry_map uses a struct as a key,
but the hash and comparison routines treat keys as a sequence of bytes.
Make sure every key byte is initialized. Fixes #16994.

Call wmem_strong_hash on our key in coherent_set_key_hash_by_key instead
of creating and leaking a GBytes struct.
2020-11-10 10:54:38 -08:00
Martin Nyhus 8e93097147 bt-dht: don't iterate on strings in values
Each peer in a get_peers response has its own entry in the list, unlike
the way nodes are represented, so if we see a string_len we don't
recognize (like 18 for IPv6 peers) treating it as several IPv4 peers
doesn't make sense.
2020-11-10 08:39:53 +00:00
Chuck Craft 3730eb251f Qt: enable sorting for Help->About tables 2020-11-10 07:52:18 +00:00
Jaap Keuter 57fc841aea RTCP: try to continue dissection with partial SRTCP packet
When due to limited capture length the tailing part of the SRTCP packet
is missing it might be impossible to know the encryption status of this
packet. Before retrieving that information make sure that's even possible,
otherwise continue as if not encrypted.
2020-11-10 07:29:51 +00:00
Martin Mathieson 07f048f1f2 parsing enterprises file: comment and slightly simplify
This is roughly 10% of tshark startup time.
- Enterprise string does not need to be trimmed at the beginning
- No need to call g_hash_table_replace() as keys are just guint32
2020-11-10 05:54:54 +00:00
Pau Espin dfa8a3fe5a rlcmac: Fix EGPRS UL data block TLLI endianess
According to TS 44.060, figure 10.3a.2.1, note 2, the TLLI is
encoded in little endian for EGPRS (while big endian is used in GPRS).
2020-11-09 12:59:54 +01:00
Gerald Combs d0b0094bf3 WSUG: Add a note about verifying downloads. 2020-11-09 08:56:28 +00:00
Gerald Combs c394a7a87b Kafka: Fixup returned offsets and initialize variables.
Many of the Kafka dissector's type dissection routines either returned
an offset or -1 in the event of an error. We don't appear to check for
errors anywhere, so ensure that those routines always return a valid
offset.

Make those routines always initialize their type offset and length
variables. Fixes #16985.
2020-11-08 14:03:31 -08:00
Martin Mathieson 913001b817 Opensafety: fix some item lengths 2020-11-08 20:56:41 +00:00
Gerald Combs e1c72bd47c [Automatic update for 2020-11-08]
Update manuf, services enterprise numbers, translations, and other items.
2020-11-08 19:09:19 +00:00
Nardi Ivan a175435c0a QUIC: improve migration support
We should keep track of CID reported in Preferred Address Transport Parameter

Close #16915
2020-11-08 15:26:42 +00:00
Gerald Combs d5f2657825 epan: Limit our bits in decode_bits_in_field.
Limit the number of bits we process in decode_bits_in_field, otherwise
we'll overrun our buffer. Fixes #16958.
2020-11-07 19:51:20 +00:00
Gerald Combs 51145c62e6 wiretap: Update pcapng systemd timestamp handling.
It's easy to create systemd blocks with a missing or invalid
__REALTIME_TIMESTAMP= field when fuzz testing. If that's the case, leave
WTAP_HAS_TS unset instead of returning an error. Fixes #16965.
2020-11-07 17:53:14 +00:00
Martin Mathieson 50dcb5d6f4 Fix some more item lengths. 2020-11-07 14:29:43 +00:00
João Valverde b65ff23d6b IPv6: Try to fix CID 1468890
Without a default swich case Coverity flags a possible
divide by zero error.

While at it remove unneeded initializers because it is a symptom
of the same issue.
2020-11-07 00:36:46 +00:00
Martin Mathieson d90f8da3d8 Fix some more item lengths. 2020-11-06 20:36:15 +00:00
John Bankier 3632642980 SMB: Dissection of Dynamic Access Control specific ACEs
Added dissection for Dynamic Access Control (DAC) specific ACEs.
These are Conditional ACEs, System Resource Attribute ACEs and System
Scoped Policy ID ACEs.

A Condition ACE must be one of the following types:
    ACE_TYPE_ACCESS_ALLOWED_CALLBACK
    ACE_TYPE_ACCESS_DENIED_CALLBACK
    ACE_TYPE_ACCESS_ALLOWED_CALLBACK_OBJECT
    ACE_TYPE_ACCESS_DENIED_CALLBACK_OBJECT
    ACE_TYPE_SYSTEM_AUDIT_CALLBACK
    ACE_TYPE_SYSTEM_AUDIT_CALLBACK_OBJECT

Such an ACE may include a conditional expression (that will, if
present, be evaluated to determine whether or not the ACE allows or
denies access). If a conditional expression is present the ACE data
will start with the string "artx". The remainder of the ACE data will
be the conditional expression which is simply a list of tokens
(see MS-DTYP for details of each token type). With this change,
filter "nt.ace.cond" can be used to find packets containing one or
more Conditional ACEs and their details are dissected.

A System Resource Attribute ACE has a name, value type and a list of
values. The value types are: INT64, UINT64, STRING, SID, BOOLEAN and
OCTET_STRING (i.e. binary data). With this change, filter "nt.ace.sra"
can be used to find packets containing one or more System Resource
Attribute ACEs and their details are dissected.

System Scoped Policy ID is simply a new ACE type and it does not
require any new dissection. The SID associated with a System Scoped
Policy ID ACE will start with S-1-17 and identifies the "Central
Access Policy" that should be used.
2020-11-06 18:52:04 +00:00
John Thacker ac34f3e8b6 RPM+CI: Update and fix for Fedora 33, CentOS 8, OpenSUSE Leap 15.2
Re-enable Fedora build and add CentOS 8 and OpenSUSE 15.2 builds.
Fedora 33 does out of build tree cmake builds and needs spec file changes.
CentOS 8 has some changes with cmake and other packages that are similar to
older Fedora, and needs extra repositories enabled to get -devel packages
(still missing -devel for some optional libraries). OpenSUSE Leap 15.2 also
has some changes needed to build. Note that OpenSUSE Leap 15.1 is EOL
at the end of November 2020. Fixes #16971
2020-11-05 17:58:16 -05:00
Jaap Keuter 57b6666920 giop: free the buffer where its at
Followup on commit 40ce72f1a8
2020-11-05 16:32:55 +01:00
John Thacker 84ddbf373e RTCP: Initialize padding_item
Declare padding_item outside the while loop and initialize it, as we
want the value from the previous loop iteration when using it for
expert_info. Fixes clang build warnings.
2020-11-05 13:36:10 +00:00
Jaap Keuter 40ce72f1a8 giop: don't use packet scope for allocating a buffer at init time
Followup on commit 2c2ee172eb
Also when reading in lines from the file don't use packet scope.

Fixes #16984
2020-11-05 11:47:10 +01:00
Pau Espin 9d5de22a88 rlcmac: Handle properly LI=0 in GPRS data blocks and identify spare bits
The previous handling of LI=0 was a confusion with the LI=0 meaning from
EGPRS (see TS 44.060 B.8.2 Example 2) data block.
2020-11-05 07:31:14 +00:00
Huang Qiangxiong 1fff3cb106 Protobuf: fix bug about parsing negative enum value number
Change PT_DECIMALLIT, PT_OCTALLIT and PT_HEXLIT tokens to uint64
type, and make PT_IDENT excluding '-' numbers which will be parsed
in protobuf_lang.y. That negative enum number and number type of
constant can be correctly parsed.
Note, intLit is uint32 for parsing fieldNumber and enumNumber,
but might be uint64 as constant.

close #16988
2020-11-05 07:08:09 +00:00
Gerald Combs 30c392f166 Tools+test: Call python3 explicitly.
PEP 394[1] says,

"In cases where the script is expected to be executed outside virtual
 environments, developers will need to be aware of the following
 discrepancies across platforms and installation methods:

  * Older Linux distributions will provide a python command that refers
    to Python 2, and will likely not provide a python2 command.

  * Some newer Linux distributions will provide a python command that
    refers to Python 3.

  * Some Linux distributions will not provide a python command at all by
    default, but will provide a python3 command by default."

Debian has forced the issue by choosing the third option[2]:

"NOTE: Debian testing (bullseye) has removed the "python" package and
 the '/usr/bin/python' symlink due to the deprecation of Python 2."

Switch our shebang from "#!/usr/bin/env python" to "#!/usr/bin/env
python3" in some places. Remove some 2/3 version checks if we know we're
running under Python 3. Remove the "coding: utf-8" in a bunch of places
since that's the default in Python 3.

[1]https://www.python.org/dev/peps/pep-0394/#for-python-script-publishers
[2]https://wiki.debian.org/Python
2020-11-05 06:46:35 +00:00
Stig Bjørlykke ebfa1f8a4b wslua: Return nil from Dissector.get() when not found
Return nil from Dissector.get() and DissectorTable.get() when the
reference is not found. This can be used to check for existence of
a dissector or dissector table before use.

We already do this for DissectorTable.get_dissector().
2020-11-05 06:23:24 +00:00
ishaangandhi 9b46447bb1 IPv6: Add dissector for Compact Routing Header (CRH) 2020-11-05 05:48:07 +00:00
Jaap Keuter 1dd8b133ee RTCP: expert item on non-final packet padding flag
RFC 3550, Section 6.4.1 describes that the padding flag may only be set
on the last packet in a compound RTCP packet. Add an expert item if that
is not the case.
2020-11-05 05:25:31 +00:00
Guy Harris 2c2ee172eb giop: don't use packet scope for allocating a buffer at init time.
You can't use packet scope if you're not dissecting a packet;
read_IOR_strings_from_file() is called from giop_init(), which is called
when a file is opened, not when dissecting a packet.

Use NULL as the scope, which just does a regular allocation, and free
the buffer when we're done.

Expand a comment to indicate that using dissection routines is *also* a
bad idea in code that's not used when dissecting packets.

Fixes #16984.
2020-11-04 16:38:07 -08:00
Gerald Combs dd6b6f48dc Tools: Allow cherry pick lines in validate-commit.py.
Cherry picking tends to add an extra blank line to the commit message.
Update the body check in validate-commit.py to allow for this.
2020-11-04 21:01:52 +00:00
Gerald Combs d71fae8806 Image: Add another icon library link. 2020-11-04 12:32:02 -08:00
Uli Heilmeier 48c09fe046 QT: progress UI: Fix TextLabel string to loading
Change TextLabel to Loading for progress UI
Fixes: wireshark/wireshark#16987
2020-11-04 19:24:36 +00:00
Alexis La Goutte ad1cf5eeb0 QUIC: Fix typo
Reported by Martin Thomson
2020-11-04 07:16:47 +00:00
Stig Bjørlykke a4e9931c98 docbook: Fix example to run tests containing dumpcap 2020-11-03 19:44:36 +00:00
Uli Heilmeier 57e89b6e60 Gitlab: Tweak Bug issue template
Add request to use button "Copy To Clipboard".
2020-11-03 16:17:48 +00:00
Uli Heilmeier 47f10ea819 Gitlab: Fix label for FeatureRequest issue template
Remove quick action for label.
2020-11-03 10:50:05 +01:00
Uli Heilmeier a3b2afab9b Gitlab: Add issue template for Websites
Template to report Websites related issues similar to product "Web sites"
on bugs.wireshark.org.
2020-11-03 08:28:43 +00:00
Taisuke Sasaki 22e595666c ISIS: Add Purge Originator ID TLV (rfc6232) 2020-11-02 22:22:24 +00:00
Orgad Shaneh 321f231bd9 ACDR: Fix dissection of control packets
The recorded protocol on this case is eth and not ip.
2020-11-02 20:44:07 +00:00
Dr. Lars Völker 9ac8dcb3a1 SOME/IP: Cleanup of length field parsing (BUG FIX)
This patch makes the parsing of length fields consistent by moving them
below their parent element and adjusting the length of the parent
element. And it fixes some problems by doing this.

Problems fixed by this:
- Bytes skipped after dynamic length arrays. This resolves #16951
- A byte was ignored before unparsed payload.
- Unions not marking the correct byte range.
- String having the length field twice.

Signed-off-by: Dr. Lars Völker <lars.voelker@technica-engineering.de>
2020-11-02 20:18:52 +00:00
Nardi Ivan 905f304d54 STUN: fix heuristic over TCP
STUN heuristic over TCP (added in 770872790d) doesn't handle multiple
STUN messages in the same TCP payload.

While at it, added a comment (forgotten in 354bbbe7cb) about different
TURN channel support among STUN versions
2020-11-02 19:51:22 +00:00
Martin Mathieson 24d7ff72bb Speed up ethernet entry (manuf and wka) parsing.
This saves around 3% time (profiling a small capture file) at startup.
parse_ether_address_fast() was returning FALSE in some cases
where it shouldn't have, i.e.
- the test for the having hex chars incorrectly discarded any case where the
  msb of any address octet is set, i.e. any value from 80 to f0.
- it now allows ':' and '-' as a separator (so that many of the wka entries
  also match).
2020-11-02 15:52:13 +00:00