Commit Graph

36807 Commits

Author SHA1 Message Date
Dylan Ulis 482794ff2e CIP Safety: Fix TBD bytes expert info 2022-04-29 11:28:01 +00:00
Jonas Falkevik 7284ee091f Diameter: Decode GMLC-Number AVP
Add decoding of the GMLC-Number AVP.
3GPP TS 29.272 GMLC-Number
Encoded as a TBCD-string.
2022-04-27 09:15:45 +00:00
Jonas Falkevik bfdb4c558e epan: refactor dissector E.164 MSISDN number name
Prepare for adding reusing code where only descriptive name differs.
But the numbers are encoded using the same rules.
"E.164 number (MSISDN)" & "E.164 number (ISDN)" for example.
2022-04-27 09:15:45 +00:00
Joakim Karlsson c2444370f4 GTP': correction of Release Identifier Extension 2022-04-26 19:40:28 +00:00
easonweii b72b4cf512 LLDP: Fix malformed packets when EndOfLLDPDU TLV missing
The End of LLDPDU TLV is optional, should not as malformed even if missing.
Resolve it by checking whether the total length of each TLV reaches the total length of TVB.
Close #18029
2022-04-26 19:27:15 +00:00
Joakim Karlsson 74fd19fb10 NAS-5GS: correction of Configuration update command, IE 5GS registration result 2022-04-26 13:54:48 +00:00
Pedro Jose Marron 095043f74b Update Wi-SUN FAN dissector to the last version of the specification
- The latest version of the Wi-SUN FAN specification has added
  a number of Information Elements that need to be supported by
  the dissector.
- Following changes and additions have been included:
  - New Header IEs: LUTT, LBT, NR, LUS, FLUS, LBS, LND, LTO, PANID
    and RT.
  - New Payload IEs: POM, LCP, LFNVER and LGTKHASH
  - New frame types: LFN PAN Advertisements, Solicits and time
    synchronization frame types.
  - Update to the channel spacing names to incorporate the new
    ones defined in FAN 1.1
2022-04-26 13:24:06 +02:00
Peter Wu 62100da7f4 TLS: fix RSA decryption with EMS and renegotiation
The handshake hash is used to derive TLS decryption keys when the
Extended Master Secret (EMS) extension is in use.
ssl_calculate_handshake_hash updates this hash only when the master
secret has not been determined yet.

During TLS renegotiation, there are two master secrets: one before, and
one after. Before this fix, the second calculated master secret is
wrong because the second Client Hello is missing in the handshake hash.
It was missing because the handshake hash was not being updated since
the master secret for the first handshake was still present, and the
decryption state was only reset after that hash update.

To fix this, make sure to clear the SSL_MASTER_SECRET flag before
updating the handshake hash when needed. Additionally, clear the
handshake hash when processing the Client Hello just to make sure that
any previous state is gone.

Fixes #18059
2022-04-25 12:03:32 +00:00
Alexis La Goutte 19dc602fe3 802.11: fix TWT Setup dissection
Duplicate Dialog Token field

Fix #18050
2022-04-24 20:48:04 +00:00
Gerald Combs cfcfbbdd60 [Automatic update for 2022-04-24]
Update manuf, services enterprise numbers, translations, and other items.
2022-04-24 16:39:41 +00:00
John Thacker 91987dc0ab nghttp2: Implement minimum required version 1.11.0
All currently supported Linux distributions have a version greater
than 1.11.0 (and our macOS and Windows versions are also much greater),
and this allows us to use nghttp2_hd_inflate_hd2(), which replaced the
deprecated nghttp2_hd_inflate_hd()
2022-04-24 10:24:11 -04:00
Dylan Ulis e5e78d5da9 CIP Safety: Update more naming/units to match spec 2022-04-24 09:04:12 +00:00
Ben Huddleston 71b3fe0f4b couchbase: Add timestamp to DcpSnapshotMarker encoding
Timestamp is an optional part of the DcpSnapshotMarker value.
2022-04-24 07:54:36 +00:00
Guy Harris 1ee8ead845 Provide the section number for blocks, and show it.
Add a "section number" field to wtap_rec, with a presence flag, and
provide the section number (0-based) for pcapng files.

Display it (1-based) if present.
2022-04-22 18:14:29 -07:00
Gerald Combs 7286e2982a Move the idl directory to epan/dissectors/corba-idl. 2022-04-22 20:36:57 +00:00
easonweii a1e0c34c30 GTP: Minor reconstruction
Extract Method for multiple message parsing for tpdus to simplify things for future bug fixes and to make the code logic clearer.
Encapsulate the following functions:
dissect_gtp_tpdu_by_handle
dissect_gtp_tpdu_as_pdcp_lte_info
dissect_gtp_tpsu_as_pdcp_nr_info
Note: The original code function is not changed.
2022-04-21 17:30:25 +00:00
Gerald Combs 51f5bdc287 FPP: Add null pointer checks.
Add a couple of null pointer checks. Followup to #18043.
2022-04-21 16:49:22 +00:00
Dario Lombardo f067e40166 fpp: check conversation pointer before use.
Fix: #18043.
2022-04-21 16:05:08 +00:00
Yu Gao 49ec7da90e fix pipeline issue 2022-04-21 15:20:34 +00:00
Dylan Ulis 2f41595382 CIP Safety: Fix CRC logic when timestamp rolls over to zero 2022-04-21 15:02:25 +00:00
John Thacker 45da161430 libgcrypt: Remove HAVE_GCRYPT_AEAD , _CHACHA20
Libgcrypt 1.8.0 is required now, so these are always defined.
2022-04-21 07:11:32 -04:00
John Thacker b80cdaa243 libgcrypt: Require version 1.8.0
Libgcrypt 1.8.x is required for a large amount of decryption
support and is the current LTS version of libgcrypt. The 1.6 and
1.7 series have been end-of-life since 2017-06-30 and 2019-06-30,
respectively.

The Linux distributions that have versions of libgcrypt before 1.8.0
are nearing or at end of support (RHEL7, SLES 12, Debian stretch,
Ubuntu 16.04LTS) and can be supported by the Wireshark 3.6 LTS release
series.

Remove an enormous amount of ifdefs based on libgcrypt versions
1.6.0, 1.7.0, and 1.8.0. There will be a second pass for the
commons defines HAVE_LIBGCRYPT_AEAD, HAVE_LIBGCRYPT_CHACHA20, and
HAVE_LIBGCRYPT_CHACHA20_POLY1305, which are now always defined.

The ISAKMP dissector has some comments noting that some workarounds
were used for libgcrypt 1.6 that aren't needed with 1.7; perhaps
that could be updated now.
2022-04-20 21:30:21 -04:00
Andoni Diaz de Cerio 373280bc65 MIKEY: Register the application/mikey MIME type 2022-04-20 08:30:13 +00:00
Vahap Emin Agaogullari b51c70ae11 LLDP: Profinet TSN TLV Dissection
Profinet TSN TLV Dissection implemented
2022-04-20 07:44:57 +00:00
Alexis La Goutte 26be00e320 ieee80211: Fix clang analyzer warning (Dead.Store)
also indent
2022-04-20 07:25:17 +00:00
Dario Lombardo 33dca395b1 aprs: NULL-terminate a string.
CID: 1495842
2022-04-19 20:45:24 +00:00
Dario Lombardo 6c3e4c7304 enip: init address on declaration.
CID: 1499496
2022-04-19 20:45:24 +00:00
Dario Lombardo 7cbb6e9a76 dissectors: init memory before use.
CID: 52571445-27
2022-04-19 20:45:24 +00:00
Alexis La Goutte e4c46563fb QUIC: Add IMMEDIATE_ACK from ACK Frequency Draft
https://datatracker.ietf.org/doc/html/draft-ietf-quic-ack-frequency#section-6
2022-04-19 18:45:43 +00:00
Alexis La Goutte 69637a731d QUIC: Update to last ACK Frequency draft(-01) 2022-04-19 18:45:42 +00:00
Martin Mathieson 58821b50b5 PDCP-NR: changes to make security keys work better 2022-04-19 15:13:51 +00:00
John Thacker 371b52120b ipp: Use proto_tree_get_parent
It's a little cleaner to use the API to do the same thing, in case
something changes internally.
2022-04-19 13:19:39 +00:00
Andoni Diaz de Cerio d2335dd414 XML: Adding new 3GPP Mission Critical XML media types
Some 3GPP MCS XML media types were not decoded correctly as XML
2022-04-19 12:52:47 +00:00
Pascal Quantin 43828765c3 NR RRC: upgrade dissector to v16.8.0 2022-04-19 12:39:03 +02:00
Pascal Quantin 58af12cac7 LTE RRC: upgrade dissector to v16.8.0 2022-04-19 09:22:58 +00:00
Pascal Quantin 5c7c723feb LPP: upgrade dissector to v16.8.0 2022-04-19 10:05:41 +02:00
Richard Sharpe 8889d8c78b ieee80211: Implement more KDEs from ieee802.11-2016 and on.
I have picked up more KDEs from ieee802.11-2016 and Draft P802.11REVmd_D5.0
and Draft P802.11be_D1.4.
2022-04-17 23:59:26 +00:00
Gerald Combs bce8825df8 [Automatic update for 2022-04-17]
Update manuf, services enterprise numbers, translations, and other items.
2022-04-17 16:37:54 +00:00
Ahmet Alperen Bulut d66c29ab07 IEEE1905: Fix CAC Termination Request's offset calculation
Fixes #18042
2022-04-17 08:49:59 +00:00
Andrii Vladyka f4c7bd9c75 DOCSIS: Fixed RNG-RSP Commanded Power Sub-TLVs dissection 2022-04-16 20:22:53 +00:00
Benedikt Heumüller 90c784bd97 fpp: Fix mCRC calculation
Conversations start at SMD-S and are continued with SMD-C frames
Added CRC information to proto_data of conversation for mCRC calculation
Continue checksum calculation for faulty fragments
Reassembly information added to info column
Reworked packet_direction
2022-04-16 18:46:05 +00:00
Arne Schwabe c2c20a6f2d Implement parsing of OpenVPN tls-crypt packets
This implements parsing the packets in tls-crypt mode. Parsing is very
limited since tls-crypt encrypts the packets. Since detecting tls-crypt
is not easy apart from two tls-crypt-v2 specific opcodes, it is preference
that needs explicitly set.
2022-04-16 13:40:15 +00:00
Dylan Ulis 88719f0884 CIP Safety: Minor Refactoring, Part 2 2022-04-16 06:57:13 +00:00
easonweii b4a15f8be3 BER: Add the length check of dissecting BER integers, int64, and booleans
Add the length check of dissecting BER integers, int64, and booleans, the expert info is added for bad lengths, includes the name of the field and actual length.
Related to #18005
2022-04-15 11:56:17 +00:00
Chuck Craft 98793186b9 CQL: format timestamp as microseconds (ENC_TIME_USECS)
Closes #18038
2022-04-14 19:08:55 +00:00
Gerald Combs b51a635bce BACapp: Fix a recusion check.
Make sure fAbstractSyntaxNType() always decrements its proto_depth on
exit. Fixes #18039.

Remove a no-longer-needed p_add_proto_data() call.
2022-04-14 18:16:42 +00:00
Dylan Ulis 943c38d606 CIP Safety: Minor Refactoring, Part 1 2022-04-13 20:48:41 +00:00
Dylan Ulis 3c25b69ff6 CIP: Correct DATE, DATE_AND_TIME type handling, Part 2 2022-04-13 20:22:29 +00:00
Dylan Ulis 234db3b48f CIP Safety: Display human readable timestamps 2022-04-13 20:04:40 +00:00
Pascal Quantin 50ada3d65c NGAP: workaround a gcc 10.2.1 compilation issue
Fixes #17858
2022-04-13 16:58:54 +02:00
John Thacker 01239eb59d whois: Assume UTF-8, add an expert info
Move the assumption for WHOIS responses to UTF-8 (which is backwards
compatible with ASCII), and add an expert info regarding that
assumption. There is no indication for encoding in the protocol.
Using Show Packet Bytes is sufficient for most purposes, but someone
could add a preference if desired.
2022-04-13 12:29:12 +00:00
Gerald Combs ca04f4c8cb Qt: Update our dynamic menu groups.
Add log-specific statistics groups, and use them to limit the dynamic
menu items in Wireshark and Logwolf.
2022-04-12 12:14:03 -07:00
John Thacker 4c7865c81b whois, finger: Dissect at FIN (or after) on first pass
The WHOIS and finger dissectors wait to dissect at FIN, but they
need to actually dissect at FIN (or at reassembled out of order
segments after FIN) on the first pass instead of returning without
dissecting.

Only add data reassembled at FIN to the tree if it was actually
reassembled at the FIN frame; if it was reassembled in the first pass
at a later frame due to out of order segments, it will be added there.

In addition to fixing first pass dissection, this also fixes the
case where the FIN segment is the first segment with data. Fix #18037.
2022-04-12 08:29:48 -04:00
Chuck Craft 3aee6ce9d6 ACN/rdmnet: add protocol check to TCP heuristic 2022-04-12 09:29:47 +00:00
Anders Broman 096947337e PER:Add function to add "PER encoded lable" to the tree. 2022-04-12 08:33:36 +02:00
Yu Gao ceef8aa8ee fix the indent 2022-04-11 19:39:11 +00:00
Gerald Combs 1c9538624f [Automatic update for 2022-04-10]
Update manuf, services enterprise numbers, translations, and other items.
2022-04-10 19:23:47 +00:00
Matthias Ringwald d23fec2116 bluetooth: show packet status in info column 2022-04-09 22:57:34 +02:00
Matthias Ringwald 50de7dd6ca bluetooth: show SCO packet type in col_protocol 2022-04-09 19:10:44 +02:00
Pascal Quantin b7ba126644 F1AP: upgrade dissector to v16.9.0 2022-04-08 16:41:20 +00:00
Pascal Quantin ab71cb51ff XnAP: id-TargetNodeID is a protocol IE 2022-04-08 16:11:40 +00:00
Pascal Quantin 894762b654 X2AP: fix a typo 2022-04-08 15:42:00 +00:00
Pascal Quantin 82f268789c E1AP: upgrade dissector to v16.9.0 2022-04-08 17:12:15 +02:00
Pascal Quantin 3bf9bc6326 XnAP: upgrade dissector to v16.9.0 2022-04-08 16:45:15 +02:00
Pascal Quantin c9353fdece NGAP: upgrade dissector to v16.9.0 2022-04-08 14:16:59 +00:00
Pascal Quantin 4b42dcf3c0 X2AP: upgrade dissector to v16.9.0 2022-04-08 13:46:58 +00:00
Pascal Quantin e101aa6e78 S1AP: upgrade dissector to v16.9.0 2022-04-08 15:22:29 +02:00
Joel Colledge ddbafcd9ba DRBD: Add support for dissecting DRBD on InfiniBand
InfiniBand and RDMA over Converged Ethernet (RoCE) are handled by the
infiniband dissector. Register DRBD as a dissector for infiniband
payloads.

Not yet implemented:
* Dissection of data payloads. For P_DATA and similar packets, the data
  payload is transmitted over multiple packets. Only the first packet
  containing the DRBD header is dissected.
* Dissection of the InfiniBand Immediate Data. DRBD uses this for
  sequence numbers and for indicating which stream the packet belongs
  to.
* Any attempt to associate packets into conversations. This could be
  achieved when the connection packets have been captured, but would be
  very difficult otherwise.
* An association with infiniband.cm.req.serviceid.dport. When using
  RoCE, this is the port that the user specifies for the connection, so
  it would be useful to associate it with the DRBD conversation and show
  it. Otherwise it is tricky to identify DRBD connections.
2022-04-07 19:13:14 +00:00
Thomas Jansen aac695d62e icmpv6: Fix dissection of PREF64 option for shorter prefixes
RFC 8781 shows in section 4 that the prefix field of the PREF64 option
header is always 96 bits (or 12 bytes), regardless of the prefix length
code that only specifies which parts of the prefix are significant. The
option itself thus always has a fixed length. Even if they are not used
in the significant part of the prefix itself, the unused bits are still
part of the prefix field of the PREF64 option and the offset must be
adapted accordingly.

The previous implementation would fail to correctly parse any PREF64
option with a PLC other than 0 (i.e. the full 96 bits) due to the unused
remaining bits in the option not being consumed.

Closes #18033.
2022-04-07 09:09:36 +00:00
Stig Bjørlykke bcb992c4fb nas_eps: Fix typo in function name
Fix typo in dissect_nas_eps_esm_msg().
2022-04-07 07:13:00 +00:00
Richard Sharpe 34f8420d1e ieee80211: Correct the dissection of the 802.11ax Capabilities device class.
The numbers were reversed.

Closes #18030
2022-04-06 18:31:50 -07:00
Matthias Ringwald c3c94ff4fd Bluetooth: print event code for unknown HCI events 2022-04-06 23:35:33 +00:00
Jaap Keuter 8d646c1657 DHCPv6: Fix interpretation of user class data length fields
Closes #18032
2022-04-06 19:11:58 +00:00
Jorge Mora d681da2534 IWARP_DDP_RDMAP: add MPA error codes given by RFC6581 2022-04-06 18:55:55 +00:00
Jorge Mora c59315c45a IWARP_DDP_RDMAP: add MPA error codes given by RFC5044
Add error type name mapping for the LLP (Lower Layer Protocol).
Add error code name mapping for the MPA Error type.
2022-04-06 18:55:55 +00:00
Jorge Mora 6630bee851 IWARP_DDP_RDMAP: fix error codes for RDMA layer
Display the error code name only if it is not an RDMA Local
Catastrophic error type.
2022-04-06 18:55:55 +00:00
Jorge Mora d4cfae1b72 IWARP_DDP_RDMAP: change Terminate header bits to set-notset 2022-04-06 18:55:54 +00:00
Jorge Mora 72b44d13ea IWARP_DDP_RDMAP: fix Terminate opcode tree hierarchy
The Terminate Control tree should be under the Terminate tree.
2022-04-06 18:55:54 +00:00
Jorge Mora 63c1b032c8 IWARP_DDP_RDMAP: fix Terminate layer name mapping 2022-04-06 18:55:54 +00:00
John Thacker c2e1ee2e57 tcp: Rework out of order dissection to dissect sooner
Rework the out of order dissection to store the out of order
segments and add them to reassemblies only after the gaps are filled.
This allows reassembly of contiguous segments to be dissected when
they can, instead of having to wait for all segment gaps to be
filled. In cases where a segment has an erroneous later sequence number,
this prevents reassembly from being completely halted.

It is now guaranteed that when the subdissector is called that the
segment from the current frame is either the first segment of the
MSP or has bytes that were requested from the last call of the
subdissector. This makes it easier to split MSPs in a later commit.
MSPs now always have the first segment with the sequence number,
so MSP_FLAGS_MISSING_FIRST_SEGMENT and first_frame_with_seq are
obsolete and can be removed later.

This fixes a long standing TODO in the out of order test in
suite_dissection.py

Dissection is more consistent between the first pass and later
passes, though there is more to be done.
2022-04-06 08:41:58 -04:00
Maxim Sharabayko 0e269659ec srt: added reference to the internet draft 2022-04-06 05:52:10 +00:00
John Thacker f5567200fa tcp: Mark unreassembled PDUs as fragmented in tcp_dissect_pdus
PDUs on TCP streams can fail to be reassembled for a variety of reasons,
most of which can be determined by the TCP dissector before calling
a subdissector.  However, individual subdissectors can have their own
preference indicating not to desegment, and this cannot be handled until
the subdissector calls tcp_dissect_pdus(). Fix #18027.
2022-04-06 00:04:19 -04:00
João Valverde b4a0b30f88 Regenerate ASN.1 dissectors 2022-04-05 23:14:16 +01:00
Richard Sharpe 454552c149 ieee80211: Conform to ieee802.11-2016 for the Capability Info field.
The format and meaning of the bits in the Capability information field
has been different than what was implemented since at least 802.11-2016.

Defined in 9.4.1.4 Capability Information field.
2022-04-05 13:24:58 +00:00
Ahmet Alperen 498760b628 IEEE1905: Fix miscalculated offset 2022-04-05 03:28:50 +00:00
Chuck Craft 49c434d012 BER: breakout multi-octet length field 2022-04-05 02:27:00 +00:00
Martin Mathieson ffba3dd487 RLC-NR: Don't overwrite SDAP config from RRC with 0. 2022-04-04 10:50:28 +00:00
João Valverde fbd32cf853 Replace g_log() calls with ws_log() 2022-04-04 01:33:58 +00:00
John Thacker ac7583c065 tpkt+rdp: Add a heuristic dissector for TPKT for RDP
Port 3389 is IANA assigned for RDP, but on TCP it can appear over
TPKT with or without underlying TLS, depending on the RDP Security
Settings. Add a heuristic dissector for TPKT. The heuristic is a
little weak so disable it by default for the general case, but
register it as a PINO specifically for the IANA assigned port.

On port 3389, by default Wireshark now tries heuristics for TPKT
and TLS (ordering depending on whether "Try heuristic sub-dissectors
first" is enabled for TCP). Once it finds a packet that passes
the heuristics, it sets the conversation dissector and from then
on will desegment/report Continuation Data as appropriate. This
is nicer than having to manually configure Decode As for RDP
standard encryption (without TLS). Related to #17952, #17437.
2022-04-03 19:02:47 +00:00
Gerald Combs 381ba88152 [Automatic update for 2022-04-03]
Update manuf, services enterprise numbers, translations, and other items.
2022-04-03 16:43:35 +00:00
Stig Bjørlykke 16871f66d7 coap: Change text format used in COL_INFO
Change to use format_text() and format_text_string() on strings
used in COL_INFO to explicitly show '\n' and such.
2022-04-03 12:07:33 +02:00
Martin Mathieson 6065552dd4 Skinny: revert previous change 2022-04-02 15:05:40 +00:00
John Thacker 6dfd96f6fe rdp: Register RDP as a TLS subdissector for port 3389 directly
ssl_dissector_add registers TLS as the dissector for TCP for the given
port. We can't use it, since on port 3389 TPKT (for RDP) can be over TLS
or directly over TCP, depending on the RDP security settings.
Fix #17952.
2022-04-02 07:47:07 -04:00
Martin Mathieson cf629e2547 ZBNCP: Fix some filter names. 2022-04-02 11:21:14 +00:00
Dylan Ulis 436abf4cf7 CIP: Show Attribute ID as decimal 2022-04-01 20:01:53 +00:00
Nan Xiao 1997a86634 EVS: Refactor dissecting compact format code 2022-04-01 19:32:34 +00:00
John Thacker 856cd96bb3 http2: Use the actual maximum table size for partial header workaround
Use the actual maximum table table size, which may have been set to
a value other than the default 4096, to fill the table with dummy
entries. Fix #17936
2022-04-01 12:10:48 +00:00
Stig Bjørlykke e6202cf1d9 coap: Format text used in COL_INFO
Use format_text_wsp() on strings from packet used in COL_INFO to
show non-printable characters as C-style escapes.
2022-04-01 12:42:58 +02:00
Dylan Ulis f23a774819 CIP: Correct DATE type handling 2022-04-01 07:13:56 +00:00
Dror Eiger af716cdb4a Geneve: add parsing of GCP options 2022-03-31 19:05:56 +00:00