Commit Graph

35671 Commits

Author SHA1 Message Date
John Thacker f997f28898 AMQP: Fix dissection of PDUs split across TCP segments
AMQP calls a subdissector table before tcp_dissect_pdus() is used to
desegment PDUs (see commit 27c10ed72e),
so pinfo->can_desegment needs to be restored before it is decremented
a second time.  Fixes #14217.
2021-08-27 12:23:00 +00:00
John Thacker 0e3782831a SMB: Don't canonize filenames to ASCII for Export Objects
Windows can allow Unicode in filenames now, and export_object.c
has its own eo_massage_str function that the GUI and CLI already
call to create safe filenames when they are saved. There's no need
for an individual dissector like SMB to have its own (worse)
implementation of the same functionality, and to call it before
filenames are displayed. Fix #17530
2021-08-27 08:24:55 +00:00
Jeroen Sack 0ceaaad763 Isobus-VT: Fix description of auxiliary input status enable message
Show if message indicates that auxiliary input was enabled or disabled
2021-08-27 08:04:54 +00:00
Jeroen Sack 2468cfefe2 Isobus: Change email address
Used my work email previously, but have not been working for them for a long
time already.
2021-08-27 08:04:54 +00:00
Triton Circonflexe d4de52690f Thrift: Complete handling of Binary & Compact protocols
- Make sure reassembly requests & errors are properly propagated from
  any point in the PDU, no matter how many sub-structure levels.
- Handle the sub-dissection methods as well:
  - Ensure the sub-dissection methods handle errors from previous calls.
  - Reduce the error handling needed in sub-dissector implementations.
  - Add missing sub-dissection methods for list, set, and map.
  - Add the handling of sub-structure.
- Handle Compact protocol in addition to the existing binary protocol.
  - Include and improve MR !3171
  - Handle reassembly the same way as for binary protocol.
  - Handle sub-dissection with the same functions.
    => Sub-dissectors only depend on .thrift files.

Additional changes:
- Use of constants instead of hard-coded values.
- Removed U64 support (never supported by thrift code generator, only
  referenced in the C++ thrift library header but not supported in reality.
- Removed references to UTF-8 and UTF-16 string for the same reason.
- Replaced references to UTF-7 string with just string (same reason).
- Replaced references to byte with i8 as the documentation explicitly
  states that byte is a compatibility name.

Documentation reference:
- https://thrift.apache.org/developers
- https://thrift.apache.org/docs/idl.html
- https://github.com/apache/thrift/blob/master/doc/specs/thrift-compact-protocol.md
- https://erikvanoosten.github.io/thrift-missing-specification/
- https://diwakergupta.github.io/thrift-missing-guide/

Closes #16244

Additional changes:
- Add authors and improve consistency
- Fix typo and clarify documentation
2021-08-27 06:04:17 +00:00
Michael Tuexen b17f354304 Add initial support for BBLog files 2021-08-27 04:48:21 +02:00
Alexis La Goutte fef6a490cc woww: Fix Dead Store (Found by Clang Analyzer) 2021-08-27 00:09:26 +00:00
Tomasz Moń 7370516d21 USBLL: Reassemble transactions into transfers
Create pseudo URB and pass the reassembled data to USB URB dissector.
Reassembly for control transfers is not problematic as the transfer
length is known. For bulk transfers assume the transfer can span across
multiple transactions, however for periodic (interrupt and isochronous)
assume the transfer never spans across multiple transactions.

Rely on USB dissector to provide endpoint maximum packet size. Actual
interface/configuration handling in USB dissector needs to be reworked
as the code assumes that there is only one configuration and alternate
interface configurations have matching endpoints.

While the reassembly bulk transfers and never reassemble periodic
transfers result in pretty good dissection, the USB class dissectors
need a mechanism to provide transfer size hints to USBLL dissector.
Such hint is not needed for software USB capture as software sniffers
essentially capture URBs and every transfer is associated with one URB.
The problem can be seen for example in Mass Storage Class where it is
common for data transfers length to be multiple of endpoint maximum
packet size. Because USBLL dissector doesn't know expected transfer
size, it combines together data and status transport.

Related to #15908
2021-08-26 17:50:18 +00:00
Reinhard Speyerer da8e7086f6 gsm_sim: add decoding for GET IDENTITY and GET DATA
Add support for decoding instruction byte 78 (GET IDENTITY) from
TS 102 221 v15.11.0 and instruction byte CA (GET DATA) which is used to
retrieve the EID for eSIMs according to GSMA SGP.02 v4.2 available from
https://www.gsma.com/esim/esim-m2m-specifications/.

Closes #17548.
2021-08-26 17:29:22 +00:00
Michail Koreshkov 88657fd57e gtp: alternative GSN address decoders
All fields with GSN address were decodes as common hf_gsn_addr. But if
ETSI order is used, it's possible to specify alternative decoder
depending on message type and field position.
Alternative decoder for GSN address was added for mandatary fields and
optional/conditional field in the case there is single GSN address in
message.

Added new function as common dissector for all addr types.
2021-08-26 16:25:15 +00:00
Christian Krump 28bc920e27 EPL: fix length detection of SDO 'read by index'
correction of the length-calculation of SDO 'read by index' payload data
2021-08-26 12:09:50 +00:00
Dr. Lars Völker 322ae5037a Signal PDU: Speed up dissection
This patch speeds up the dissection of signal pdus, if not filtering.
With an example trace file full of signal PDUs, I gained about a 4x
speed up in opening the trace.
2021-08-26 07:20:12 +00:00
Joerg Mayer 280085838b packet-extreme.c EDP Link TLV: Decode some flags
Fix a signed vs. unsigned warning while at it.

Whitespace fixes
2021-08-25 21:04:11 +00:00
Alexis La Goutte f7755972c9 LDP: Display Generic label with DEC
Fix #17539
2021-08-25 20:12:28 +00:00
Nardi Ivan 1f28ac3ef5 DoQ: update to latest draft (-03)
See https://www.ietf.org/archive/id/draft-ietf-dprive-dnsoquic-03.txt
2021-08-25 19:23:20 +00:00
Gerald Combs f6e2cdcc54 HTTP3: Define dissect_http3_settings only if needed.
Define dissect_http3_settings only if HAVE_LIBGCRYPT_AEAD is defined.
This should hopefully fix

```
epan/dissectors/packet-http3.c: In function 'dissect_http3_settings':
epan/dissectors/packet-http3.c:212:9: error: implicit declaration of function 'http3_is_reserved_code' [-Werror=implicit-function-declaration]
         if (http3_is_reserved_code(settingsid)) {
         ^
epan/dissectors/packet-http3.c: At top level:
epan/dissectors/packet-http3.c:200:1: warning: 'dissect_http3_settings' defined but not used [-Wunused-function]
 dissect_http3_settings(tvbuff_t* tvb, packet_info* pinfo _U_, proto_tree* http3_tree, guint offset)
 ^
cc1: some warnings being treated as errors
```

on the CentOS 7 builds.
2021-08-25 17:54:47 +00:00
Taisuke Sasaki 95f3f58e0d ISIS: Fix Flexible Algorithm issues
- Fix "Priority" field name in FAD TLV (draft-ietf-lsr-flex-algo-16)
- Fix SABM/UDABM length in ASLA TLV (rfc8919)
2021-08-25 17:35:26 +00:00
Tomas Kukosa 522414a091 ITS: use custom value format for DSRC element DeltaTime 2021-08-25 16:29:23 +00:00
Maxime Meignan 09a993da39 NTLMSSP: Remove unnecessary condition in decryption
If a "NT Password" value is provided by the user, the NTLMSSP decryption
should take place, whether or not Kerberos decryption option is enabled
 (disabled by default).
2021-08-25 16:11:11 +00:00
Maxime Meignan 1e697fb7ff NTLMSSP: Allow empty NT passwords for decryption
NT Accounts may have empty passwords; this allows the dissector to try
decrypting the NTLMSSP session using an empty password (when "NT
Password" preference is left blank).
2021-08-25 15:53:55 +00:00
David Perry 697f28c1d3 RTPS: use proto_data instead of private_table
Rewrite storage and retrieval of `endpoint_guid`s to use private proto
data instead of `pinfo->private_table` which was meant solely for Lua
use.

Closes #17156
2021-08-25 15:37:03 +00:00
Arkady Gilinsky cbada6faf4 oampdu: Improve Queue object parsing
Signed-off-by: Arkady Gilinsky <8351139-ark-g@users.noreply.gitlab.com>
2021-08-25 15:20:29 +00:00
Anders Broman d884af52e9 F1AP: Make it possible to exort F1AP PDUs 2021-08-25 10:19:37 +00:00
Gtker 75881ac914 WOWW: Add maps enum and strings
The "unused versions" are not unused in Wireshark, they're just
literally called `unused` for some reason.

DBC file:
https://wowdev.wiki/DB/Map#1.12.1.5875

SMSG_CHAR_ENUM:
https://wowdev.wiki/SMSG_CHAR_ENUM
2021-08-25 08:41:17 +00:00
Gtker 07da0d01ef WOWW: Rename _zone to _area and add strings
`Zone` is not entirely correct, since the value can also be used for
areas within a zone.

AreaTable:
https://wowdev.wiki/DB/AreaTable#1.12.1.5875

SMSG_CHAR_ENUM:
https://wowdev.wiki/SMSG_CHAR_ENUM
2021-08-25 08:41:17 +00:00
Gtker cf28565d4d WOWW: Fix class enum
Original values were incorrect.

Mangos link:
e45aa74e0f/src/game/Server/SharedDefines.h (L75)
2021-08-25 08:41:17 +00:00
Gtker 41eeb05bd1 WOWW: Add case for messages without bodies
This will allow distinguishing messages that have been handle, but have
no body, and unhandled messages (default case).
2021-08-25 08:41:17 +00:00
Gtker a9831231e7 WOWW: Add movement messages 2021-08-25 08:41:17 +00:00
Gtker bc440490c5 WOWW: Refactor parse_SMSG_CHAR_ENUM to take ptvcursor_t 2021-08-25 08:41:17 +00:00
Alexis La Goutte fbabba338c HTTP3: Add define value for HTTP3 Frame Type
use switch for support dissect of other H3 frame_type
2021-08-25 07:48:48 +00:00
Alexis La Goutte f0fa2b333a HTTP3(Settings): Append settings with value 2021-08-25 07:48:48 +00:00
Alexis La Goutte b0bd1c4c2a HTTP3(Settings): Support of GREASE frame 2021-08-25 07:48:48 +00:00
Alexis La Goutte d8618462f5 HTTP3: Add Settings from QPACK (draft-ietf-quic-qpack-21) 2021-08-25 07:48:48 +00:00
Alexis La Goutte b70fa0d4ad HTTP3: Add Settings dissection 2021-08-25 07:48:48 +00:00
Adam Mitz 1089bd47f8 RTPS: fixed expected size of fragment number set
The size of this submessage is 8 + the number of 32-bit ints
needed for the value of the num_bits field to be represented
in the bitmap.
2021-08-25 07:15:28 +00:00
John Thacker 7bd16e0dd9 MP2T: Fix packet length for short packets
Small payload packets that fit into a single TSP without
fragmentation are dissected without ever being placed in
the reassembly table, so fragment_get_reassembled_id returns
NULL even on the second pass and later. Handle them (and
distinguish that case from packets not reassembled because they
were at the end of a capture.)

Add a few comments to clarify what's going on.
2021-08-25 06:57:41 +00:00
Lin Sun 5e59ffd12d [build] fix warnings for unused variables 2021-08-24 18:47:15 +00:00
ismaelrti ed2d004181 RTPS: Fixed UDPv4 WAN locator port encoding and always dissecting of all fields
Always dissecting the UUID IP and port of UDPv4 WAN no matter the
locator flags set. Also fixing the port encoding.
2021-08-24 16:54:22 +00:00
Evan Huus 678541878c h248: convert to pinfo->pool
This one was non-trivial in places and involved converting a few methods
to use strbufs to simplify.
2021-08-24 12:43:52 +00:00
Evan Huus e8f967f162 asn1: convert more dissectors to pinfo->pool
Just h248 left of the asn1 templates, and it's gonna be tricky.
2021-08-24 12:16:15 +00:00
Joakim Karlsson 28ab4bed8e PFCP: added missing PFCP Session Change Info IE 2021-08-24 11:05:35 +00:00
Joakim Karlsson 51327a330b JSON: adding more 3GPP EPS IEs 2021-08-24 12:00:07 +02:00
Guy Harris f7d05a0d0f pdcp-lte: stub out calculate_digest() if we don't support any crypto.
In the non-stub routine, all parameters are used, so remove the _U_.

In the stub routine, mark all unused parameters with _U_.
2021-08-24 01:14:18 -07:00
Guy Harris e3d93143c8 btmesh: don't provide stub custom field formatting routines.
Use the non-stub versions even if we don't have libgcrypt 1.6.0 or
newer; yes, it's code that won't ever be used, but if you want to
eliminate waste, remove all the fields that aren't used if we don't have
libgcrypt 1.6.0 or later.

This avoids the need to create stub routines, making the code a bit less
confusing (and avoiding the risk of using those fields with
non-functional formatting routines).

It also eliminates "function argument unused" warnings when building
with an older version of libgcrypt, and does so more cleanly than adding
a bunch of _U_s to the stub functions.
2021-08-24 00:40:50 -07:00
Martin Mathieson 36793d1298 ORAN: Fix width of TRX weight pair in ext11.
It depends upon the iqwidth, was hardcoded to uncompressed
16-bit weights.
2021-08-23 18:03:38 +01:00
Martin Mathieson febd96affd PFCP: Fix a conflict in ie_type value_string 2021-08-23 14:31:37 +00:00
Martin Mathieson 381e2a35f9 ORAN FH CUS: Fix inclusion of C section 5 fields 2021-08-23 15:12:05 +01:00
ismaelrti 030a80f8a9 RTPS: Added dissection of submessage DATA_FRAG_SESSION.
Introduced new submessage DATA_FRAG_ASESSION (id 0x81). It is the same
as a DATA_FGRAG_submessage but with an extra sequence number field
called "virtualSeqNum".
2021-08-23 11:25:14 +00:00
Martin Mathieson d3b016a365 Remove trailing colons from item label names
This is a new check added to check_typed_item_calls.py --label

Ignoring cases where item type is FT_NONE, as fpr tjpse
text was appended that otherwise would lack a colon.
2021-08-23 08:32:56 +00:00
Dr. Lars Völker d3392ffb55 BLF: Fixing Typo to fix FlexRay Status 2 2021-08-22 23:27:58 +00:00