Commit Graph

43389 Commits

Author SHA1 Message Date
Joey Salazar 28dbab369d git: Add test cases
Add git dissection test cases to existing testing suite for: finding git
packets, finding the Git Protocol version, finding the right amount of
Flush and Delimiter packets, not finding Malformed packets.

Part of #17093
2021-08-30 06:34:52 +00:00
Tobias Mueller 853d55b871 pcapng: declare offset to be volatile to fix build error on aarch64
This attempts to fix an error encountered when building Wireshark on aarch64:

[254/2488] Building C object epan/dissectors/CMakeFiles/dissectors.dir/file-pcapng.c.o
FAILED: epan/dissectors/CMakeFiles/dissectors.dir/file-pcapng.c.o
/usr/bin/cc -DG_DISABLE_DEPRECATED -DG_DISABLE_SINGLE_INCLUDES -DWS_BUILD_DLL -I. -isystem /usr/include/glib-2.0 -isystem /usr/lib/aarch64-linux-gnu/glib-2.0/include -isystem /usr/include/libxml2 -isystem epan/dissectors -isystem epan -fvisibility=hidden  -fexcess-precision=fast -Wall -Wextra -Wendif-labels -Wpointer-arith -Wformat-security -fwrapv -fno-strict-overflow -Wvla -Waddress -Wattributes -Wdiv-by-zero -Wignored-qualifiers -Wpragmas -Wno-overlength-strings -Wno-long-long -Wredundant-decls -Wframe-larger-than=32768 -fdiagnostics-color=always -Wunused-const-variable -Wshadow -Wold-style-definition -Wstrict-prototypes -Wlogical-op -Wjump-misses-init -Werror=implicit -Wno-pointer-sign -std=gnu99 -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection -fmacro-prefix-map=/run/build/wireshark/= -fmacro-prefix-map=/run/build/wireshark/= -O2 -g -DNDEBUG -fPIC -Werror -MD -MT epan/dissectors/CMakeFiles/dissectors.dir/file-pcapng.c.o -MF epan/dissectors/CMakeFiles/dissectors.dir/file-pcapng.c.o.d -o epan/dissectors/CMakeFiles/dissectors.dir/file-pcapng.c.o -c epan/dissectors/file-pcapng.c
epan/dissectors/file-pcapng.c: In function ‘dissect_spb_data’:
epan/dissectors/file-pcapng.c:1599:9: error: variable ‘offset’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Werror=clobbered]
 1599 |     int offset = 0;
      |         ^~~~~~
epan/dissectors/file-pcapng.c: In function ‘dissect_epb_data’:
epan/dissectors/file-pcapng.c:1791:9: error: variable ‘offset’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Werror=clobbered]
 1791 |     int offset = 0;
      |         ^~~~~~
epan/dissectors/file-pcapng.c: In function ‘dissect_pb_data’:
epan/dissectors/file-pcapng.c:1541:9: error: variable ‘offset’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Werror=clobbered]
 1541 |     int offset = 0;
      |         ^~~~~~
cc1: all warnings being treated as errors
[255/2488] Building C object epan/dissectors/CMakeFiles/dissectors.dir/packet-autosar-nm.c.o
[256/2488] Building C object epan/dissectors/CMakeFiles/dissectors.dir/packet-bblog.c.o

Fixes: https://gitlab.com/wireshark/wireshark/-/issues/17554
2021-08-30 05:49:52 +00:00
Jiří Engelthaler 40aebad079 IEC104: Added Counter integrrogation command qualifier dissection 2021-08-30 04:51:11 +00:00
Guy Harris 3cb6403a4c wiretap: always allocate a block for a record.
Without that, you could add a comment to a record in a file format the
reading code for which doesn't allocate blocks, but the comment doesn't
get saved, as there's no block in which to save the comment option.

This simplifies some code paths, as we're either using the record's
modified block or we're using the block as read from the file, there's
no third possibility.

If we attempt to read a record, and we get an error, and a block was
allocated for the record, unreference it, so the individual file readers
don't have to worry about it.
2021-08-29 19:12:13 -07:00
Berk Akinci 0ba0d4e779 USB HID: Fix Usage Maximum typo
Fix typo preventing 'Usage Maximum' values from being parsed.
Values were were reported as 'Usage:'.
2021-08-29 20:02:25 +02:00
Berk Akinci 64a76cca7f USB HID: Update to match HID Usage Tables version 1.22
Add camera control page (0x90). Usages are up to date with HID Usage
Tables for USB version 1.22.
2021-08-29 20:02:16 +02:00
Martin Mathieson eb2078e89e Thrift: make some functions static. 2021-08-29 11:59:38 +01:00
Jörg Mayer c8656a2dcb New dissector for EXOS internal capture extra header 2021-08-29 14:11:34 +00:00
Joakim Andersson ed9e958a2e nordic_ble: Update text for channel to include index
Update channel to include index to clear up possible confusion if this
is RF channel, or channel index.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2021-08-29 13:37:23 +00:00
Joakim Andersson eda513d972 btle: Update text for channel to include index
Update channel to include index to clear up possible confusion if this
is RF channel, or channel index.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2021-08-29 13:37:23 +00:00
Allan Møller Madsen 23a3daefbf BTHCI: Add new Bluetooth v5.3 HCI commands/event dissection
New HCI commands/event dissected:
- LE Set Data Related Changes Command
- LE Set Default Subrate Command
- LE Subrate Request Command
- LE Subrate Change Event

5.3 version number added, LE event mask, supported commands and
LE feature bitmaps updated.
2021-08-29 13:09:57 +00:00
Joakim Andersson 1f0251a82d nordic_ble: Mark failure to decrypt reason as CRC error over MIC error
A packet that has been received by the sniffer with CRC errors will not
decrypted properly by the sniffer. Mark the decrypt failure reason as
CRC error instead of MIC error.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2021-08-29 12:53:43 +00:00
Evan Huus 7124525d24 epan: remove a few more uses of wmem_packet_scope 2021-08-29 11:38:25 +00:00
Guy Harris bce7cbf529 lapd: clean up variable names, remove unnecessary initialization.
Use "flags" for the OPT_PKT_FLAGS option value, as we do elsewhere.  Use
"lapd_flags" for the variable holding the LAPD flags.

We don't need to initialize flags, as we extract the OPT_PKT_FLAGS
option into it immediately after initializing it (if the attempt to get
that option fails, it's not set, but it's not used, either).
2021-08-29 08:34:46 +00:00
Guy Harris 5e2fb6c000 packet-frame: assorted cleanups.
Remove unnecessary initializations.

Rename the variable for the packet ID option to match the name of the
option (it's epb_packetid in the pcapng spec, with no underscore between
"packet" and "id").
2021-08-28 23:43:44 -07:00
Jiří Engelthaler b428fa509d IEC104: Added Substituted / Not substituted dissection of CP56Time2a
Closing #17209
2021-08-28 12:39:08 +00:00
Martin Mathieson 70e26d691e Some spelling fixes. 2021-08-27 22:21:40 +00:00
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