Commit Graph

2701 Commits

Author SHA1 Message Date
David Perry 1f59c18769 Change some `wmem_packet_scope()` to `pinfo->pool`
As requested [here][1] by @eapache, help with removing calls to
`wmem_packet_scope()` in favour of references to `pinfo->pool`.

* Plugins chosen semi-randomly.
* When a calling function already has a `pinfo` argument, use that.
    * Remove `_U_` from its signature if it was there.
* If a function seems narrowly focused on getting and (possibly)
  returning memory, change the function signature to take a
  `wmem_allocator_t *`.
* If it seems more focused on packet-based operations, pass in a
  `packet_info *` instead and use `pinfo->pool` within.
    * If there are several functions defined with the same call
      signature, add `pinfo _U_` to the argument list of similar
      functions in order to maintain clarity/symmetry.

[1]: https://www.wireshark.org/lists/wireshark-dev/202107/msg00052.html
2023-02-25 05:32:48 +00:00
Guy Harris a4b61bc069 gryphon: fix handling the ioctl code in a response.
It's not in the response message, it's taken from the request message,
so display it with a zero offset and length, so it doesn't match any
bytes in the packet.

It's a 32-bit field, so make it an FT_UINT32.
2023-02-21 00:34:05 -08:00
Martin Mathieson f4e9b9d4a8 Check that value_string values fit into field width 2023-02-20 08:33:34 +00:00
Alexis La Goutte 144de50d41 profinet: fix conflict 2023-02-17 19:06:18 +00:00
Martin Mathieson 8812c5ed20 Fix some spelling errors 2023-02-09 19:37:20 +00:00
John Thacker e8db896c62 PROFINET: Add strings with proto_tree_add_item
Add strings with proto_tree_add_item instead of tvb_memcpy,
appending a null, and a proto_tree_add_string so that the
strings are validated for encoding, trailing nulls, etc.

Fix #18847
2023-02-07 07:20:27 -05:00
Martin Mathieson ed8ee831fd More fussing with items and calls. 2023-01-31 17:32:05 +00:00
Gerald Combs 24ab9c0aaa Falco bridge+falcodump: Scan for personal plugins 2023-01-19 00:17:08 +00:00
John Thacker 058400d8e0 ECATMB: Get filename with encoding when adding to column
When retrieving a string, don't just use tvb_memcpy, even if
expected to be ASCII (because it might have errors.)

This doesn't get truncated, even if all replacement characters,
because the eventual returned buffer is 200 octets long and the
max filename is 49.

Fix #18800
2023-01-17 12:41:58 +00:00
Martin Mathieson 4dd78f11c9 Fix various issues seen with tools/check_typed_item_calls.py 2023-01-16 15:35:04 +00:00
Gerald Combs de16040021 CMake: Rename SINSP_PLUGINS to FALCO_PLUGINS 2023-01-12 02:21:15 +00:00
Gerald Combs 640c44f24e CMake: Specify Falco plugins manually.
Falco plugins don't yet have a standard installation location, and even
when they do we might not want to install all of them. Remove plugin
detection from FindSinsp.cmake and note that you should just pass the
paths to your plugins in SINSP_PLUGINS.
2023-01-11 15:37:46 -08:00
Matthias Isele ddb187fe0c fixes #18777 wrong decoding order in parseDiagnosticInfo 2023-01-04 10:31:24 +00:00
Martin Mathieson d17c018013 tools/check_typed_item_calls: check FT_BOOLEAN mask length 2022-12-15 13:28:05 +00:00
João Valverde 79c3a77752 Add macros to control lemon diagnostics
Rename flex macros using parenthesis (mostly a style issue):

DIAG_OFF_FLEX -> DIAG_OFF_FLEX()
DIAG_ON_FLEX  -> DIAG_ON_FLEX()

Use the same kind of construct with lemon generated code using
DIAG_OFF_LEMON() and DIAG_ON_LEMON(). Use %include and %code
directives to enforce the desired order with generated code
in the middle in between pragmas.

Fix a clang-specific pragma to use DIAG_OFF_CLANG().

DIAG_OFF(unreachable-code) -> DIAG_OFF_CLANG(unreachable-code).

Apparently GCC is ignoring the -Wunreachable flag, that's why
it did not trigger an unknown pragma warning. From [1}:

  The -Wunreachable-code has been removed, because it was unstable: it
  relied on the optimizer, and so different versions of gcc would warn
  about different code.  The compiler still accepts and ignores the
  command line option so that existing Makefiles are not broken.  In some
  future release the option will be removed entirely. - Ian

[1] https://gcc.gnu.org/legacy-ml/gcc-help/2011-05/msg00360.html
2022-11-20 10:11:27 +00:00
Martin Mathieson 709d65883f Fix some cppcheck issues 2022-11-18 10:07:57 +00:00
João Valverde cfbe898dcc CMake: Disable -Werror for flex generated files 2022-11-17 10:23:12 +00:00
João Valverde 09718fb9b3 CMake: Move clang warnings
Move clang warnings to normal set. Let the CMake compatibility
check control the warning.

Fix or work-around -Wunreachable warnings in the code.
2022-11-17 01:35:16 +00:00
John Thacker 1a04473ca8 opcua: Quiet a Coverity warning
It really shouldn't be possible to have a fragment head with
no fragment items here, but quiet Coverity CID 1516904 here.
2022-11-15 17:08:53 -05:00
John Thacker 4f3b028d94 epan: Separate fragment_head and fragment_item
Separate fragment_head and fragment_item into two
different types of structs.

Remove "offset" from fragment_head, which was unused,
making fragment heads 4 bytes smaller.

Remove fragment_nr_offset, datalen, reassembled_in,
reas_in_layer_num, and error from fragment_item,
making them 24 bytes smaller.

Change a few dissectors which were using fragment_head
and fragment_item indistinguishably.

Ping #17311
2022-11-14 01:18:11 +00:00
Tim Potter b484c41811 wimaxasncp: Fix dissection of message type in packet header
It looks like there was a cut&paste error a long time ago resulting
in the wimaxasncp.message_type field being incorrectly detected as
unused and commented out. Closes #18424.
2022-10-13 14:51:03 +00:00
Dirk Ziegelmeier 8f7d0b2af5 Fix issue #18391
Profinet PNIO-CM Connect Response Error Decode Incorrect
2022-10-11 11:28:54 +00:00
Guy Harris 3db17dab82 transum: expert infos are not Boolean fields.
They're of type FT_NONE, meaning that they do not have values, they're
just present or not.

Handle the TCP analysis fields "tcp.analysis.retransmission" and
"tcp.analysis.keep_alive", both of which are expert infos, by just
seeing if they're present or not.

Fixes a problem mentioned in a comment in merge request !8412.
2022-10-10 16:00:53 -07:00
David Perry 68a581afdc esl_eth: support nanosecond timestamps
Applies the patch from #18308, in lieu of original commenter doing so.

Closes #18308
2022-10-08 14:01:19 +00:00
Guy Harris b2cbc6f034 TRANSUM: fix fetching of Boolean values.
As of a change many years ago, Boolean values are stored as 64-bit (the
change was made to handle Boolean bitfields in 64-bit fields).  Fix the
extractor for Boolean values to fetch from the 64-bit unsigned integer
field, and, while we're at it, add a change that the field in question
really *is* a Boolean field (the functions used to fetch the value in
the other extractors do such a check).
2022-10-05 14:57:08 -07:00
David Perry b2ace05edc TRANSUM: claim 0 bytes of packet data
The TRANSUM post-dissector performs timing analysis, and does not
dissect any of the packet data; all its calls to `proto_tree_add_foo()`
claim 0 bytes. So this fix claims 0 bytes for the overall TRANSUM
protocol tree as well.

Fixes #18241
2022-09-29 11:17:36 +00:00
Jaap Keuter b092fa05da Replace the last of PROTO_ITEM_ macro calls with function calls 2022-09-29 05:59:12 +00:00
Anders Broman 83a0ec0647 opcua: Squelch a couple of warnings by adding casts. 2022-09-07 08:19:39 +00:00
Guy Harris 8195bdd340 Rename a bunch of things with "conversation".
A conversation in Wireshark might have two endpoints or might have no
endpoints; few if any have one endpoint.  Distinguish between
conversations and endpoints.
2022-08-25 20:02:20 -07:00
Gerald Combs f854083fd8 Falco Bridge: Add a NULL check. 2022-08-19 04:38:05 +00:00
Gerald Combs ec1986cb97 Falco Bridge: Update to match falcosecurity-libs 0.8.0.
Update sinsp-span to use the current Falco libs APIs. Update the
FindSinsp CMake module to use pkg-config.
2022-08-15 16:21:47 -07:00
Chuck Craft bbb9610cb3 pluginifdemo: Qt5->Qt6; bump version to 0.0.2 2022-08-15 05:07:46 +00:00
David Perry 43d499ca45 Use `register_dissector()` for more protocols 2022-08-09 18:50:08 +00:00
João Valverde 80f16015e2 epan: Refactor floating point display types
Remove the redundant BASE_FLOAT field display type. The name
BASE_FLOAT is meaningless and the value aliased to BASE_NONE.

Require BASE_NONE instead of BASE_FLOAT (corresponding to
the printf() %g format).

Add new float display types using BASE_DEC, BASE_HEX and BASE_EXP
corresponfing to %f, %a and %e respectively.

Add support for BASE_CUSTOM with floats.
2022-08-02 13:16:46 +00:00
Uli Heilmeier 54b4be9015 ECATMB: Add SDO Information to CANopenType
Fixes #18220
2022-07-23 16:16:27 +02:00
Gerald Combs 75efbb1ac4 Rename Logwolf to Logray
Switch to the name "Logray" for the log analyzer. Rays are biological
cousins of sharks and more people like the name "Logray" in a completely
unscientific survey here. Apologies for any inconvenience this might
cause.
2022-07-06 15:04:25 +00:00
Martin Mathieson eab62aa768 Fix some spellings. 2022-07-06 09:02:37 +01:00
John Thacker 4d57854294 ethercat: Fix EEPROM Ctrl/Status bitmask fields
When the field width was corrected by commit
b240d5baa0, the masks got messed
up. There's 4 reserved bits that don't have fields and the bits
are in Little Endian order. Fix #18132.
2022-06-16 03:51:59 +00:00
Roland Knall 2cf938cfa8 tap: Adding flags for tap_packet
This allows flags to be passed by the registering listener
to the collection of information
2022-06-10 05:46:15 +00:00
Stig Bjørlykke 4fa4cad396 irda: Use correct conversation_new() options
Fix conversation_new() options after they was changed/improved
in commit 709593ee.
2022-06-09 20:59:17 +00:00
Dirk Ziegelmeier 66b73ddd11 Profinet plugin: Dissect writing I&M1 and I&M2, too 2022-05-31 15:29:24 +00:00
Dirk Ziegelmeier 1438336c1d Profinet plugin: Decode more error codes
according to PN Protocol 2.4MU3 April 2022
2022-05-31 15:29:24 +00:00
Gerald Combs be929e162d epan: Allow conversations based on arbitrary element lists.
Add conversation_new_full and find_conversation_full, which take
arbitrary element lists instead of fixed addresses and ports.

Update the comments in conversation.h to be more Doxygen-conformant.
Update README.dissector.

Use the new functionality to add initial conversation support to the
Falco Bridge dissector.
2022-05-23 18:12:26 +00:00
Matthias Dietrich 7b53720999 Use proto_tree_add_item where possible 2022-05-21 07:52:07 +00:00
Matthias Dietrich cc4223f537 Add PA Profile 4.02 diagnostics codes 2022-05-21 07:52:07 +00:00
Matthias Dietrich 85eb9fba4d Dissect PA Profile IO data 2022-05-21 07:52:07 +00:00
Matthias Dietrich 225e90564d Resolve PA Profile 4.02 submodule names 2022-05-21 07:52:07 +00:00
Gerald Combs 6b07710188 Falco Bridge: API updates.
Update to the current (c02ae4b6) API.
2022-05-19 12:52:37 -07:00
Gerald Combs fd76c7ea80 Falco Bridge: Fix address field registration. 2022-05-19 11:16:56 -07:00
Gerald Combs f85d4a5763 Falco Bridge: Fix a couple of bugs.
Make sure a pointer is valid and only initialize our sinsp span once.
2022-05-03 19:29:51 -07:00